繁体   English   中英

Delphi项目在2个列表框之间进行比较

[英]Delphi items compare between 2 listboxes

我想知道如何比较列表框之间的项目。 在我的主窗体上,有两个列表框。 我想通过单击事件将项目从1st添加到2nd,但是当使用它时,同一项目将在2nd listbox上相乘。 解决“文件已存在”的任何想法?

procedure TForm1.Button1Click(Sender: TObject);
var
  i: integer;
begin
  for i := ListBox1.Items.Count - 1 downto 0 do
    if ListBox1.Selected[i] then                       
      ListBox2.Items.Add(ListBox1.Items.Strings[i]);
end;

如果您有一个单选列表框1:

if Listbox2.Items.IndexOf(Listbox1.Items[Listbox1.ItemIndex]) = -1 then
begin
  // Doesn't exist yet. Safe to add
end;

对于多选(您的代码似乎暗示了这一点):

for i := 0 to ListBox1.Items.Count - 1 do
  if (ListBox1.Selected[i] and (ListBox2.Items.IndexOf(ListBox1.Items[i]) = -1) then                       
    ListBox2.Items.Add(ListBox1.Items[i]);

我认为,后者也适用于单选。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM