我在画布上获得了一个编辑和一个列表框,该列表框的内容加载了一个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中删除选定的名称。

我怎样才能做到这一点?

提前致谢!

最佳答案

如果只想删除与编辑控件匹配的文本:

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);

10-08 07:04