Inno setup 在Inno安装程序中从列表框传递到列表框时出错

Inno setup 在Inno安装程序中从列表框传递到列表框时出错,inno-setup,pascalscript,Inno Setup,Pascalscript,我试图将ListBox1中的项目添加到ListBox2中,以防止重复,我从我的问题中获得了代码(一个接一个地传递非常有效),我不想在此时传递所有项目,请按“>>”(将ListBox1中的项目传递到ListBox2(无克隆列表框))。 把这个放在按钮上 代码如下: procedure botonDerechaTodos(Sender: TObject); begin if (listBoxMonedasDisponibles.ItemIndex >= 0)then begin

我试图将ListBox1中的项目添加到ListBox2中,以防止重复,我从我的问题中获得了代码(一个接一个地传递非常有效),我不想在此时传递所有项目,请按“>>”(将ListBox1中的项目传递到ListBox2(无克隆列表框))。

把这个放在按钮上

代码如下:

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;
程序botonDerechaTodos(发送方:TObject);
开始
如果(listBoxMonedasDisponibles.ItemIndex>=0),则
开始
如果ListBoxMonedaseCundarias.Items.IndexOf(listBoxMonedasDisponibles.Items[listBoxMonedasDisponibles.ItemIndex])小于0,则
listBoxMonedasSecundarias.Items.Add(listboxmonedasdisponiles.Items[listboxmonedasdisponiles.Items]);
ListBoxMonedAsDisponiles.Items.Delete(ListBoxMonedAsDisponiles.Items);
ComboboxMonedPrincipal.Items:=listBoxMonedasSecundarias.Items;
ComboboxMonedPrincipal.ItemIndex:=0;
listBoxMonedasSecundarias.ItemIndex:=0;
结束;
结束;

您的代码包含错误。您正在传递的是
,而不是
项索引

你有

listBoxMonedasSecundarias.Items.Add(listBoxMonedasDisponibles.Items[listBoxMonedasDisponibles.Items]);
应该是

listBoxMonedasSecundarias.Items.Add(listBoxMonedasDisponibles.Items[listBoxMonedasDisponibles.ItemIndex]);
listBoxMonedasDisponibles.Items.Delete(listBoxMonedasDisponibles.ItemIndex);   
您在此处遇到了类似的错误:

listBoxMonedasDisponibles.Items.Delete(listBoxMonedasDisponibles.Items);   
应该是

listBoxMonedasSecundarias.Items.Add(listBoxMonedasDisponibles.Items[listBoxMonedasDisponibles.ItemIndex]);
listBoxMonedasDisponibles.Items.Delete(listBoxMonedasDisponibles.ItemIndex);   
为了回答您在评论中提出的问题,请使用AddStrings(我没有键入所有这些长变量名):


您的代码包含一个错误。您正在传递的是
,而不是
项索引

你有

listBoxMonedasSecundarias.Items.Add(listBoxMonedasDisponibles.Items[listBoxMonedasDisponibles.Items]);
应该是

listBoxMonedasSecundarias.Items.Add(listBoxMonedasDisponibles.Items[listBoxMonedasDisponibles.ItemIndex]);
listBoxMonedasDisponibles.Items.Delete(listBoxMonedasDisponibles.ItemIndex);   
您在此处遇到了类似的错误:

listBoxMonedasDisponibles.Items.Delete(listBoxMonedasDisponibles.Items);   
应该是

listBoxMonedasSecundarias.Items.Add(listBoxMonedasDisponibles.Items[listBoxMonedasDisponibles.ItemIndex]);
listBoxMonedasDisponibles.Items.Delete(listBoxMonedasDisponibles.ItemIndex);   
为了回答您在评论中提出的问题,请使用AddStrings(我没有键入所有这些长变量名):


这不是我想要的,我已经使用了你说的代码,毫无问题地点击按钮“>”(一个接一个地传递项目),但我想将listBoxMonedasDisponibles中剩下的所有项目添加(传递)到ListBoxMonedAseCundarias,以制作按钮“>>”(全部传递)。有什么方法可以修改吗?非常感谢,我真的很感激。这不是我想要的,我已经使用了你说的代码,毫无问题地按按钮“>”(一个一个地传递项目),但我想将listBoxMonedasDisponibles中剩下的所有项目添加(传递)到ListBoxMonedAseCundarias,以制作按钮“>>”(全部传递)。有什么办法可以修改吗?非常感谢,我真的很感激。