delphi循环语句和条件语句的使用问题!
var a,b,c,d,e,f:string;
begin
a:=edit1.text;
b:=edit2.text;
c:=edit3.text;
d:=edit4.text;
e:=edit5.text;
f:=edit6.text;
if (a='')or(b='')or(c='')or (d='')or (e='')or (f='') then showmessage('信息不完整') //如果a,b,c,d,e,f有一个为空,则显示提醒
else
table1.Open;//数据表table打开
table1.Insert;//数据表处于插入状态
edit1.SetFocus;
tablename.value:=edit1.text; 将edit1下的内容添加到数据表name单元下
tablepassword.Value:=edit2.Text;
tablepop3.Value:=edit3.Text;
tablepop3port.Value:=edit4.Text;
talbesmtp.Value:=edit5.Text;
tablesmtpport.Value:=edit6.Text;
tableEmail.Value:=edit7.Text;
end;
现在用上面的代码,可以执行过去,也可以实现显示“信息不完整”提醒窗口,但是
if (a='')or(b='')or(c='')or (d='')or (e='')or (f='') then showmessage('信息不完整') else
这句代码的意思是:如果a,b,c,d,e,f有一个为空,则显示提醒,它的else的意思就可以理解为如果a,b,c,d,e,f中有一个有内容不为空,就执行else下面的代码!
我现在想让它作出判断后,判断出有一个内容为话的显示提醒信息后就不再往下执行了,如果a,b,c,d,e,f所有的内容都不为空的话,则执行else下的内容,这段代码应怎么写呢?
而且
var a,b,c,d,e,f:string;
begin
a:=edit1.text;
b:=edit2.text;
c:=edit3.text;
d:=edit4.text;
e:=edit5.text;
f:=edit6.text;
if (a='')or(b='')or(c='')or (d='')or (e='')or (f='') then showmessage('信息不完整')
这段代码可不可以用for...do...之类的循环语句+条件语句来表达啊,这样子写的话,代码太多了,太麻烦了!
谢谢各位大哥大姐!
[解决办法]
- Delphi(Pascal) code
{相关函数}function lookedit:Boolean;vari:integer;begin Result:=true; for i :=1 to 6 do if Tedit(FindComponent('edit'+inttostr(i))).text='' then begin Result:=false; BREAK; end;end;
[解决办法]
编程的问题,都是条条大路通罗马,最好是清晰简练,我发表一下自己的看法
第一个问题:
如果不想改变习惯顺序:
if not (a<>'')and(b<>'')...
then 提示
else 执行;
如果看不惯not,可以写成:
if (a<>'')and(b<>'')...
then 执行
else 提示;
第二个问题:
如果想要循环,首先你的abcdef要放到数组中,就是定义一个字符串数组来代替abcdef:
判断的循环:
var
i:integer;
flag:boolean;
str:array[1..6] of string;
begin
……
flag:=true;
for i:=1 to 6 do
begin
if str[i]=''
then flag:=false;
end;
完了之后用flag的值来判断执行条件
……
end;
赋值的循环:
要用到一个叫组件查询函数的东西:findcomponent.
var
i:integer;
str:array[1..6] of string;
begin
for i:=1 to 6 do
begin
str[i]:=tedit(findcomponent('edit'+inttostr(i))).text;
end;
end;
这些问题,除了findcomponent不好查之外,其他的都是自己应该能想到的,我想如果不是你太懒,就是你的语言基础太差,需要补基础知识才行。
我也是才开始学,欢迎各位老鸟批评指正。
[解决办法]
if (a='')or(b='')or(c='')or (d='')or (e='')or (f='') then
begin
showmessage('信息不完整') ;
exit;
end
else
begin
//---------------------你的操作
end
//这样不是就可以了