文字列リスト全体のコピー(VCL)

提供: RAD Studio
移動先: 案内検索

VCL フォーム アプリケーションの作成方法 への移動


文字列リストをコピーして、既存の文字列リストに追加したり、既存の文字列リストを上書きすることができます。この VCL アプリケーションでは、文字列リストへの追加を行います。少し変更すれば、文字列リストを上書きすることもできます。この VCL アプリケーションの作成は以下の手順で行います。

  1. TButton(2 つ)、TComboBox、TMemo の各コントロールを持つ VCL フォームを作成します。
  2. Button1 の OnClick ハンドラに、文字列リストを作成するコードを記述します。
  3. Button2 の OnClick ハンドラに、文字列リストをコピーするコードを記述します。
  4. アプリケーションを実行します。

ボタン、コンボ ボックス、メモの各コントロールを持つ VCL フォームを作成するには:

  1. [ファイル|新規作成|その他...|Delphi プロジェクト]または[C++Builder プロジェクト]を選択し、[VCL フォーム アプリケーション]アイコンをダブルクリックします。VCL フォーム デザイナが開きます。
  2. [ツール パレット]の[Standard]ページから、TButton コンポーネントを 2 つ、TComboBox コンポーネントと TMemo コンポーネントを 1 つずつ、フォームに配置します。

文字列リストを作成するには:

  1. フォームで Button1 を選択します。
  2. [オブジェクト インスペクタ]で、[イベント]タブの OnClick アクションをダブルクリックします。コード エディタが開き、TForm1.Button1Click(Delphi)または TForm1::Button1Click(C++)のイベント ハンドラ ブロックにカーソルが置かれます。
  3. Delphi の場合、カーソルを予約語 begin の前に置き、Enter キーを押します。これで、コード ブロックの前に新しい行が作成されます。
  4. Delphi の場合、作成された新しい行にカーソルを置き、以下の変数宣言を入力します。
var
  StringList: TStrings;

C++ の場合、以下の変数宣言を入力します。

TStrings *StringList;
  1. コード ブロック内にカーソルを置き、以下のコードを入力します。
StringList := TStringList.Create;
  try
    with StringList do begin
      Add('This example uses a string List.');
      Add('It is the easiest way to add strings');
      Add('to a comboboxs list of strings.');
      Add('Always remember: the TStrings.Create');
      Add('method is abstract; use the');
      Add('TStringList.Create method instead.');
    end; 
    with ComboBox1 do begin
      Width := 210;
      Items.Assign(StringList);
      ItemIndex := 0;
    end;
  finally
    StringList.free;
  end;
 StringList = new TStringList();
try {
  StringList->Add( "This example uses a string list" );
  StringList->Add( "It is the easiest way to add strings" );
  StringList->Add( "to a ComboBox's list of strings." );
  StringList->Add( "Remember to call the TStringList constructor!" );
  ComboBox1->Width = 210;
  ComboBox1->Items->Assign( StringList );
  ComboBox1->ItemIndex = 0;
} __finally {
  StringList->Free();
}

文字列リストをコピーするには:

  1. フォームで Button2 を選択します。
  2. [オブジェクト インスペクタ]で、[イベント]タブの OnClick アクションをダブルクリックします。コード エディタが開き、TForm1.Button2Click(Delphi)または TForm1::Button2Click(C++)のイベント ハンドラ ブロックにカーソルが置かれます。カーソルの位置に以下のコードを入力します。
Memo1.Lines.AddStrings(ComboBox1.Items);
Memo1->Lines->AddStrings( ComboBox1->Items );

アプリケーションを実行するには:

  1. プロジェクト ファイルを保存します。その後、[実行|実行]を選択して、アプリケーションをビルドし実行します。コントロールを持つフォームが表示されます。
  2. Button1 をクリックします。
  3. ComboBox1 の矢印をクリックして、ドロップダウン リストを展開します。TComboBox には、Button1 のイベント ハンドラ コードに記述した順序で文字列が表示されます。
  4. Button2 をクリックします。Memo1 のウィンドウで、文字列 'Memo1' の後に ComboBox1 の文字列が追加されます。

    メモ: Button2 のイベント ハンドラのコードを、以下のコードに置き換えてみます。置き換えたら、アプリケーションをもう一度コンパイルして実行します。

Memo1.Lines.Assign(ComboBox1.Items); 
Memo1->Lines->Assign( ComboBox1->Items );

文字列 'Memo1' が ComboBox1 の文字列で上書きされます。

関連項目