Delphi基本语法格式和常用函数Word格式.docx

上传人:b****4 文档编号:6987421 上传时间:2023-05-07 格式:DOCX 页数:32 大小:29.29KB
下载 相关 举报
Delphi基本语法格式和常用函数Word格式.docx_第1页
第1页 / 共32页
Delphi基本语法格式和常用函数Word格式.docx_第2页
第2页 / 共32页
Delphi基本语法格式和常用函数Word格式.docx_第3页
第3页 / 共32页
Delphi基本语法格式和常用函数Word格式.docx_第4页
第4页 / 共32页
Delphi基本语法格式和常用函数Word格式.docx_第5页
第5页 / 共32页
Delphi基本语法格式和常用函数Word格式.docx_第6页
第6页 / 共32页
Delphi基本语法格式和常用函数Word格式.docx_第7页
第7页 / 共32页
Delphi基本语法格式和常用函数Word格式.docx_第8页
第8页 / 共32页
Delphi基本语法格式和常用函数Word格式.docx_第9页
第9页 / 共32页
Delphi基本语法格式和常用函数Word格式.docx_第10页
第10页 / 共32页
Delphi基本语法格式和常用函数Word格式.docx_第11页
第11页 / 共32页
Delphi基本语法格式和常用函数Word格式.docx_第12页
第12页 / 共32页
Delphi基本语法格式和常用函数Word格式.docx_第13页
第13页 / 共32页
Delphi基本语法格式和常用函数Word格式.docx_第14页
第14页 / 共32页
Delphi基本语法格式和常用函数Word格式.docx_第15页
第15页 / 共32页
Delphi基本语法格式和常用函数Word格式.docx_第16页
第16页 / 共32页
Delphi基本语法格式和常用函数Word格式.docx_第17页
第17页 / 共32页
Delphi基本语法格式和常用函数Word格式.docx_第18页
第18页 / 共32页
Delphi基本语法格式和常用函数Word格式.docx_第19页
第19页 / 共32页
Delphi基本语法格式和常用函数Word格式.docx_第20页
第20页 / 共32页
亲,该文档总共32页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

Delphi基本语法格式和常用函数Word格式.docx

《Delphi基本语法格式和常用函数Word格式.docx》由会员分享,可在线阅读,更多相关《Delphi基本语法格式和常用函数Word格式.docx(32页珍藏版)》请在冰点文库上搜索。

Delphi基本语法格式和常用函数Word格式.docx

string;

file_name:

='

c:

\luther.gliethttp.txt'

;

send_fd:

=FileOpen(file_name,fmOpenReadorfmShareDenyWrite);

FileWrite(com.log_fd,PChar(file_name)^,length(file_name));

GetForegroundWindow找到xp操作系统上当前前景窗体句柄.

GetActiveWindow只是获取当前程序中(严格地说是线程中)被激活的窗口;

GetForegroundWindow是获取当前系统中被激活的窗口.《Delphi中FindWindow和FindWindowEx的语法和用法》 

《delphi获取操作系统已运行的所有窗口程序-如打开的所有记事本的标题》

两个函数的级别不一样,一个是线程级、一个是系统级.被激活的窗口不一定是顶层窗口(最上面的窗口).

//向当前占有焦点的控件发送剪切板粘帖指令

ifEdit1.FocusedorEdit3.FocusedorEdit4.Focusedthen

SendMessage(Form1.ActiveControl.Handle,WM_PASTE,0,0);

==================================

char类型数组和string之间的使用以及bin数据转换为hex函数使用

//这是摘自Classes.pas库中的实现代码

procedureBinToHex(Buffer,Text:

PChar;

BufSize:

assembler;

const

Convert:

array[0..15]ofChar='

0123456789ABCDEF'

I:

Integer;

forI:

=0toBufSize-1do

begin

Text[0]:

=Convert[Byte(Buffer[I])shr4];

Text[1]:

=Convert[Byte(Buffer[I])and$F];

Inc(Text,2);

procedureTForm1.Button3Click(Sender:

varstrs:

p:

pchar;

i,max:

Integer;

strs:

abcd1234'

max:

=length(strs);

=Pointer(strs);

i:

=0;

while(i<

=max)do

ShowMessage(p[i]);

Inc(i);

procedureTForm1.Button4Click(Sender:

hex:

arrayofchar;

integer;

hex_len:

你cd1234'

=2*max;

//+1;

SetLength(hex,hex_len);

BinToHex(pointer(strs),pointer(hex),max);

ShowMessage(inttostr(length(string(hex))));

=high(hex)+1;

=hex_lenshr1;

//div2;

ShowMessage(IntToStr(hex_len)+'

+inttostr(max));

SetLength(strs,max);

HexToBin(pointer(hex),pointer(strs),hex_len);

ShowMessage(strs);

functionHexToBin(Text,Buffer:

Integer):

Integer

functionIntToHex(Value:

Digits:

string;

overload;

functionStrToInt(constS:

string):

x=%d'

[12]);

//'

x=12'

//最普通

x=%3d'

//指定宽度

x=%f'

[12.0]);

x=12.00'

//浮点数

x=%.3f'

x=12.000'

//指定小数

x=%8.2f'

[12.0])//'

x=%.*f'

[5,12.0]);

