在动态给combobox赋值时出错。
请各位指教。谢谢。
For i:=2 to 21 Do
Begin
With TCombobox(FindComponent('combobox'+Inttostr(i))) Do
Begin
Items.Clear;
End;
End;
With QAddMt Do
Begin
Close;
Sql.Clear;
Sql.Add('Select * from Material');
Open;
SNo:=FieldByName('Mt_No').AsString;
While Not Eof Do
Begin
For j:=2 To 21 Do
Begin
With TCombobox(FindComponent('combobox'+InttoStr(i))) Do
Begin
Items.Add(SNo);//循环取出值给SNo,此句报错
End;
End;
Next;
End;
End;
请各位指教。谢谢。
For i:=2 to 21 Do
Begin
With TCombobox(FindComponent('combobox'+Inttostr(i))) Do
Begin
Items.Clear;
End;
End;
With QAddMt Do
Begin
Close;
Sql.Clear;
Sql.Add('Select * from Material');
Open;
SNo:=FieldByName('Mt_No').AsString;
While Not Eof Do
Begin
For j:=2 To 21 Do
Begin
With TCombobox(FindComponent('combobox'+InttoStr(i))) Do
Begin
Items.Add(SNo);//循环取出值给SNo,此句报错
End;
End;
Next;
End;
End;
解决方案 »
- [Error] Unit1.pas(30): Incompatible types: 'String' and 'Char'
- 引用PAS单元文件是不是仅仅只是用里面的函数和过程?
- 两个矩阵相乘,如何实现 ?
- 关于ADOConnection1连接时的两个问题?有点难度....
- 在主窗口中,永远只允许存在一个MDI子窗口,怎么办?
- 如何分类排序?
- 别问我爱你有多深,我爱你有几分
- 有关listview的问题
- 新建一个工程,不输入任何代码编译,显示fatal error?为什么???
- 网上搜了半天,没找到关于用dephi创建com组件的文章,那位能带路?
- 请教!这个如何实现的?
- DrawGrid的单元格有边框,每个单元格4条边,如何对每条边进行颜色的设定?
Begin
With TCombobox(Self.FindComponent('combobox'+Inttostr(i))) Do //加Self 即父名
Begin
Items.Clear;
End;
End;
With QAddMt Do
Begin
Close;
Sql.Clear;
Sql.Add('Select * from Material');
Open;
SNo:=FieldByName('Mt_No').AsString;
While Not Eof Do
Begin
For j:=2 To 21 Do
Begin
With TCombobox(Self.FindComponent('combobox'+InttoStr(i))) Do //加Self,即父名
Begin
Items.Add(SNo);//循环取出值给SNo,此句报错
End;
End;
Next;
End;
End;
//可以把 0 to ComponentCount-1 改成你想要了,我是遍历窗体所有组件
procedure TForm1.btn1Click(Sender: TObject);
var
//QAddMT:TAdoQuery;
Comp:TComponent;
I, J:Integer;
SNO:string;
begin
Comp:=nil;
for I:=0 to ComponentCount-1 do begin
Comp:=FindComponent('Combobox'+inttostr(I));
if (Comp<>nil) and (Comp is TComboBox) then begin
With Comp As TComboBox Do Begin
Items.Clear;
End;
end;
With QAddMt Do Begin
Close;
Sql.Clear;
Sql.Add('Select * from Material');
Open;
SNo:=FieldByName('Mt_No').AsString;
While Not Eof Do Begin
For j:=0 to ComponentCount-1 Do begin
Comp:=nil;
if (Comp<>nil) and (Comp is TComboBox) then begin
With Comp As TComboBox Do begin
Items.Add(SNo);
End;
end;
End;
Next;
End;
End;
end;
end;end.