面向对象编程的基本思想:以对象为主体,以事件为驱动
定义变量
var
变量名1:类型名1[=初始值];
变量名2:类型名2[=初始值];
赋值语句
赋值语句的语法格式及功能如下:
[格式1]:
变量名:=表达式;
[功能]:将赋值号“:=”右边表达式的值赋给左边的变量。
过程语句
(1)读语句
有两种格式:read( 变量,变量,…… );
readln( 变量,变量,……);
(2)写语句:write( 项,项,…… );
writeln( 项,项,…… );
If语句
[格式1]:if<条件> then
语句1;
[功能]:如果<条件>为true,则执行<语句1>;如果<条件>为false,则不执行<语句1>。
[格式2]:if<条件> then
语句1
else
语句2;
[功能]:如果<条件>为true,则执行<语句1>;如果<条件>为false,则执行<语句2>。
嵌套的if语句
if语句可以嵌套使用,即在if语句的then或else之后的语句又是if语句。通常采用以下的语法格式:
if <条件1>
then <语句1>
else if <条件2>
then <语句2>
else ……
case语句
case <表达式> of
值1:语句1;
值2:语句2;
……
值n:语句n;
[ else
语句n+1; ]
end;
循环结构语句
Delphi实现循环结构的语句共有3种。
1.while循环语句
while <条件表达式> do
<循环体>;
2.repeat循环语句
repeat
<循环体>;
until <条件表达式>;
3.for循环语句
for循环语句是“计数型循环”。
格式如下:
[格式1]:递增型for语句
for 循环变量:=初值 to 终值 do
循环体;
[格式2]:递减型for语句
for 循环变量:=初值 downto 终值 do
循环体;
一维静态数组类型的定义格式为:
type 数组类型名=array[下标类型] of 基类型;
使用开域(with)语句访问记录字段
[格式]:
With 记录变量名 do语句;
[说明]:用with打开“记录类型变量名”指定的变量,下面访问其字段时
就不需要再在字段名前加“记录类型变量名”了。例如:
with stu do
begin
read(no);
//省略字段名前的小圆点和记录类型变量名
name:=‘liping’;
sex:=male;
age:=18;
end;
记录数组
var class:array[1..50] of student;
说明class是一个具有50个元素的数组,数组元素的类型是前面定义的记录类型student。
class[1]代表第一条学生记录。
文件类型
type
文件类型名 = file of 基类型;
例如,声明一个文件类型RecordList,以上面定义的TdateRec为数据类型。
type
RecordList = file ofTdateRec;
指针类型及指针类型变量的定义
[格式]:
type 指针类型名=^基类型;
[说明]:基类型为指针所指向的动态变量的数据类型。
例如:
type dd=^integer;
//定义指针类型dd
varp:dd; //声明变量p为指针类型dd,p可指向integr类型的变量
对指针变量的操作
(1)指针赋空值
p:=nil;
{nil是指针类型的常量,表示空值,可赋给任意指针变量,表示指针不指向动态变量}
(2)指针获得变量的地址
用运算符@可获得变量的地址。
var
i:integer;
p:^integer;
i:=10; //对整型变量i赋值为10
p:=@i; //获得变量i的地址并赋给指针变量p
writeln(p^); //输出p^的值,结果是10
Delphi中的过程和函数有什么区别
过程和函数都是具有单入口(single entry)和单出口(single exit)的子程序。
按照Object Pascal语言设计师Niklaus Wirth的观点,过程为完成任务或任务集合的代码实体(entity),函数则为完成计算或计算集合的代码实体。当调用过程时,对象被更新,过程抽象的用户只能看到这些对象被更新,而无从知道发生变化的步骤;在调用函数时,用户
只能看到结果值,却无从知道求值的具体步骤。
从表面上看就是:函数有返回值;过程没有返回值。在实际编程中,很多地方用过程和函数都能实现程序所需的功能,只不过看哪个方便而已。
Memo组件Lines对象的属性和方法
以Memo1组件为例,说明Lines对象主要方法和属性的
使用。
Memo1. Lines.Add( ‘abc’ );
在Memo组件的最后增加一行字符串‘abc’。
Memo1. Lines.Insert( 0,‘abc’ );
在Memo组件的第一行增加一行字符串‘abc’,原第一
行和其后面的行向后移动一行。
Memo1. Lines.Delete( 1 );
删除Memo组件中的第二行。
n:=Memo1.Lines.Count;
将Memo组件中的行数赋给整型变量n。
Memo1.Lines.LoadFromFile(‘d:\text\f1.txt’);
将指定的文本文件装入Memo1组件中。