Delphi控制语句

Delphi控制语句

顺序结构是一种线性结构,这种结构是按从上到下的顺序依次执行各语句。

赋值语句

赋值语句是Delph7中最基本的一种语句,用于对变量赋值或设置组件的属性值。

语法:

变量名:=表达式;

对象.属性:=表达式;

输入语句

InputBox函数和InputQuery函数用于显示一个带有编辑组件的消息对话框,该提示框中有一个文本输入框和两个命令按钮,为用户提供输入文本的功能。

InputBox函数

语法:function InputBox(const ACaption,APrompt,ADefault:String):String;

ACaption,消息对话框的标题。

APrompt,消息对话框的提示信息。

ADefault,消息对话框首次出现时编辑框中显示的信息。

例:

procedure TForm1,ButtonClick(Sender:TObject);

var

S:String;

begin

S:inputbox('查询','请输入查询内容:','');

if S=Edit1.Text then

begin

ShowMessage('查询内容为:'+Edit1.Text);

end//此处不能多加分号

Else

ShowMessage('没有查询到此消息');

end;

InputQuery函数

显示一个带有编辑组件的对话框,为用户提供输入文本的功能,并判断用户是否按下了Ok按钮。

语法:function InputQuery(const ACaption,APrompt:string;var Value:string):Boolean;

ACaption,消息对话框的标题。

APrompt,消息对话框的提示信息。

Value,对话框首次出现在编辑框中显示的字符串,并得到用户在消息对话框中输入的字符串。

输出语句

MessageDlg函数可以将信息以对话框的形式输出并显示。

语法:function MessageDlg(const Msg:string;DlgType:TMsgDlgType;Buttons:TMesgDlgButtons;HelpCtx:Longint):Integer;

Msg,显示消息的内容。

Dlgtype,指定消息对话框的类型。

Buttons,指定消息对话框显示的按钮

HelpCtx,指定应显示帮助标题的正文ID

DlgType参数的取值:

mtInfromation,显示带感叹号图标的信息框。

mtWarnging,显示一个带有提醒符号图标的信息框。

mtCustom,无显示图标。

mtError,显示一个带有停止符号图标的信息框。

mtConfirmation,显示一个带有问好图标的信息框。

例:

MessageDlg('MessageDlg输出信息提示框',mtinformation,[mbok,mbyes],0);

2条件判断语句

使用if...then语句

语法:

if 条件 then

begin

语句

end;

if...then...else语句

语法:

if 条件 then

语句1

else

语句2

注意在使用if...then...else语句时,else前面的一条语句后面不能加分号;,否则将出现语法错误。例:

procedure TForm1.Button1Click(Sender:TObject);

begin

if Edit1.Text='' then

begin

     ShowMessage('输入不能为空');

end//此处不能多加分号。

else

     ShowMessage('您输入的内容为:'+Edit1.Text);

end;

if...then...else if语句

语法:

if 条件 then

begin

   语句

end

else if 条件 then

begin

   语句

end;

同样else if前面的一条语句后面不能加分号;。

case...of条件分支语句

case...of语句提供了一个可读性更好的多重if嵌套的解决方案。

语法:

case 条件表达式 of

     条件1:语句1;

     ....

     条件n:语句n;

else

     其他语句;

end

例:

procedure TForm1.Button1Click(Sender:TObject);

var

   C:Integer;

   N:String;

begin

   C:=2;

   case C of

   0:N:='条件值为1';

   1:N:='条件值为2';

   2:N:='条件值为3';

   else N:='没有对应的条件';

end;

Edit1.Text:=N;

3循环结构

Repeat...until语句

Repeate...Unitl循环语句是直到型循环语句,该语句的操作是先执行一次循环,只要Repeat后的表达式为False。程序就继续执行,直到该表达式为真(True)才结束循环。

语法:

Repeat

      循环体

until

      布尔表达式

例:

procedure TForm1.ButtonClick(Sender:TObject);

var

   i:Integer;

begin

   i:=0;

   Repeat

   inc(i);

   i:=i+1;

   until

   (i>=10);

   Edit1.Text:=IntToStr(i);

end;

while...do语句

while...do语句为当型循环语句,该语句的执行过程是先判断while后的布尔表达,然后再执行。while...do语句是当条件表达式的值为True时,执行其中的循环体。

语法:

while 条件表达式 do

begin

     循环体

end;

例:求1累加到100的和

procedure TForm1.ButtonClick(Sender:TObject);

var

   i,j:Integer;

begin

   i:=0;

   j:=0;

   while i<=100 do

   begin

   j=j+i;

   i:=i+1;

   end;

Edit1.Text:=IntToStr(j);

end;

for...do语句

for...do是经常能够用到的循环语句,该语句不同于while...do语句,它可以确定循环次数。另外,在for...do语句中使用to和downto关键字,可以实现递增循环和递减循环。循环中默认的步长在for...to...do情况下为1,for...downto...do情况下为-1。

递增循环的语法:

for 循环变量:=初值 to 終值 do

begin

    循环体语句

end;

递减循环的语法:

for 循环变量:=初值 downto 终值 do

begin

    循环体语句

end;

4其他控制语句

Break语句

Break语句用于强制跳出循环,当一个循环没有达到循环结束的条件并要结束循环时,可以使用Break语句。

Continue语句

Continue语句是强制结束本次循环,即跳过当前的循环后,继续执行下一次循环操作。

Exit语句

Exit语句主要用于退出当前的代码块,如果该段代码块是主程序,那么Exit语句将导致程序终止,如果程序块是被调用的模块,则跳到上一层程序继续执行。

Halt语句

Halt语句用于强制终止程序的执行,并返回到操作系统。

procedure TForm1.N21Click(Sender:TObject);

begin

    if MessageDlg('真的要退出系统吗?',mtinformation,[mbyes,mbno],0)=mbyes then

    begin

    Halt;

    end;

end;

RunError语句

RunError语句用于终止程序运行并产生一个运行期错误,错误号最高值为255。

procedure TForm.Button1Click(Sender:TObject);

begin

     RunError(200);

end;

Abort语句

Abort语句用于中止程序的运行,产生一个特殊的"无记载异常",此异常与其他异常相同,只是不显示错误信息。

goto语句

goto语句使用起来十分方便,可以从程序的一个地方直接跳到另一个地方,尽量少用goto语句。

procedure TForm1.Button1Click(Sender:TObject);

Label AA;//在此声明一个标签。

var

   sum,i:Integer;

begin

   sum:=0;

   i:=0;

   AA://使用标签;

   sum:=sum+i;

   i:=i+1;

   if i<=100 then

   goto AA;//如果i不满足条件,则直接跳转到使用标签的位置。

   Edit1.Text:=IntToStr(sum);

end;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值