1

キャンバスに編集とリストボックスを作成しました。リストボックスの内容は、txt ファイルの内容とともに読み込まれます。そのために、次のコードを使用しました。

  listbox1.Items.LoadFromFile('data\data.dat');

編集時に名前を入力するときに、リストボックスで強調表示したいので、次のコードを使用しました。

procedure TformMain.Edit1Change(Sender: TObject);
const
   indexStart = -1;
 var
   search : array[0..128] of Char;
begin
   StrPCopy(search, Edit1.Text) ;
   ListBox1.ItemIndex := ListBox1.Perform(LB_SELECTSTRING, indexStart, LongInt(@search));
end;

キャンバスのボタンを使用して、選択した名前をtxtから削除したいと思います。

どうやってやるの?

前もって感謝します!

4

1 に答える 1

4

編集コントロールに一致するテキストを削除するだけの場合:

var
  newS : string;
...
newS := ListBox1.Items[ListBox1.ItemIndex];
Delete(newS,Pos(Edit1.Text,newS),Length(Edit1.Text));
ListBox1.Items[ListBox1.ItemIndex] := newS;

行全体を削除したい場合:

ListBox1.Items.Delete(ListBox1.ItemIndex);
于 2012-06-21T12:06:40.513 に答える