procedure TForm1.ListBox1Click(Sender: TObject); begin Edit1.Text:=ListBox1.Items.Strings[ListBox1.ItemIndex]; end;
不行啊,“list index out of bound(-1)”是什么意思啊?? 我之前也是这样写的,就是有上面双引号里的错误。怎么回事啊大哥们? 急啊
怎么不行?我试过了.没问题啊.要不你在前面加个trim试试
你的代码是写在onclick事件里了吗?
procedure TForm1.ListBox1Click(Sender: TObject); begin if ListBox1.ItemIndex>=0 then Edit1.Text:=ListBox1.Items.Strings[ListBox1.ItemIndex]; end;
首先感谢大哥们的意见。 上面的问题我换了个方法,已经解决了。但现在又有问题出现。 我想把数据表里的内容显示到LISTBOX里面。 比如: with query1 do begin sql.Clear; sql.Add('select * from 数据表 where 某列='''+edit1.text+''''); open; with query2 do begin sql.Clear; sql.Add('select * from 数据表1 where 某='''+query1.fieldbyname('某某').AsString+''''); open; listbox1.Items.Clear; while not query2.Eof do begin listbox1.Items.Add(query2.fieldbyname('课程名').asstring); query2.Next; 我在几个地方都用了这写法,全部都没问题,但就是有一个地方用这写法的时候,LISTBOX里显示的是重复的内容。 例如正确的显示应该是:1 2 3 结果它显示成:1 1 1 怎么回事?
begin
Edit1.Text:=ListBox1.Items.Strings[ListBox1.ItemIndex];
end;
我之前也是这样写的,就是有上面双引号里的错误。怎么回事啊大哥们?
急啊
begin
if ListBox1.ItemIndex>=0 then
Edit1.Text:=ListBox1.Items.Strings[ListBox1.ItemIndex];
end;
上面的问题我换了个方法,已经解决了。但现在又有问题出现。
我想把数据表里的内容显示到LISTBOX里面。
比如:
with query1 do
begin
sql.Clear;
sql.Add('select * from 数据表 where 某列='''+edit1.text+'''');
open;
with query2 do
begin
sql.Clear;
sql.Add('select * from 数据表1 where 某='''+query1.fieldbyname('某某').AsString+'''');
open;
listbox1.Items.Clear;
while not query2.Eof do
begin
listbox1.Items.Add(query2.fieldbyname('课程名').asstring);
query2.Next;
我在几个地方都用了这写法,全部都没问题,但就是有一个地方用这写法的时候,LISTBOX里显示的是重复的内容。
例如正确的显示应该是:1
2
3
结果它显示成:1
1
1
怎么回事?