combobox アイテム追加

解決


優奈  2010-01-25 05:20:35  No: 37242

フォーム上でcomboboxのアイテムを追加できるようにしたいと思っています。

たとえば、1つTEDITを用意しておいて、そこにcomboboxに追加したいアイテムの内容を入力、そしてボタンをクリックすると、新しくcomboboxにアイテムが追加されるというものです。

やり方が分からず困っています。ご存知のかたいますか?

delphi version6です


igy  2010-01-25 05:51:33  No: 37243

ボタンのクリックイベントで、
コンボボックスのItemsプロパティのAddメソッドで追加するのはいかがですか?


KHE00221  2010-01-25 08:43:11  No: 37244

こんな感じ?

procedure TForm3.ComboBox1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
    if Key = 13 then
    begin
      if ComboBox1.Items.IndexOf(ComboBox1.Text) = -1 then
      begin
        ComboBox1.Items.Add(ComboBox1.Text)
      end;
    end;
end;


HOta  2010-01-25 16:16:09  No: 37245

ボタンを押した場合ですね。

procedure TForm1.Button1Click(Sender: TObject);
begin
  if Edit1.Text <> '' then
    ComboBox1.Items.Add(Edit1.Text);
end;


優奈  2010-02-04 05:48:17  No: 37246

ありがとうございます。早速実行しましたら、itemをcomboboxに追加することはできたのですが、一度プログラムを閉じると、リストの内容が消えてしまいます。comboboxのプロパティのTStringのところに、書き込むと同じように、プログラムが終了しても、打ち込んだitemがなくならない方法はないのでしょうか?(以下が、私が書いたコードです。deleteボタンで、itemが消せるようにしました)

procedure TForm3.ComboBox1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
    if Key = 13 then
    begin
      if ComboBox1.Items.IndexOf(ComboBox1.Text) = -1 then
      begin
        ComboBox1.Items.Add(ComboBox1.Text)
      end;
    end;
    if Key = VK_DELETE then
      begin
       ComboBox1.Items.Delete(ComboBox1.itemindex)
      end;
end;


HOta  2010-02-04 06:13:43  No: 37247

FormのCloseでTextに保存しておいて、Createで読み込みます。

procedure Form1.FormCreate(Sender: TObject);
begin
  if FileExist('hogehoge.txt') then
    ComboBox1.Items.Loadfromfile('hogehoge.txt')
  else
    ComboBox1.Items.Clear;
end;

procedure Form1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  if ComboBox1.Items.Count > 0 then
    ComboBox1.Items.Savetofile('hogehoge.txt');
end;

他には、データーベースに保存するとか、いろいろ方法はあります。
調べてください。


優奈  2010-02-05 08:13:24  No: 37248

テキストファイルにセーブする方法で使用いたしました。いろいろとありがとうございました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加