文字列リスト全体のコピー(VCL)
文字列リストをコピーして、既存の文字列リストに追加したり、既存の文字列リストを上書きすることができます。この VCL アプリケーションでは、文字列リストへの追加を行います。少し変更すれば、文字列リストを上書きすることもできます。この VCL アプリケーションの作成は以下の手順で行います。
- TButton(2 つ)、TComboBox、TMemo の各コントロールを持つ VCL フォームを作成します。
- Button1 の OnClick ハンドラに、文字列リストを作成するコードを記述します。
- Button2 の OnClick ハンドラに、文字列リストをコピーするコードを記述します。
- アプリケーションを実行します。
ボタン、コンボ ボックス、メモの各コントロールを持つ VCL フォームを作成するには:
- [ファイル|新規作成|その他...|Delphi プロジェクト]または[C++Builder プロジェクト]を選択し、[VCL フォーム アプリケーション]アイコンをダブルクリックします。VCL フォーム デザイナが開きます。
- [ツール パレット]の[Standard]ページから、TButton コンポーネントを 2 つ、TComboBox コンポーネントと TMemo コンポーネントを 1 つずつ、フォームに配置します。
文字列リストを作成するには:
- フォームで Button1 を選択します。
- [オブジェクト インスペクタ]で、[イベント]タブの OnClick アクションをダブルクリックします。コード エディタが開き、TForm1.Button1Click(Delphi)または TForm1::Button1Click(C++)のイベント ハンドラ ブロックにカーソルが置かれます。
- Delphi の場合、カーソルを予約語 begin の前に置き、Enter キーを押します。これで、コード ブロックの前に新しい行が作成されます。
- Delphi の場合、作成された新しい行にカーソルを置き、以下の変数宣言を入力します。
var StringList: TStrings;
C++ の場合、以下の変数宣言を入力します。
TStrings *StringList;
- コード ブロック内にカーソルを置き、以下のコードを入力します。
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(); }
文字列リストをコピーするには:
- フォームで Button2 を選択します。
- [オブジェクト インスペクタ]で、[イベント]タブの OnClick アクションをダブルクリックします。コード エディタが開き、TForm1.Button2Click(Delphi)または TForm1::Button2Click(C++)のイベント ハンドラ ブロックにカーソルが置かれます。カーソルの位置に以下のコードを入力します。
Memo1.Lines.AddStrings(ComboBox1.Items);
Memo1->Lines->AddStrings( ComboBox1->Items );
アプリケーションを実行するには:
- プロジェクト ファイルを保存します。その後、[実行|実行]を選択して、アプリケーションをビルドし実行します。コントロールを持つフォームが表示されます。
- Button1 をクリックします。
- ComboBox1 の矢印をクリックして、ドロップダウン リストを展開します。TComboBox には、Button1 のイベント ハンドラ コードに記述した順序で文字列が表示されます。
- Button2 をクリックします。Memo1 のウィンドウで、文字列 'Memo1' の後に ComboBox1 の文字列が追加されます。
メモ: Button2 のイベント ハンドラのコードを、以下のコードに置き換えてみます。置き換えたら、アプリケーションをもう一度コンパイルして実行します。
Memo1.Lines.Assign(ComboBox1.Items);
Memo1->Lines->Assign( ComboBox1->Items );
文字列 'Memo1' が ComboBox1 の文字列で上書きされます。