x=12.00000'

//动态配置

x=%.5d'

x=00012'

//前面补充0

x=%.5x'

x=0000C'

//十六进制

x=%1:

d%0:

d'

[12,13]);

x=1312'

//使用索引

x=%p'

[nil]);

x=00000000'

//指针

x=%1.1e'

x=1.2E+001'

//科学记数法

x=%%'

[]);

x=%'

//得到"

%"

S:

=Format('

%s%d'

[S,I]);

//S:

=S+StrToInt(I);

//连接字符串 

去除字符串中所有空格,字符串替换字符串

str:

=StringReplace(str,'

'

'

[rfReplaceAll]);

functionStringReplace(const 

S, 

OldPattern, 

NewPattern:

 

Flags:

TReplaceFlags):

数组和string字符串之间拷贝数据.

varbuf:

array[0..63]ofchar;

name:

......

name:

=name+#13+#10+'

hello!

+#13+#10+'

strpcopy(pchar(@buf),name);

high(buf)取得数组最大值,此处为63

low(buf)获得数组最小值,此处为0

TStringList;

=TStringList.Create;

strs.Delimiter:

strs.DelimitedText:

am 

programer'

strs[0]

strs[1]等就是去除了所有空格的一个个单词了

字符串string常用处理函数

usesStrUtils;

LeftStr(str,3);

//读取最左边的3个字符

RightStr(S,3);

//读取最右边的3个字符

Delete(str,16,1);

Copy(str,3,4);

还有MidStr用于中文拷贝,如:

MidStr('

电脑报'

1,1);

Insert('

h'

str,2);

LowerCase(str);

//将str变为小写

UpperCase(str);

//将str变为大写

Pos('

Like'

ILikeReading!

);

//查找Like的位置,此处为3,如果没有返回0

Trim(str);

//删除头尾的所有空格

TrimLeft(str);

TrimRight(str);

===================

varS:

String;

arrText:

arrayofChar;

//定义一个动态数组

SetLength(S,10);

//当设置后,S变量只能赋值长度为10的字符串。

SetLength(arrText,10);

//只有使用SetLength为动态数组分配内存空间后才能使用动态数组。

这句代码的作用相当于arrText:

array[0..9]ofChar

vararrChar:

array[0..255]ofChar;

//这里声明了长度为256的Char型数组

StrPCopy(arrChar,'

Comeon,baby!

1. 

常量:

固定值,不可变数。

1) 

   

常量名 

= 常量值(表达式);

2) 

resourcestring

= 字符串(常量);

2. 

变量

定义

Var 

名字1,名字2,…名字n:

类型;

命名原则(参考)

变量名字 

类型(缩写)+ 

作用域(简称)+ 

确切含义名称

3) 

三种赋值格式

 变量名:

值;

变量名1:

变量2;

变量名:

过程或函数的调用;

3. 

类型常量

类型常量是全局变量并不是一个常量,它进行了预初始化值。

Const

名字:

类型 

种类

简单的类型常量

数组类型常量

记录类型常量

集合类型常量

指针类型常量

过程类型常量

4. 

数据类型

简单类型(Simple)

有序类型(Ordinal)

整数(Integer)

字符(Character)

布尔(Boolean)

枚举(Enumerated)

子域(SubRange)

实数(Real)

结构类型(Structured)

集合(Set)

数组(Array)

记录(Record)

文件(File)

类(Class)

类指针(ClassReference)

界面(Interface)

字符串类型(String)

指针类型(Pointer)

过程类型(Procedural)

可变类型(Variant)

5. 

用户自定义类型

子域类型

Type 

名称=初值…终值;

枚举类型

名称=(值1,值2,值3…值N);

数组类型

名称= 

Array[下标定义]of类型名

[下标定义1,下标定义2…下标定义N] 

of元素类型

或名称= 

