文字列を追加しソートする

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

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


この VCL アプリケーションの作成は以下の手順で行います。

  1. ボタン、ラベル、TListBox の各コントロールを持つ VCL フォームを作成します。
  2. 文字列を追加してソートするコードを記述します。
  3. アプリケーションを実行します。

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

  1. [ファイル|新規作成|その他...] の[Delphi プロジェクト]または[C++Builder プロジェクト]を選択し、[VCL フォーム アプリケーション]アイコンをダブルクリックします。VCL フォーム デザイナが表示されます。
  2. [ツール パレット][Standard]カテゴリから、TButton、TLabel、TListBox の各コンポーネントをフォームに配置します。

ストリームをコピーする手続きを記述するには:

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

Delphi:

var
  MyList: TStringList;
  Index: Integer;

C++:

TStringList *MyList;
int Index;
  1. コード ブロック内にカーソルを置き、以下のコードを入力します。

Delphi:

MyList := TStringList.Create;
try
  MyList.Add('Animals');
  MyList.Add('Flowers');

  MyList.Add('Cars');

  MyList.Sort;
    if MyList.Find('Flowers', Index) then
    begin
      ListBox1.Items.AddStrings(MyList);
      Label1.Caption := 'Flowers has an index value of ' + IntToStr(Index);
    end;
finally
    MyList.Free;
end;

C++:

MyList = new TStringList();
try {
  MyList->Add( "Animals" );
  MyList->Add( "Flowers" );
  MyList->Add( "Cars" );
  MyList->Sort();
  if( MyList->Find( "Flowers", Index ) {
    ListBox1->Items->AddStrings( MyList );
    Label1->Caption = "Flowers has an index of " +
                        IntToStr( Index );
  }
} __finally {
  MyList->Free();
}

メモ: Find が正しく動作するのはソート済みのリストの場合だけです。ソートされていないリストの場合には IndexOf を使用してください。

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

  1. プロジェクト ファイルを保存します。その後、 [実行|実行]を選択して、アプリケーションをビルドおよび実行します。コントロールを持つフォームが表示されます。
  2. ボタンをクリックします。 文字列、'Animals'、'Cars'、'Flowers' が、ListBox のリスト内にアルファベット順に表示されます。 Label キャプションに、次のメッセージ文字列が表示されます:
    'Flowers has an index value of 2'。

関連項目