Delphi7_day03
一、运算符与表达式:
在这里我就不想对运算符与表达式进行太深入的了解,这和C++,java没什么太大的区别,因为我是要速成Delphi7所以主要是放在后面其他方面的研究。
二、语句:
1、赋值语句:
<
变量名
>:=<
表达式
>
2、注释语句:
{
<
注释内容
>
}或
//<
注释内容
>
再或
(*<
注释内容
>*)
3、if语句:
if
<
条件
>
then [<
语句
1>] [else<
语句2
>];
4、case语句:
case <
顺序表达式
> of
<
整常型表达式1
>:<
语句
>;
<
整常型表达式
2>:<
语句
>;……
[else <
语句
n+1>;]end;
5、循环结构语句:
For <
循环变量
>=<
初值
>to<
终值
>do //
或把
to
变为
DownTo
[<
循环体
>];
To
表示递增,
downto
表示递减
While<
条件
>do[
循环体
];
Repeat [<
循环体
>] until <
条件
>
;//循环体可以不用begin..end;
循环的中断,即break和continue和C++相同不说了
三、过程与函数
Object_pascal语言提供两种类型子程序:过程和函数
1、过程:运行结束后没有返回值的子程序称为过程,有三种过程,即标准过程、事件过程和自定义过程。
a)标准过程:
说一下下字符串处理过程:
调用格式
功能
appendStr(s1,s2) 合并字符串s1和s2,即s1:=s1+s2
delete(S,n,m) 在字符串S中删除从第n个开始,m个字符
insert(Source,S,n) 在字符串S的第n个字符处插入子字符串Source
Val(S,V,Code) 将字符串S转换为数值V,V可以是整或实型
Code是整形,如果Code不为0,表示转换出错
Str(V,S) 将数值V转换为字符串S,如果V是整型,则S为
整数格式,如果V是实型,则S为科学计数格式
DecodeDate(date,year,month,day);
DecodeTime(time,hour,min,sec,msec);data,time
都是
TdateTime
类型的,而
year,month…
都是
word
类型的。
随机数:
randomize();random(1000);
b)事件过程
创建事件过程的时机就是在对象被创建之后。这些事件是由系统自己调用的。
c)自定义过程:
自定义过程不与任何特定的事件相关联,只能由其他的过程或函数来调用。
声明如下:
Procedure <
过程名
> ([
形参表
])
[<
局部声明
>]
Begin
[<
语句
>]
;
End;
调用:
过程名(<实参表>);
2、函数(Function)
函数与过程的基本结构很相似,但是函数是有类型的,而且它可以返回一个值,所以函数的语法格式和调用方法都与过程有一定的区别。
这里介绍几个函数:
平方函数
sqr(x)
平方根函数
sqrt(x)
取整函数
trunc(x)
取小数函数
frac(x)
舍入函数
round(x)
随机函数
random(x)
返回一个大于或等于
0
且小于
x
的随机数
字符处理函数
大小写转换
LowerCase(s) 大转换成小写并返回
UpperCase(s); 小转换成大写并返回
比较字符串大小
CompareStr(s1,s2) 比较s1和s2的大小相等0
compareText(s1,s1)
合并字符串
Concat(s1,s2,s3…) 合并多个字符串,返回s1+s2+s3
查找字符串
pos(s0,s) 返回s0在s中的位置(整数),空0
求字符串长度
length(s); 返回字符串s的长度
截取子字符串
copy(s,n,m) 在s中截取从n后m的长度字符,空0
进制转换
inttoHex(x,y) 将x,10进制整数转换成16进制,y是最小位
ASCII转换字符
chr(x) ASCII转换成字符返回
格式化字符串
format(flag,args) 将字符串按照flag格式返回,args为参数
自定义函数
Function <
函数名
> ([<
形参表
>])
:返回类型
[<
局部声明
>]
Begin
[<
语句
>]
End;
函数的返回值通过函数名或预定义的result(隐含变量)带回。
注意:result并不完全等同于函数名。当函数名被赋值时,等同于result;而当函数名出现在本函数的其他地方时,表示对函数的递归调用,与result不同。
调用:
变量名
:=
函数名
(<
实参表
>)
3、参数传递
参数传递有两种方式,即传数值的传地址,由形参表内各形参前不同的保留字来判断。和
C++
的一样!
C++
是用
&
而
Delphi
是用
var
和
out
这两个是有区别的,
Var
表示将实参在内存中的地址传递给形参,这样实参和形参都表示同一个内存单元,如果在过程或函数中形参的值发生变化,将会影响到实参的值。
Out
保留字使用比较特殊,相关的形参称为外部参数
将实参的地址传递给形参后,形参和实参将共用同一个内存地址,则对其中任意一个量的重新赋值操作都将影响到另一个变量。
值传递就是用
const
或不加任何保留字
4、重载
指同一个过程名或函数名可以对应多个具体的实现,确定过程或函数的实现时,要求从参数的个数和类型上来区分。
z到这里我在三天内把delphi7的一些基本语法学习完毕了,以后我还会对这些文章进一步改进,因为要速成所以写的不是很细也有很多错误,但是语法什么的内容应该不会有什么错误!可以作为不错的学习dephi的资料!在后面的几天我也要开始做delphi的项目了!