一、基本字符 赋值运算符: := 二、变量
使用变量前一定要先定义它。
常量: const
例如:const a=10.5; b= -a; c='student';
变量: var
例如: s,t:string; m:real; d:integer;
三、赋值语句
<变量标识符>:=<表达式>
比如: a:=b; c:=a1+3-25
Delphi控制语句
1、顺序语句
顺序结构是一种线性结构,这种结构是按从上到下的顺序依次执行各语句。
(1)赋值语句
赋值语句是Delph7中最基本的一种语句,用于对变量赋值或设置组件的属性值。 语法:
变量名:=表达式; 对象.属性:=表达式;
(2)输入语句
InputBox函数和InputQuery函数用于显示一个带有编辑组件的消息对话框,该提示框中有一个文本输入框和两个命令按钮,为用户提供输入文本的功能。
a) InputBox函数
( 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;
b) InputQuery函数
显示一个带有编辑组件的对话框,为用户提供输入文本的功能,并判断用户是否按下了Ok按钮。
( InputQuery返回值为是否点了OK 输入的字符串放在了变量Value中 ) 语法:function InputQuery(const ACaption,APrompt:string;var Value:string):Boolean; ACaption,消息对话框的标题。 APrompt,消息对话框的提示信息。
Value,对话框首次出现在编辑框中显示的字符串,并得到用户在消息对话框中输入的字符串。
例:
procedure TForm1.Button1Click(Sender: TObject); var s:string; begin
//点击了OK按钮后,则
if InputQuery('标题','提示字符',s) then begin
if s<>'' then //如果输入不为空则 showmessage(s); end; end;
(3)输出语句
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、条件判断语句 (1)使用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前面的一条语句后面不能加分号;。
(2)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; end;
3、循环结构
(1)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;
(2)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;
(3)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、其他控制语句 (1)Break语句
Break语句用于强制跳出循环,当一个循环没有达到循环结束的条件并要结束循环时,可以使用Break语句。
(2)Continue语句
Continue语句是强制结束本次循环,即跳过当前的循环后,继续执行下一次循环操作。
(3)Exit语句
Exit语句主要用于退出当前的代码块,如果该段代码块是主程序,那么Exit语句将导致程序终止,如果程序块是被调用的模块,则跳到上一层程序继续执行。
(4)Halt语句
Halt语句用于强制终止程序的执行,并返回到操作系统。 procedure TForm1.N21Click(Sender:TObject); begin
if MessageDlg('真的要退出系统吗?',mtinformation,[mbyes,mbno],0)=mbyes then begin Halt; end; end;
(5)RunError语句
RunError语句用于终止程序运行并产生一个运行期错误,错误号最高值为255。 procedure TForm.Button1Click(Sender:TObject); begin
RunError(200); end;
(6)Abort语句
Abort语句用于中止程序的运行,产生一个特殊的\"无记载异常\",此异常与其他异常相同,只是不显示错误信息。
(7)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;
因篇幅问题不能全部显示,请点此查看更多更全内容