Delphi基础语法
来源:互联网 发布:山西大学教务网络 编辑:程序博客网 时间:2024/04/30 14:35
1. 常量:固定值,不可变数。
1) const
常量名 = 常量值(表达式);
2) resourcestring
常量名 = 字符串(常量);
2. 变量
1) 定义
Var 名字1,名字2,…名字n:类型;
2) 命名原则(参考)
变量名字 = 类型(缩写) + 作用域(简称) + 确切含义名称
3) 三种赋值格式
变量名:= 值;
变量名1: = 变量2;
变量名:= 过程或函数的调用;
3. 类型常量
1) 类型常量是全局变量并不是一个常量,它进行了预初始化值。
2) 定义
Const
名字:类型 = 值;
3) 种类
简单的类型常量
数组类型常量
记录类型常量
集合类型常量
指针类型常量
过程类型常量
4. 数据类型
简单类型(Simple)
有序类型(Ordinal)
整数(Integer)
字符(Character)
布尔(Boolean)
枚举(Enumerated)
子域(SubRange)
实数(Real)
结构类型(Structured)
集合(Set)
数组(Array)
记录(Record)
文件(File)
类(Class)
类指针(Class Reference)
界面(Interface)
字符串类型(String)
指针类型(Pointer)
过程类型(Procedural)
可变类型(Variant)
5. 用户自定义类型
子域类型
Type 名称 = 初值…终值;
枚举类型
Type 名称 = (值1,值2,值3…值N);
数组类型
Type 名称 = Array[下标定义]of类型名
Type 名称 = [下标定义1,下标定义2…下标定义N] of元素类型
或名称 = [下标定义1of…Array [下标定义N] of元素类型
集合类型
Type 名称 = set of 元素类型
指针类型
Type 名称 = ^结点类型
记录类型
Type 名称 = Record
域名1:类型;
域名1:类型;
……
域名N:类型;
end;
文件类型
Type 名称 = file of 元素类型
语句
简单语句
X := Y + Z; // assignment
Randomize; // procedure call
复合语句
begin
A := B;
C := A * 2;
end;
end之前的最后一条语句末尾分号不是必需的,你可以写成:
begin
A := B;
C := A * 2
end;
赋值语句
在Pascal 语言中赋值语句用冒号-等号操作符“:=”,
条件语句
If语句
对if-then型语句,仅当条件满足时,语句才执行;
if CheckBox1.Checked then
ShowMessage ('CheckBox1 is checked')
对if-then-else型,if语句在两条语句中选择一条执行
if CheckBox2.Checked then
ShowMessage ('CheckBox2 is checked')
else
ShowMessage ('CheckBox2 is NOT checked');
要注意的是,不能在第一句之后、else 关键词之前加分号,否则编译器将告知语法错误。实际上,if-then-else 语句是单纯的一条语句,因此不能在语句中间加分号。
if 语句可以很复杂,句子中的条件部分可以是一系列条件(用and、 or 、 not等布尔操作符联接起来),if语句又可以嵌套另一个if语句
begin
// compound if statement
if CheckBox1.Checked then
if CheckBox2.Checked then
ShowMessage ('CheckBox1 and 2 are checked')
else
ShowMessage ('Only CheckBox1 is checked')
else
ShowMessage (
'Checkbox1 is not checked, who cares for Checkbox2?')
end;
Case语句
case语句包括用来选值的表达式、可能值序列或一个取值范围。这些值应该是常量,并且它们必须唯一,而且应属于有序类型。
Case语句最后可以带一个else 语句,当没有一个标签与选择器的值一致时,执行else语句。下面是两个简单的例子:
case Number of
1: Text := 'One';
2: Text := 'Two';
3: Text := 'Three';
end;
case MyChar of
'+' : Text := 'Plus sign';
'-' : Text := 'Minus sign';
'*', '/': Text := 'Multiplication or division';
'0'..'9': Text := 'Number';
'a'..'z': Text := 'Lowercase character';
'A'..'Z': Text := 'Uppercase character';
else
Text := 'Unknown character';
end;
Pascal语言中的循环
其它编程语言中使用的循环语句,Pascal语言中都有,它们包括 for、 while 和 repeat 语句。如果你用过其他编程语言,你会发现Pascal中的循环语句没什么特别的,因此这里我只作简要的说明。
For循环
Pascal 中的for循环严格地建立在计数器基础上,循环每执行一次,计数器不是增加一个值就是减小一个值。下面是一个for语句的简例,用来将前十个数加起来:
var
K, I: Integer;
begin
K := 0;
for I := 1 to 10 do
K := K + I;
同样的for语句可以用正好相反的计数器来写:
var
K, I: Integer;
begin
K := 0;
for I := 10 downto 1 do
K := K + I;
Pascal 中的for循环语句其灵活性比其他语言小(它不能指定1之外的步长),不过简单也容易理解。如果需判断的条件比较复杂,或想自定义计数器,你可以用while语句或 repeat 语句,而不是for循环语句。
注意:for循环计数器不必非是数字,它可以是任何有序类型的值,例如一个字符或一个枚举类型值。
while语句和repeat语句
while-do 循环语句和 repeat-until 语句的不同点在于repeat 循环语句的代码至少要执行一次。从下面的简例很容易理解这一点
:
while (I <= 100) and (J <= 100) do
begin
// use I and J to compute something...
I := I + 1;
J := J + 1;
end;
repeat
// use I and J to compute something...
I := I + 1;
J := J + 1;
until (I > 100) or (J > 100);
从上可见即使 I 或 J 的初始值大于100,repeat-until循环中的代码也仍会执行一次。
注意:两种循环另一个关键的不同点是,repeat-until 循环的条件是反向的条件,只要不满足这个条件,循环就执行;当条件满足时,循环终止。这正好与while-do 循环相反,while-do 循环当条件是真值时才执行。为此,我不得不在上面代码中用反向条件来获得相同的结果。
注意:用 Break 和 Continue 系统过程可以改变循环执行的标准流程。Break 中断循环;Continue直接跳至循环测试句,或使计数器增加一个步长,然后继续循环(除非条件为空或计数器达到最大值)。还有两个系统过程 Exit 和 Halt,让你立即从函数或过程中返回,或者终止程序。
With语句
with BirthDay do
begin
Year := 1995;
Month := 2;
Day := 14;
end;
转自http://blog.csdn.net/tercel99/article/details/672910
- delphi语法基础--过程
- DELPHI语法基础--函数
- delphi语法基础
- Delphi语法基础
- Delphi基础语法
- Delphi语法基础 - 循环语句
- delphi语法基础--集合类型
- C,Delphi,PHP 基础语法对比
- Delphi语法
- delphi 语法
- delphi语法
- Delphi语法
- Delphi学习笔记(一)之语法基础
- Delphi 基础
- Delphi基础
- delphi语法笔记
- Delphi基本语法格式
- Delphi语法笔记
- 手势缩放
- Andriod 4.4 KitKat的 ART
- ExtJs4.0.7 Dynamic tree 动态菜单树
- 连接数据库所需要的封装的的类和接口
- linux下apache的安装与配置
- Delphi基础语法
- #与javascript:void(0)的区别
- 解决浅层复制中容易出现迷途指针的方法
- MFC单文档的窗口分割
- 浪潮之巅读书笔记(四)
- The Deferred objec
- typedef(小结4)
- QT中QString 和 LPCWSTR 的相互转换
- android ntp和GPS获取网络时间问题