一组Edit,判断其中一个为空则提示和成组为空问题

alern2002 2003-09-27 03:20:55
我是棵白菜,我有edit1,edit2,........edit10个编辑框,现样把它定义成数组,想成组清空,或判如果其中有一个为空则提示。知不知道怎么写?请大家帮忙!
...全文
57 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
IORILI 2003-09-27
  • 打赏
  • 举报
回复
一群牛人
tongki 2003-09-27
  • 打赏
  • 举报
回复
用不用数组都较容易...
FrameSniper 2003-09-27
  • 打赏
  • 举报
回复
//组清空
var
I:Integer;
begin
for I:=1 to 10 do
if Length((Self.FindComponent('Edit'+IntToStr(I)) as TEdit).Text)>0 then
(Self.FindComponent('Edit'+IntToStr(I)) as TEdit).Clear;
end;
//报信息
var
I:Integer;
begin
for I:=1 to 10 do
if Length((Self.FindComponent('Edit'+IntToStr(I)) as TEdit).Text)=0 then
ShowMessage('编辑框'+(Self.FindComponent('Edit'+IntToStr(I)) as TEdit).Name+'当前内容为空!');
end;
yurenjf 2003-09-27
  • 打赏
  • 举报
回复
public
edit : array [1..10] of tedit;
//...

for j := 1 to 10 do
begin
edit[j]:= TEdit.Create(self);
edit[j].Parent := form1;
edit[j].Top := j*50+100; //自己设定
edit[j].Left := 100;//自己设定
end;
///...
然后:
在某事件了判断就行了

for i:=1 to 10 do
edit[i].text:='';//成组清空

或者
for i:=1 to 10 do
if edit[i].text:='' then
showmessage('edit'+inttostr(i))+'是空的');
//...
dickeybird888 2003-09-27
  • 打赏
  • 举报
回复
ha ha
wzds2000 2003-09-27
  • 打赏
  • 举报
回复
to noil0125(珏心)
厉害!明白了。。。
noil0125 2003-09-27
  • 打赏
  • 举报
回复
var
I, n: Integer;
begin
n := 10;
for I := 1 to n do
begin
TEdit(self.FindComponent('edit'+IntToStr(I))).Text:='';
end;
mj_hc 2003-09-27
  • 打赏
  • 举报
回复
for i:=1 to 10 do
begin
if(trim(editGroup[i].text))='' then //editGroup为edit数组。
showmessage('至少有一个edit为空!');
end;

当然也可以不用数组,这样写:
with Form1 do
for i:=0 to ControlCount-1 do
if (Controls[i] is Tedit) then
if (Controls[i] as Tedit).text:='' then showmessage('至少有一个edit为空!');


全部清空用一个循环把他们负值为''就行了。
wzds2000 2003-09-27
  • 打赏
  • 举报
回复
to delphiseabird(沙鸥)
循环不是那么好些吧?
wzds2000 2003-09-27
  • 打赏
  • 举报
回复
我每次都是挨个赋值和判断的,不知有没好的方法。
我再去试试,关注。。。
delphiseabird 2003-09-27
  • 打赏
  • 举报
回复
写个循环判定一下,反正只有10个

5,392

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