在 Inno Setup 中从列表框传递到列表框时出错
Error when passing from List Box to List Box in Inno Setup
我试图将 ListBox1 剩余的项目添加到 ListBox2 以防止重复,我从我的问题 中得到了代码(完美地一个接一个地传递),我想在此时传递所有项目按按钮“>>”(将 ListBox1 上的项目传递给 ListBox2(无克隆列表框))。
并在 buttonClick 上获取它
代码如下:
procedure botonDerechaTodos(Sender: TObject);
begin
if (listBoxMonedasDisponibles.ItemIndex >= 0)then
begin
if listBoxMonedasSecundarias.Items.IndexOf(listBoxMonedasDisponibles.Items[listBoxMonedasDisponibles.ItemIndex]) < 0 then
listBoxMonedasSecundarias.Items.Add(listBoxMonedasDisponibles.Items[listBoxMonedasDisponibles.Items]);
listBoxMonedasDisponibles.Items.Delete(listBoxMonedasDisponibles.Items);
comboBoxMonedaPrincipal.Items := listBoxMonedasSecundarias.Items;
comboBoxMonedaPrincipal.ItemIndex := 0;
listBoxMonedasSecundarias.ItemIndex := 0;
end;
end;
您的代码包含错误。您传递的是 Items
而不是 ItemIndex
。
你有
listBoxMonedasSecundarias.Items.Add(listBoxMonedasDisponibles.Items[listBoxMonedasDisponibles.Items]);
应该是
listBoxMonedasSecundarias.Items.Add(listBoxMonedasDisponibles.Items[listBoxMonedasDisponibles.ItemIndex]);
你这里有类似的错误:
listBoxMonedasDisponibles.Items.Delete(listBoxMonedasDisponibles.Items);
应该是
listBoxMonedasDisponibles.Items.Delete(listBoxMonedasDisponibles.ItemIndex);
为了回答您评论中提出的问题,请使用 AddStrings(我没有输入所有那些长变量名称):
ListBoxDest.Items.AddStrings(ListBoxSource.Items);
ListBoxSource.Items.Clear;
我试图将 ListBox1 剩余的项目添加到 ListBox2 以防止重复,我从我的问题
并在 buttonClick 上获取它
代码如下:
procedure botonDerechaTodos(Sender: TObject);
begin
if (listBoxMonedasDisponibles.ItemIndex >= 0)then
begin
if listBoxMonedasSecundarias.Items.IndexOf(listBoxMonedasDisponibles.Items[listBoxMonedasDisponibles.ItemIndex]) < 0 then
listBoxMonedasSecundarias.Items.Add(listBoxMonedasDisponibles.Items[listBoxMonedasDisponibles.Items]);
listBoxMonedasDisponibles.Items.Delete(listBoxMonedasDisponibles.Items);
comboBoxMonedaPrincipal.Items := listBoxMonedasSecundarias.Items;
comboBoxMonedaPrincipal.ItemIndex := 0;
listBoxMonedasSecundarias.ItemIndex := 0;
end;
end;
您的代码包含错误。您传递的是 Items
而不是 ItemIndex
。
你有
listBoxMonedasSecundarias.Items.Add(listBoxMonedasDisponibles.Items[listBoxMonedasDisponibles.Items]);
应该是
listBoxMonedasSecundarias.Items.Add(listBoxMonedasDisponibles.Items[listBoxMonedasDisponibles.ItemIndex]);
你这里有类似的错误:
listBoxMonedasDisponibles.Items.Delete(listBoxMonedasDisponibles.Items);
应该是
listBoxMonedasDisponibles.Items.Delete(listBoxMonedasDisponibles.ItemIndex);
为了回答您评论中提出的问题,请使用 AddStrings(我没有输入所有那些长变量名称):
ListBoxDest.Items.AddStrings(ListBoxSource.Items);
ListBoxSource.Items.Clear;