简单的难题(20分)

  • 主题发起人 主题发起人 不起眼的流星
  • 开始时间 开始时间

不起眼的流星

Unregistered / Unconfirmed
GUEST, unregistred user!
有10个DBedit控件,名称分别为:dbedit1,dbedit2,dbedit3...dbedit10
var di:integer;
for di:=1 to 10 do
begin
if length(trim(dbedit+di))<1 then application.messagebox('不能为空','提示',mb_ok +mb_iconinformation);
end;
end;
以上代码是我想用循环直接判断这10个控件却不行,请高手指点
 
假设 10 个 DBedit 在 MyComp 上,
var
I: Integer;
begin
for I := 0 to MyComp.ControlCount - 1 do
begin
if (Controls is DBedit) then
if Length(Control as DBedit) < 1 then ...
end;
....
 
怎么没人帮我吗?还是嫌分太少
 
>> if length(trim(dbedit+di))<1 then application.messagebox('不能为空','提示',mb_ok +mb_iconinformation);
這是什麼寫法?這樣來
if (Controls is DBedit) then
if Length(Control as DBedit) < 1 then ...
 
你定义一个数组有10个指针,分别指向你的10个控件,再能过指针数组不就行了嘛?
 
var
i:integer;
begin
For i:=0 to ComponentCount - 1 do
if Components is TDBEdit then
if TDBEdit(Components).text :='' then
begin
application.messagebox('不能为空','提示',mb_ok +mb_iconinformation);
Components).SetFocus;
break;
end

end;
 
var
Cmp: TComponent;
I: integer;
begin
for I := 1 to 10 do
begin
Cmp := FindComponent('DBEdit'+ IntToStr(I));
if Trim(TDBEdit(Cmp).Text) = '' then
begin
ShowMessage(' XXXX不能为空! ');
TDBEdit(Cmp).SetFocus;
break;
end;
end;
end;
 
多人接受答案了。
 

Similar threads

D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
S
回复
0
查看
849
SUNSTONE的Delphi笔记
S
S
回复
0
查看
781
SUNSTONE的Delphi笔记
S
后退
顶部