2014-10-11 59 views
0

嘿人就是这样在delphi中加载这个程序的用户名列表我想将它们全部添加到备忘录而不使用selectall我想使用for循环来了解它是如何工作的你可以看到,我试图通过失败它同时选择,但只增加了最后一个是怪异的xD任何帮助将是巨大的谢谢你们德尔福添加相同的项目与for循环

The Error Image

procedure TForm1.Button1Click(Sender: TObject); 
begin 
Memo1.Lines.Clear; 
Listbox1.Items.LoadFromFile('names.txt'); 
end; 

procedure TForm1.Button2Click(Sender: TObject); 
var 
I: Integer; 
begin 

for I:=Listbox1.Items.Count-1 downto 0 do 
begin 
ListBox1.ItemIndex:=I; 

Memo1.Lines.Add(ListBox1.Items.Strings[1]); 
end 
end; 
end; 
end. 
+0

你有一个错字“Memo1.Lines.Add(ListBox1.Items.Strings [1]”?不应该'1'是一个'我'? – MartynA 2014-10-11 17:53:42

+0

XX我觉得很愚蠢的错误xD ty告诉 – Shrekt 2014-10-11 17:57:33

+0

这就是为什么有些人主张反对使用单字符变量名,特别是'I',因为它看起来太像'1'。'Index'会例如: – 2014-10-11 20:20:17

回答

2

好吧,你跟指数1每次添加的项目时间。你大概的意思是:

for I:=Listbox1.Items.Count-1 downto 0 do 
    Memo1.Lines.Add(ListBox1.Items[I]); 

这增加了相反的顺序。如果你想在同一顺序的项目,它只是︰

Memo1.Lines.Assign(ListBox1.Items); 
+0

要使这个问题成为答案ty bro需要等待7分钟 – Shrekt 2014-10-11 17:58:02