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的项目了!