[下标定义1of…Array 

[下标定义N] 

集合类型

setof 

元素类型

指针类型

^结点类型

记录类型

Record

域名1:

……

域名N:

文件类型

fileof 

语句

简单语句 

X:

=Y+Z;

//assignment

Randomize;

//procedurecall

复合语句

A:

=B;

C:

=A*2;

end之前的最后一条语句末尾分号不是必需的,你可以写成:

=A*2

赋值语句 

在Pascal语言中赋值语句用冒号-等号操作符“:

=”,

条件语句

If语句 

对if-then型语句,仅当条件满足时,语句才执行;

ifCheckBox1.Checkedthen

ShowMessage('

CheckBox1ischecked'

对if-then-else型,if语句在两条语句中选择一条执行

ifCheckBox2.Checkedthen

CheckBox2ischecked'

else

CheckBox2isNOTchecked'

要注意的是,不能在第一句之后、else关键词之前加分号,否则编译器将告知语法错误。

实际上,if-then-else语句是单纯的一

条语句,因此不能在语句中间加分号。

if语句可以很复杂,句子中的条件部分可以是一系列条件(用and、or、not等布尔操作符联接起来),if语句又可以嵌套另一

个if语句

//compoundifstatement

ifCheckBox1.Checkedthen

ifCheckBox2.Checkedthen

CheckBox1and2arechecked'

OnlyCheckBox1ischecked'

ShowMessage(

Checkbox1isnotchecked,whocaresforCheckbox2?

Case语句

case语句包括用来选值的表达式、可能值序列或一个取值范围。

这些值应该是常量,并且它们必须唯一,而且应属于有序类型。

Case语句最后可以带一个else语句,当没有一个标签与选择器的值一致时,执行else语句。

下面是两个简单的例子:

caseNumberof

1:

Text:

='

One'

2:

Two'

3:

Three'

caseMyCharof

+'

:

Plussign'

-'

Minussign'

*'

/'

Multiplicationordivision'

0'

..'

9'

Number'

a'

z'

Lowercasecharacter'

A'

Z'

Uppercasecharacter'

else

Unknowncharacter'

Pascal语言中的循环

其它编程语言中使用的循环语句,Pascal语言中都有,它们包括for、while和repeat语句。

如果你用过其他编程语言,你会发

现Pascal中的循环语句没什么特别的,因此这里我只作简要的说明。

For循环 

Pascal中的for循环严格地建立在计数器基础上,循环每执行一次,计数器不是增加一个值就是减小一个值。

下面是一个for语句的

简例,用来将前十个数加起来:

K,I:

K:

=0;

=1to10do

=K+I;

同样的for语句可以用正好相反的计数器来写:

=10downto1do

Pascal中的for循环语句其灵活性比其他语言小(它不能指定1之外的步长),不过简单也容易理解。

如果需判断的条件比较复杂,

或想自定义计数器,你可以用while语句或repeat语句,而不是for循环语句。

注意:

for循环计数器不必非是数字,它可以是任何有序类型的值,例如一个字符或一个枚举类型值。

while语句和repeat语句 

while-do循环语句和repeat-until语句的不同点在于repeat循环语句的代码至少要执行一次。

从下面的简例很容易理解这一点

while(I<

=100)and(J<

=100)do

//useIandJtocomputesomething...

I:

=I+1;

J:

=J+1;

repeat

until(I>

100)or(J>

100);

从上可见即使I或J的初始值大于100,repeat-until循环中的代码也仍会执行一次。

两种循环另一个关键的不同点是,repeat-until循环的条件是反向的条件,只要不满足这个条件,循环就执行;

当条件满足

时,循环终止。

这正好与while-do循环相反,while-do循环当条件是真值时才执行。

为此,我不得不在上面代码中用反向条件来

获得相同的结果。

用Break和Continue系统过程可以改变循环执行的标准流程。

Break中断循环;

Continue直接跳至循环测试句,或使计数

器增加一个步长,然后继续循环(除非条件为空或计数器达到最大值)。

还有两个系统过程Exit和Halt,让你立即从函数或过程

中返回,或者终止程序。

With语句

withBirthDaydo

Year:

=1995;

Month:

=2;

Day:

=14;

关键字

absolute指令(变量)

abstract指令(方法)

and运算符(布尔)

array类型

as运算符(RTTI)

asm语句

assembler向后兼容(汇编)

at语句(异常处理)

automated访问类别符(类)

begin块标记

case语句

cdecl函数调用协定

class类型

const声明或指令(参数)

constructor特殊方法

contains运算符(集合)

default指令(属性)

destructor特殊方法

dispiddispinterface界面类别符

dispinterface类型

div运算符

do语句

downto语句(for)

dynamic指令(方法)

else语句(if或case)

end块标记

except语句(异常处理)

export向后兼容(类)

exports声明

external指令(函数)

far向后兼容(类)

file类型

finalization单元结构

finally语句(异常处理)

for语句

forward函数指令

fun

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > PPT模板 > 商务科技

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2