Delphi基本语法格式和常用函数讲解
Delphi的语法基础
2.4.3 字符串运算符 2.4.4 运算符的优先级
2.5 常用系统函数与过程
2.5.1 数值运算函数 2.5.2 字符处理函数 2.5.3 日期时间函数 2.5.4 顺序类型函数
2.6 语句
2.6.1 语句的基本概念 2.6.2 常见声明语句 2.6.3 赋值语句和程序的顺序结构 2.6.4 条件语句和程序的选择结构 2.6.5 循环语句和程序的循环结构
随机函数的定义: function Random [ ( Range: Integer) ]; 8. π 函数 函数定义为: function Pi: Extended; 2.5.2 字符处理函数 1. 大小写转换函数 其函数定义分别为: function LowerCase(const S: string): string; function UpperCase(const S: string): string;
… 〈常量名n〉=〈常量值n〉; 3. 类型常量 定义类型常量的语法格式为: CONST 〈常量名〉:〈类型名〉=〈常量值〉; 2.3.2 变量 1. 变量的声明
变量声明的语法格式为: VAR 〈变量名1〉:〈类型名1〉;
… 〈变量名n〉:〈类型名n〉; 当多个变量具有相同的类型时,可以使用如下的紧凑格式: VAR 〈变量名1〉,…,〈变量名n〉:〈类型名〉; 2.4 运算符与表达式 2.4.1 算术运算符与算术表达式 1. 算术运算符 2. 算术表达式 算术表达式的格式为: 〈数值1〉〈算术运算符1〉〈数值2〉[〈算术运算符2〉〈数值3〉]
取整数函数的定义: function Int(x: Extended): Extended; 取小数函数的定义: function Frac(x: Extended): Extended; 6. 指数函数和对数函数
DELPHI控件属性方法事件及常用函数
DELPHI控件属性方法事件及常用函数DELPHI是一种面向对象的编程语言,用于开发Windows平台上的应用程序。
在DELPHI中,控件是程序的可视化部件,用于用户界面的创建和交互。
以下是一些常用的DELPHI控件属性、方法、事件和常用函数的详细介绍。
一、控件属性:1. Name属性:用于指定控件的名称,以便在程序中引用它。
2. Caption属性:用于指定控件的显示文本。
3. Visible属性:用于控制控件是否可见。
4. Enabled属性:用于控制控件是否可用。
5. Color属性:用于指定控件的背景颜色。
6. Font属性:用于指定控件的字体。
7. Width和Height属性:用于指定控件的宽度和高度。
8. Top和Left属性:用于指定控件在父容器中的位置。
9. Parent属性:用于指定控件的父容器。
二、控件方法:1. SetFocus方法:用于使控件获得焦点。
2. Show方法:用于显示当前控件。
3. Hide方法:用于隐藏当前控件。
4. BringToFront方法:用于将当前控件移到其他控件之前显示。
5. SendToBack方法:用于将当前控件移到其他控件之后显示。
6. Invalidate方法:用于使控件的绘制区域无效,触发重绘操作。
三、控件事件:1. OnClick事件:当用户单击控件时触发。
2. OnDblClick事件:当用户双击控件时触发。
3. OnEnter事件:当控件获得焦点时触发。
4. OnExit事件:当控件失去焦点时触发。
5. OnKeyPress事件:当用户按下键盘上的字符键时触发。
6. OnMouseDown事件:当用户按下鼠标按钮时触发。
7. OnMouseUp事件:当用户释放鼠标按钮时触发。
8. OnMouseMove事件:当用户移动鼠标时触发。
四、常用函数:1. ShowMessage函数:用于在屏幕上显示一个消息框。
2. MessageBox函数:用于在屏幕上显示一个消息框,并且返回用户的选择。
delphi1-语法基础
数据类型
Object Pascal的数据类型分为两大类
标准类型
整型:Integer(2)、LongInt(4)、Byte(1). 实型:Double(8)、 Float× 布尔型:Boolean. 字符型:String、Char
自定义类型
枚举类型 子界类型 数组类型 集合类型 类类型
运算符
赋值运算符 字符串运算符 算术运算符 关系运算符 逻辑运算符
对象三要素:属性、方法、事件。 ➢属性:描述对象的一些特性,如按钮的大小、颜色。 ➢方法:对象固有的行为、动作,如按钮的move ➢事件:能被对象识别的外部动作。当单击按钮,称在 按钮上有事件(单击)发生。
任何对象都有一组预定义的属性、事件、方法,对 象只能使用其预定义的属性、方法并对预定义事件做 出响应。
事件驱动:对象根据具体的事件(外部动作) 做出相应的响应处理。
希望某对象对某特定事件做出响应处理,在其特 定事件处理过程中编写代码实现(设置对象属性 或调用对象方法等).
例:按钮对鼠标的mouseDown、mouseUp的感知。
流程控制
复合语句 条件语句 循环语句
复合语句
delphi中复合语句用保留字Begin和End;界定,同C的{ }。
赋值运算符
赋值符:由“冒号”与“等号”结合在一起 构成 使用格式:“:=” 例如,将整数5赋给变量x:
x:=5;
字符串运算符
字符串操作符:+,用于字符串连接。
‘世界’ + ‘地图’
‘世界地图’
算术运算符
Object Pascal中共有6种算术运算操作符:
+ (加号)
- (减号)
* (乘号)
/ :不管操作数是整数还是实数,操作结果都是实数。
Delphi笔记(整理)-符号和基本语法
Delphi笔记(整理)-符号和基本语法空格(#32)和控制符(#0 到#31,其中#13 叫回车符或⾏的结束符)被称为空⽩符(blank)。
特殊符号是⾮⽂字和数字字符,或这类字符的组合,它们有固定的意义。
‘[’相当于‘(.’,‘]’相当于‘.)’;‘(*’和‘*)’分别相当于‘{’和‘}’(表⽰注释)。
,!(惊叹号)、 ”(双引号)、 %(百分号)、 ?(问号)、 \(反斜杠)、 _(下划线)、 |(通道)和 ~(破折号)不是特殊符号$前缀表⽰⼀个16 进制数字,⽐如$8F标签是⼀个不超过4 位的阿拉伯数字序列,也就是从0 到9999,打头的0 没有意义。
若单引号中没有内容(’’),它被称为空串(null string)。
在⼀个引⽤串中,两个连续的单引号(’’)表⽰⼀个字符,也就是单引号本⾝(’)控制串由⼀个或多个控制字符(控制符)所组成,每个控制符包含⼀个#,后跟⼀个⽆符号整数(10进制或16 进制),整数的范围从0 到255,表⽰相应的ASCII 字符。
下⾯的控制串#89#111#117就相当于引⽤串’You’运算符包括:@ not ^ * / div mod and shl shr as + - or xor = > < <> <= >= in 和 is。
⼀些运算符的⾏为因为传给它们的数据类型不同⽽不同。
⽐如,not 运算符⽤于整数时,是对它的位进⾏求反运算,⽽对布尔类型进⾏逻辑⾮运算。
除了 ^ ,is 和 in,其它运算可应⽤在Variant 类型上。
• 不管x 和y 的类型是什么,x/y 的结果总是扩展类型(extended);对其它运算符,只要有⼀个运算数是实数类型,它的结果就是扩展类型;另外,只要有⼀个运算数是Int64 类型,它的结果就是Int64 类型;否则,结果就是整数类型。
如果⼀个运算数是整数的⼦界类型,它就像整数类型⼀样被对待。
• x div y 的值取整数,也就是取得x/y 的值,然后以0 的⽅向取得最近的整数。
第2章 Delphi语法基础资料
第2章Delphi语法基础2.1标识符与保留字2.1.1 标识符标识符是Object Pascal语言中各种成分的名称,这些成分包括变量(Var)、常量(Const)、类型(Type)、过程(Procedure)、函数(Function)、方法(Method)、单元(Unit)等。
标识符可以分为三类:标准标识符、自定义标识符和限定标识符。
1.标准标识符▪(1)标准常量,如False、True等;▪(2)标准类型,如Boolean、Char等;▪(3)标准函数,如Sin、Cos、Abs等;▪(4)标准过程,如Dispose、Get、New、Pack、Put等;▪(5)标准文件,如Input、Output等。
2.自定义标识符:自定义标识符可以由任意长的一个不带空格的字符串组成,包括字母A~Z 、a~z 、数字0~9 和下划线“_”等。
定义标识符需要遵循以下规则:▪(1)标识符不区分大小写;▪(2)标识符只能以字母或下划线开头,不能以数字开头;▪(3)标识符可任意长度,但只有前225个字符有效;▪(4)标识符中间不允许有空格;(5)不允许使用Object Pascal语言的保留字作为标识符。
3.限定标识符在Delphi程序中可引用多个单元,而各个单元中全局变量、函数、过程等可能会同名,在引用时需用限定标识符来区分它们:VarY:real;Y:=System.cos(pi);其中System称为限定符,而System.cos称为限定标识符。
2.1.2 保留字保留字由系统规定具有特定意义,不能被重新定义或作他用,定义了65个保留字。
注意:1.单词at和on具有特殊含义,不要与它们同名。
2.保留字和Object Pascal一样不区分大小写。
Object Pascal的保留字and array as asm begin caseclass const constructor destructordispinterface divdo downto else end except exports file finalization finally for function gotoif implementation in inheritedinitializationinlineinterface is label library mod nil not object of or out packed procedure program property raise record repeatresourcestringset shl shr string then threadvar to try type unit until uses var while with xor2.1.3 指令符指令字只在特殊的程序位置、或当上下文关联时有意义的程序区段有自己特殊的意义,而在其他场合,用户可对其重新定义,即可将其定义为标识符,Object Pascal不会指示出错,当用户重新定义这些指令字后,在作用域内它们就失去了原来的意义了。
delphi快速入门(一、基本语法)
delphi快速⼊门(⼀、基本语法)1、⽂件构成delphi的主模块⽂件格式为.dpr(类似C++的.sln⽂件),其它模块⽂件为.pas(类似C++的.cpp⽂件)。
所以⼀个完整的程序由⼀个.dpr和若⼲个.pas组成(1).dpr程序结构⼀个dpr由程序头、[use从句]、主程序组成,另外源⽂件联系着unit单元,⼀个典型的⼯程⽂件如下所⽰:program Project;{$APPTYPE CONSOLE}useSysUnits; //unit名称与.pas⽂件名称⼀致,⼀个.dpr中不能应⽤两个名称想⽤的.pasbegin//....end.注意:良好的程序需在.dpr中代码尽量的少,代码最好分类在.pas中,然后在.dpr⾥调⽤⼯程⽂件红的全局标识符必须声明与begin之前。
(2).pas⽂件剖析程序的每个⼦模块称为⼀个单元,每个单元存储在⼀个.pas⽂件中。
每个.pas⽂件依次包括:单元名称、Interface关键字,implementation、[initalization]、[finalization]、关键字end。
⼀个完整的pas⽂件如下所⽰:unit Unit1; //单元名称interface //interface起始部分uses ...implementation //implementation起始处uses ...initialization //initalization起始处...finalization //finalization起始处...end. //单元⽂件结尾(end后必须以句号结尾)interface下⾯可定义变量、常量、例程等。
其它地⽅也能定义标识符,但是只有在这⾥定义的标识符才是全局标识符。
在这⾥定义的例程只是⼀个原型,具体的实现部分则放在implementation中.implementation下⾯可定义例程的具体代码,在此处定义的变量、常量、例程等,只能在本implementation单元使⽤,interface部分和其它单元⽆法使⽤initialization下⾯部分可选,此部分的代码在程序启动时运⾏。
Delphi基础语法
Delphi基础语法1、LowerCase(const s:string):string、UpperCase(const s:string):string2、CompareStr(const s1,s2:string):Integer 本函数区分⼤⼩写,是对⽐字母ASCII的值,得出值的差,是从第⼀个字母开始对⽐,如果对⽐的差为0则⼀直往后⾯字母进⾏对⽐,直⾄⽐较不为0;CompareText(const s1,s2:string):Integer 本函数不区分⼤⼩写3、Length(s):Integer 返回字符串的长度4、Delphi 中不等于⽤<>5、Delphi语法不区分⼤⼩写6、pos(s1,s2)Integer :查找s1在s2中的位置,如果s2中不存在s1,则结果为07、AppendStr(var s1,const s2):string :功能相当s1:=s1+s2,但是效率更快8、Copy(str,m,n):string :在字符串str中截取从第m个字符开始长度为n的⼦字符串,并作为函数的返回值,若m⼤于字符串的长度则返回空字符串;9、Delete(str,m,n) :在字符串str中删除从第m个字符开始长度为n的⼦字符串,没有返回值10、Insert(str1,str,k):将字符串str1插⼊到字符串str的第k个位置处,没有返回值;11、IntToStr(m):string; StrToInt(s):Integer; FloatToStr(f):string; StrToFloat(s):Extended;12、if语句://1、单分⽀语句if(条件) then语句1;//2、双分⽀语句if(条件) then语句1 //没有分号else语句2; //这个if判断结束之后必须有分号//3、如果分⽀下是多语句,必须使⽤begin endif(条件) thenbegin语句1;语句2;endelsebegin语句3;语句4;end;13、Case语句Case (表达式)of值1:语句1;值2:语句2;值3,值3:语句3;else//else语句之前的可以有分号;语句n;end14、while语句while(循环条件)dobegin循环体;end;//循环体中如果遇到break会直接跳出循环;如果遇到continue程序会停⽌本次循环,重新判断循环条件,根据循环条件的值,决定是否继续执⾏循环;//在Repeat语句与For语句都可以使⽤这两个语句;15、Repeat语句Repeat循环体;//循环体中的语句不需要使⽤begin...endUntil(循环条件);//先执⾏循环体,然后再判断循环条件,如果条件为FALSE继续执⾏循环体,为TRUE则退出循环;16、For语句For 循环变量:=初始值 To(DownTo) 终⽌值 DObegin循环体;end;//To是递增,判断循环变量是否⼤于终⽌值,如果是则结束循环,如果不是则执⾏循环体,每次循环之后循环变量⾃动递增1;DownTo是递减,判断循环变量是否⼩于终⽌值,如果是则结束循环,如果不是则执⾏循环体,每次循环之后循环变量 17、数组//⼀维静态数组定义格式Type数组类型名=Array[下标类型] of基类型;//例如Typenumber=Array[1..10] of Integer;//定义(声明)数组变量varnum1:number;//也可以使⽤更为简单的⽅法来定义数组变量varnum1:Array[1..10] of Integer;//引⽤数组元素的格数数组名[下标]//例如For i:=1 To 10 Donum1[i]=i;。
delphi语法基础12
delphi语言基础知识:数据类型、表达式、函数,希望对大家有所帮助.一、数据类型整数类型integer -32768~32767短整型shortint -128~127长整型longint -2147483648~2147483647字节型type 0~255字型word 0~65535实数型real:包括正实数、负实数和实数零。
实数的绝对值在1E-38到1E+38之间。
形式有两种:⑴十进制表示法人们日常使用的带小数点的表示方法。
如0.0,-0.0,5.61,-8.0,等都是实数形式。
⑵科学记数法科学记数法是采用指数形式的表示方法,如1.25×105可表示成1.25E+05。
在科学记数法中,字母“E”表示10这个“底数”,而E之前为一个十进制表示的小数,称为尾数,E之后必须为一个整数,称为"指数"。
如-1234.56E+26 , 0.268E-5 , 1E5是合法形式,而.34E12 , 2.E5 , E5 ,E,1.2E+0.5都不是合法形式的实数。
和整数相比,实数能表示的范围大得多,但值得注意的是实数的运算整数的运算速度慢且无法像整数那样精确表示,只能近似表示。
如2.03.0比23的运算慢。
字符型char 括在两个单引号中的字符:‟a‟表示字符;a表示标识符,‟3‟ 表示字符;3表示整数值布尔型boolean布尔型有两个值,真和假,分别用标准常量名true和false表示,序号分别为1和0。
二、常量在程序运行过程中,其值不能被改变的量称为常量。
如12,14.8,'abc',true等。
Pascal中有一个标准标识符Maxint,它代表所使用的计算机系统允许的最大整型数,而最小的整型数即为-Maxint-1。
Turbo Pascal还定义了长整数常量MaxLongInt,其值为2147483647。
字符常量:是由字符组成,所有字符来自ASCII字符集,共有256个字符。
第2章Delphi语法基础
第2章Object Pascal语言基础Delphi的编程语言是Object Pascal,即面向对象的Pascal语言。
自Delphi 7 开始,Object Pascal语言改称为Delphi 语言。
第1节保留字和标识符一、保留字保留字是由系统使用的具有特殊含义的单词(如And、If、For、Var等),详见教材16~17页表2.1。
二、指令符指令符也是由系统使用的具有特殊含义的单词(如Public、Private等),详见教材17页表2.2。
三、标识符标识符(Identifiers)用于表示常量、变量、域(字段)、类型、属性、过程、函数、程序、单元、库和包(packages)的名称。
Object Pascal标识符的声明和使用应遵循以下规定:∙长度任意,但仅前255个字符有效。
∙首字符必须是字母或下划线。
∙不能含有空格,中间的字符可以是字母、数字和下划线。
∙不能使用保留字(reserved words)作为标识符。
∙不区分大小写,例如sName与sname等价。
第2节注释三种注释形式:{注释内容}(*注释内容*)//注释内容注意:如果注释符{之后紧跟一个美元符号$(如{$R *.res}),表示该语句是一条编译指令,它与普通的注释不同,通常由Delphi自动生成,用于设置编译过程,不要修改或删除它。
第3节常量和变量一、常量1. 普通常量如:123,-100,3.14,'abc',True等。
2. 符号常量符号常量用保留字Const声明,格式如下:Const常量名 = 表达式;例如:ConstPI = 3.1415926535897932385;College = '山东教育学院';Numeric = ['0'..'9']; // 数字字符集合Alpha = ['A'..'Z', 'a'..'z']; // 英语字母集合AlphaNum = Alpha + Numeric; // 集合的并2. 变量变量声明的格式:var变量名表:类型;例如:varX, Y, Z: Double;I, J, K: Integer;S1, S2: String;Digit: 0..9; // 子界类型Flag: Boolean;单元级或全局变量可以在声明时初始化(每个声明语句仅限一个变量)。
Delphi语言语法基础 适用于初学者
Shortint -128 .. 127
1 有符号8位
Smallint -32768 .. 32767
2.3 数据类型
2.3.1 有序类型 有序类型定义一个有次序的数值集合,
除了它的第一个值以外,其它每个值都有一 个唯一的前驱值;除了最后一个外,其它每 个值都有一个唯一的后继值。并且,每个值 都有一个序数决定它在这个类型中的位置。
包括:整型、字符型、布尔型、枚举型 和子界型。
2.3 数据类型
2.3.1 有序类型 1. 整型
2.4 运算符与表达式
2.4.2 Delphi语言中的运算符及其优先级
1.赋值运算符(:=) 赋值运算符“:=”是先计算赋值运算符右
边表达式的值,再将结果赋给左边的变量。
2.算术运算符 P24 +、-、*、/、Div、Mod
2.4 运算符与表达式
2.4.2 Delphi语言中的运算符及其优先级
3.关系运算符 关系运算符是对两个类型相容且可以比
2.3 数据类型
TYPE TDate = record Year: Integer; Month: Byte; Day: Byte; end;
VAR BirthDay: TDate;
BEGIN BirthDay.Year := 1997; BirthDay.Month := 2; BirthDay.Day := 14;
2.1 标识符和保留字
在Delphi语言中,有一类标识符是系统预先定义 的,它们用于标识系统预先定义的标准函数、标准 过程、标准类型、标准常量及标准文件。 1. 标准常量,如:False、True、Maxint; 2. 标准类型,如:Boolean 、Char 、TDateTime; 3. 标准函数,如:Abs、Eof、ShowMessage、Sqrt; 4. 标准过程,如:Dispose、New、Read、ReadIn、
DELPHI基本语法
DELPHI基本语法Delphi的编程语言是以Pascal为基础的。
Pascal语言具有可读性好、编写容易的特点,这使得它很适合作为基础的开发语言。
同时,使用编译器创建的应用程序只生成单个可执行文件(.EXE),正是这种结合,使得Pascal成为Delphi这种先进开发环境的编程语言。
本章中,我们将讨论Object Pascal的主要特点,并讲解如何在事件处理过程和其他应用程序中,使用它来编制程序代码。
本章将讲解Delphi应用程序中最常用的Object Pascal语法,而不是Pascal语言的一切细节。
如果您完全不熟悉Pascal编程,请参阅一些基础的Pascal教程。
如果您具有编程经验,并能熟练地使用其他流行程序语言,您将在本章的Object Pascal中发现一些相同的概念。
如果您已经熟悉了Borland Pascal,就可以快速浏览或跳过本章。
2.1 编写Object Pascal程序代码在前边的章节中,我们通过例程,已经编写了几行简单的代码。
在本章中,我们将从熟悉Pascal编程的角度,配合实例,讲解Object Pascal编程的基本方法。
在编写自己的Object Pascal程序时,要注意程序的可读性。
Pascal语言是英式结构语言,在程序中选择合适的缩排、大小写风格,并在需要时将程序代码分行,会使得程序代码能够很容易地被自己和他人读懂。
一般的程序员都有这样的体验:如果不给程序加上适当的注解,一段时间后,自己也难以理清程序的流程。
给程序及时地加上注释是良好的编程习惯。
Delphi的注释需要加注在{}之间,编辑器会把它们处理成为空白。
Delphi保留了Borland Pascal编辑器的风格,关键字采用黑体字,被注释的部分会变暗,这使得编程风格良好,易读易写。
2.1.1 编写赋值语句在事件处理过程中,最常用到的工作就是把一个新值赋给一个属性或变量。
在设计用户界面时,可以使用Object Inspector(Object Inspector)来改变其属性;但有时需要在程序执行时改变属性的值,而且有些属性只能在执行时改变,这些属性在Delphi的在线帮助的“Proprety”主题中被标为执行期属性。
Delphi常用语法和控件用法
♦ Trim(const S: string): string;
删除字符串前后的空格及控制字符 ♦ TrimLeft(const S: string): string; 删除字符串前的空格及控制字符 ♦ TrimRight(const S: string): string; 删除字符串后的空格及控制字符
取值范围 扩 展 ANSI 字 符集 UniCode 字 符 集 扩 展 ANSI 字 符集
数据库系统开发
字符型适用的运算符
♦ 关系运算符:=、<>、>、>=、<、<= 关系运算符: 、 、 、 、 、
数据库系统开发
String类型 类型
♦ 字符串String是代表一组字符的变量类型
,每一种语言都有自己的字符串类型的 存储和使用方法。
void myloop() { int i; int t = 0; i = 0; while(i<10) { t := t+i; i++; } }
数据库系统开发
♦ Object Pascal中的 中的while循环 中的 循环
procedure myloop var i , t : Integer; begin t := 0; i := 0; while i<10 do begin t := t + i; i := i + 1; end; end;
数据库系统开发
变量
♦ c语言中的函数 语言中的函数
void foo(void) { int x = 1; int y = 2; x++; y--; }
数据库系统开发
♦ 用Object Pascal编写 编写
DELPHI控件属性方法事件及常用函数
DELPHI控件属性方法事件及常用函数DELPHI是一种基于对象的编程语言,具有强大的界面设计能力和丰富的控件库。
在DELPHI中,控件是程序中的基本构建块,用于创建图形用户界面(GUI)。
每个控件都有一组属性、方法和事件,可以通过它们来实现控件的定制和交互。
下面是一些常用的DELPHI控件属性、方法、事件及常用函数的介绍。
一、控件属性1. Name:控件的名称,用于在程序中标识和引用控件。
2. Left、Top、Width、Height:控件的位置和尺寸。
3. Caption:显示在控件上的文本。
4. Visible:控件是否可见。
5. Enabled:控件是否可用。
6. Color:控件的背景色。
7. Font:控件的字体设置,包括字体名称、大小、颜色等。
8. Align:控件相对于其父容器的对齐方式。
9. Parent:控件的父容器。
二、控件方法1. Show:显示控件。
2. Hide:隐藏控件。
3. SetFocus:设置控件获得焦点。
4. BringToFront:将控件置于顶层。
5. SendToBack:将控件置于底层。
6. Invalidate:使控件无效,并触发重绘。
7. Perform:发送自定义消息给控件。
8. Free:释放控件。
三、控件事件1. OnClick:鼠标单击控件时触发的事件。
2. OnDblClick:鼠标双击控件时触发的事件。
3. OnEnter:控件获得焦点时触发的事件。
4. OnExit:控件失去焦点时触发的事件。
5. OnKeyDown、OnKeyPress、OnKeyUp:键盘按下、按住和释放时触发的事件。
四、常用函数1. MessageBox:显示一个消息框,用于向用户显示一段消息并等待用户的响应。
2. InputBox:显示一个输入框,用于向用户获取一个字符串输入。
3. StrToInt、StrToFloat:将字符串转换为整数或浮点数。
4. IntToStr、FloatToStr:将整数或浮点数转换为字符串。
DELPHI控件属性、方法、事件及常用函数
DELPHI控件属性、方法、事件及常用函数DELPHI控件属性、方法、事件及常用函数一.TmainMemu控件该控件是一个标准的菜单控件,运用它为窗口提供菜单。
该对象的层次结构为:TObject—TPersistent--TCompoment—TMenu。
属性1-AutoMetge:Boolean功能:用于确定非MID程序中非主Form上的菜单要不要和主Form 的菜单合并。
主Form菜单AutoMerge的特性总是False。
此外,还要设置菜单项的GroupIndex属性。
2-BiDiMode:TBiDiMode功能:控制菜单的布置模式,是从左至右,还是从右至左。
3-Handle:HMENU功能:菜单窗口句柄。
4-Images:TImagList功能:出现在菜单项左边的图像列表。
菜单项通过设置它们的ImageIndex属性,以确定图像列表中的哪—个图像出现在菜单项的左边。
5-Items:TMenuItem功能:菜单项,描述了菜单的元素。
6-OwnerDraw:Boolean功能:确定菜单项是否可以由应用程序来画。
7-ParentBiDiMode:Boolean功能:确定BiDiMode属性是否从父辈继承而来,菜单的父辈一般为Form。
方法1-GetOle2AcceleratorTabel:(var AccelTable:HAccel;var AccelCount:Integer;Group:array of Integer)功能:返回主菜单的加速键表,其参数如下AccelTabel:设置加速键表的句柄。
AccelCount:设置加速键的总数。
Groups:即GroupIndex的值。
2-Merge:功能:组合Form上的一个主菜单与另一个非MDI应用程序的主菜单。
调用Merge方法将另一个主菜单组合进该菜单。
参数Menu指定了要合并的菜单3-PopulateOle2Menu:(ShareMenu:HMenu; Groups:array of Integer; var Widths:array of Longint)功能:组装OLE菜单。
Delphi基本语法格式与讲解
beginA:=B;C:=A*2end;赋值语句在Pascal语言中赋值语句用冒号-等号操作符“:=”,条件语句If语句对if-then型语句,仅当条件满足时,语句才执行;if CheckBox1.Checked thenShowMessage('CheckBox1is checked')对if-then-else型,if语句在两条语句中选择一条执行if CheckBox2.Checked thenShowMessage('CheckBox2is checked')elseShowMessage('CheckBox2is NOT checked');要注意的是,不能在第一句之后、else关键词之前加分号,否则编译器将告知语法错误。
实际上,if-then-else语句是单纯的一条语句,因此不能在语句中间加分号。
if语句可以很复杂,句子中的条件部分可以是一系列条件(用and、or、not等布尔操作符联接起来),if语句又可以嵌套另一个if语句begin//compound if statementif CheckBox1.Checked thenif CheckBox2.Checked thenShowMessage('CheckBox1and2are checked')elseShowMessage('Only CheckBox1is checked')elseShowMessage('Checkbox1is not checked,who cares for Checkbox2?')end;Case语句case语句包括用来选值的表达式、可能值序列或一个取值范围。
这些值应该是常量,并且它们必须唯一,而且应属于有序类型。
Case语句最后可以带一个else语句,当没有一个标签与选择器的值一致时,执行else语句。
Delphi基本语法格式和常用函数
Delphi基本语法格式和常用函数分类:《Delphi中的进制转换(如hex与bin)》ShowMessage(Format('%d:%d', [pos, length(keys)])+':'+keys);Format('%d:%d:%x', [pos, key_len,byte(pchar(keys)[0])]) // 其中keys为string类型《delphi快捷键-和vim对应上的快捷键》delphi延时函数代码!Delphi文件操作函数Delphi关于多线程同步的一些方法,信号量,互斥量和临界区delphi轻松实现原子操作-CreateSemaphore获得Integer和DWord类型的最大值ShowMessage(IntToStr(High(Integer)));ShowMessage(IntToStr(High(DWord)));// delphi的sleep()就是一个ms毫秒级延时函数,但是使用sleep会导致程序短暂pendingprocedure TForm1.delay(MSecs: Integer);//延时函数,MSecs单位为毫秒(千分之1秒)var FirstTickCount, Now: Longint;beginif MSecs <> 0 then beginFirstTickCount := GetTickCount();repeatApplication.ProcessMessages;Now := GetTickCount();until (Now - FirstTickCount >= MSecs) or (Now < FirstTickCount); end;end;varwrite_semaphore:THandle;write_semaphore:=CreateSemaphore(0, 1, 1, nil);procedure TForm1.Button1Click(Sender: TObject);beginWaitForSingleObject(com.write_semaphore, INFINITE); // 返回值WAIT_TIMEOUT和WAIT_OBJECT_0ReleaseSemaphore(com.write_semaphore, 1, nil);end;var file_name:string;file_name:='c:\luther.gliethttp.txt';send_fd:=FileOpen(file_name, fmOpenRead or fmShareDenyWrite); FileWrite(com.log_fd, PChar(file_name)^, length(file_name));GetForegroundWindow找到xp操作系统上当前前景窗体句柄. GetActiveWindow 只是获取当前程序中(严格地说是线程中)被激活的窗口; GetForegroundWindow 是获取当前系统中被激活的窗口.《Delphi中FindWindow和FindWindowEx的语法和用法》《delphi获取操作系统已运行的所有窗口程序-如打开的所有记事本的标题》两个函数的级别不一样, 一个是线程级、一个是系统级.被激活的窗口不一定是顶层窗口(最上面的窗口).// 向当前占有焦点的控件发送剪切板粘帖指令if Edit1.Focused or Edit3.Focused or Edit4.Focused then SendMessage(Form1.ActiveControl.Handle, WM_PASTE, 0, 0);==================================char类型数组和string之间的使用以及bin数据转换为hex函数使用// 这是摘自Classes.pas库中的实现代码procedure BinToHex(Buffer, Text: PChar; BufSize: Integer); assembler; constConvert: array[0..15] of Char = '0123456789ABCDEF';varI: Integer;beginfor I := 0 to BufSize - 1 dobeginText[0] := Convert[Byte(Buffer[I]) shr 4];Text[1] := Convert[Byte(Buffer[I]) and $F];Inc(Text, 2);end;end;procedure TForm1.Button3Click(Sender: TObject); var strs:string;p:pchar;i,max:Integer;beginstrs:='abcd1234';max:=length(strs);p:=Pointer(strs);i:=0;while (i <= max) dobeginShowMessage(p[i]);Inc(i);end;end;procedure TForm1.Button4Click(Sender: TObject); var strs:string;hex:array of char;max:integer;hex_len:Integer;beginstrs:='你cd1234';max:=length(strs);hex_len:=2*max;//+1;SetLength(hex, hex_len);BinToHex(pointer(strs), pointer(hex), max);ShowMessage(inttostr(length(string(hex))));hex_len:=high(hex)+1;max:=hex_len shr 1;//div 2;ShowMessage(IntToStr(hex_len)+':'+inttostr(max));strs:='';SetLength(strs, max);HexToBin(pointer(hex), pointer(strs), hex_len);ShowMessage(strs);end;function HexToBin(Text, Buffer: PChar; BufSize: Integer): Integer procedure BinToHex(Buffer, Text: PChar; BufSize: Integer);function IntToHex(Value: Integer; Digits: Integer): string; overload; function StrToInt(const S: string): Integer;==================================Format('x=%d',[12]);//'x=12'//最普通Format('x=%3d',[12]);//'x=12'//指定宽度Format('x=%f',[12.0]);//'x=12.00'//浮点数Format('x=%.3f',[12.0]);//'x=12.000'//指定小数Format('x=%8.2f'[12.0])//'x=12.00';Format('x=%.*f',[5,12.0]);//'x=12.00000'//动态配置Format('x=%.5d',[12]);//'x=00012'//前面补充0Format('x=%.5x',[12]);//'x=0000C'//十六进制Format('x=%1:d%0:d',[12,13]);//'x=1312'//使用索引Format('x=%p',[nil]);//'x=00000000'//指针Format('x=%1.1e',[12.0]);//'x=1.2E+001'//科学记数法Format('x=%%',[]);//'x=%'//得到"%"S:=Format('%s%d',[S,I]);//S:=S+StrToInt(I);//连接字符串去除字符串中所有空格,字符串替换字符串str:=StringReplace(str, ' ', '', [rfReplaceAll]);functionStringReplace(const S, OldPattern, NewPattern: string; Flags: TReplaceFlags): string;数组和string字符串之间拷贝数据.var buf:array [0..63] of char;name:string;......name:=name+#13+#10+'hello!'+#13+#10+''; strpcopy(pchar(@buf),name);high(buf)取得数组最大值,此处为63low(buf)获得数组最小值,此处为0varstrs:TStringList;beginstrs:=TStringList.Create;strs.Delimiter:=' ';strs.DelimitedText:='I am a programer';strs[0]strs[1]等就是去除了所有空格的一个个单词了字符串string常用处理函数uses StrUtils;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', 'I Like Reading!'); // 查找Like的位置,此处为3,如果没有返回0Trim(str); // 删除头尾的所有空格TrimLeft(str);TrimRight(str);===================var S: String;arrText: array of Char; // 定义一个动态数组SetLength(S, 10); // 当设置后,S变量只能赋值长度为10的字符串。
第2章 Delphi的语法基础
2.5 常用函数与过程 为了尽可能地减少开发应用程序的难度和工作 量,Delphi提供了一个内容十分丰富的程序 库——Run-Time Library(RTL),其中包含 了大量的基本函数、过程、常量和变量定义。 RTL包含的函数、过程、常量等都是在 System单元中定义的,而System单元会自动 地被其他程序单元引用,所以用户编写的应 用程序可以随时调用RTL中可用的函数和过 程,而不用在程序的uses语句中引用该单元。
2.4.2 位运算符 位运算是指对操作数进行的按位逻辑运算,其 运算对象是整数,运算结果也是整数。 Object Pascal有6个位运算符,见表2-11。
2.4.3 字符串运算符 Object Pascal只有一种字符串运算符,即连接 运算符“+”,该运算符用于连接两个或更多 的字符串。 最简单的字符串表达式是字符常量、字符串 常量、字符变量、字符串变量或字符函数引 用。字符串表达式的格式为: 字符串表达式〉 〈字符串〉 〈字符〉 〈字符串表达式〉+ {〈字符串〉|〈字符〉}
2.2 数据类型
类别 Integer Cardinal ShortInt 整型( 整型(Integer) ) SmallInt LongInt Byte Word Real Single 实型(Real) 实型( ) Double Extended Comp Currency Boolean 布尔型(Boolean) 布尔型( ) ByteBool WordBool LongBool 字符型( 字符型(Char) ) Char String 类型 大小( 大小(byte) ) 2/4 2/4 1 2 4 1 2 6 4 8 10 8 8 1 1 2 4 1 0~255 范围 -32768~32767/-2147483648~2147483647 0~ 65535/0~2147483647 -128~127 -32768~32767 -2147483648~2147483647 0~255 0~65535 2.9E-39~1.7E38,-2.9E-39~-1.7E38 , 1.5E-45~3.4E38,-1.5E-45~-3.4E38 , 5.0E-324~1.7E308,-5.0E-324~-1.7E308 , 3.4E-4932~1.1E4932,-3.4E-4932~-1.1E4932 , -9.2E18~9.2E18 -922337203685477.5808~922337203685477.5807 True/False True/False True/False True/False ASCII码 码 ASCII码 码
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Delphi基本语法格式和常用函数分类:《Delphi中的进制转换(如hex与bin)》ShowMessage(Format('%d:%d', [pos, length(keys)])+':'+keys);Format('%d:%d:%x', [pos, key_len,byte(pchar(keys)[0])]) // 其中keys为string类型《delphi快捷键-和vim对应上的快捷键》delphi延时函数代码!Delphi文件操作函数Delphi关于多线程同步的一些方法,信号量,互斥量和临界区delphi轻松实现原子操作-CreateSemaphore获得Integer和DWord类型的最大值ShowMessage(IntToStr(High(Integer)));ShowMessage(IntToStr(High(DWord)));// delphi的sleep()就是一个ms毫秒级延时函数,但是使用sleep会导致程序短暂pendingprocedure TForm1.delay(MSecs: Integer);//延时函数,MSecs单位为毫秒(千分之1秒)var FirstTickCount, Now: Longint;beginif MSecs <> 0 then beginFirstTickCount := GetTickCount();repeatApplication.ProcessMessages;Now := GetTickCount();until (Now - FirstTickCount >= MSecs) or (Now < FirstTickCount); end;end;varwrite_semaphore:THandle;write_semaphore:=CreateSemaphore(0, 1, 1, nil);procedure TForm1.Button1Click(Sender: TObject);beginWaitForSingleObject(com.write_semaphore, INFINITE); // 返回值WAIT_TIMEOUT和WAIT_OBJECT_0ReleaseSemaphore(com.write_semaphore, 1, nil);end;var file_name:string;file_name:='c:\luther.gliethttp.txt';send_fd:=FileOpen(file_name, fmOpenRead or fmShareDenyWrite); FileWrite(com.log_fd, PChar(file_name)^, length(file_name));GetForegroundWindow找到xp操作系统上当前前景窗体句柄. GetActiveWindow 只是获取当前程序中(严格地说是线程中)被激活的窗口; GetForegroundWindow 是获取当前系统中被激活的窗口.《Delphi中FindWindow和FindWindowEx的语法和用法》《delphi获取操作系统已运行的所有窗口程序-如打开的所有记事本的标题》两个函数的级别不一样, 一个是线程级、一个是系统级.被激活的窗口不一定是顶层窗口(最上面的窗口).// 向当前占有焦点的控件发送剪切板粘帖指令if Edit1.Focused or Edit3.Focused or Edit4.Focused then SendMessage(Form1.ActiveControl.Handle, WM_PASTE, 0, 0);==================================char类型数组和string之间的使用以及bin数据转换为hex函数使用// 这是摘自Classes.pas库中的实现代码procedure BinToHex(Buffer, Text: PChar; BufSize: Integer); assembler; constConvert: array[0..15] of Char = '0123456789ABCDEF';varI: Integer;beginfor I := 0 to BufSize - 1 dobeginText[0] := Convert[Byte(Buffer[I]) shr 4];Text[1] := Convert[Byte(Buffer[I]) and $F];Inc(Text, 2);end;end;procedure TForm1.Button3Click(Sender: TObject); var strs:string;p:pchar;i,max:Integer;beginstrs:='abcd1234';max:=length(strs);p:=Pointer(strs);i:=0;while (i <= max) dobeginShowMessage(p[i]);Inc(i);end;end;procedure TForm1.Button4Click(Sender: TObject); var strs:string;hex:array of char;max:integer;hex_len:Integer;beginstrs:='你cd1234';max:=length(strs);hex_len:=2*max;//+1;SetLength(hex, hex_len);BinToHex(pointer(strs), pointer(hex), max);ShowMessage(inttostr(length(string(hex))));hex_len:=high(hex)+1;max:=hex_len shr 1;//div 2;ShowMessage(IntToStr(hex_len)+':'+inttostr(max));strs:='';SetLength(strs, max);HexToBin(pointer(hex), pointer(strs), hex_len);ShowMessage(strs);end;function HexToBin(Text, Buffer: PChar; BufSize: Integer): Integer procedure BinToHex(Buffer, Text: PChar; BufSize: Integer);function IntToHex(Value: Integer; Digits: Integer): string; overload; function StrToInt(const S: string): Integer;==================================Format('x=%d',[12]);//'x=12'//最普通Format('x=%3d',[12]);//'x=12'//指定宽度Format('x=%f',[12.0]);//'x=12.00'//浮点数Format('x=%.3f',[12.0]);//'x=12.000'//指定小数Format('x=%8.2f'[12.0])//'x=12.00';Format('x=%.*f',[5,12.0]);//'x=12.00000'//动态配置Format('x=%.5d',[12]);//'x=00012'//前面补充0Format('x=%.5x',[12]);//'x=0000C'//十六进制Format('x=%1:d%0:d',[12,13]);//'x=1312'//使用索引Format('x=%p',[nil]);//'x=00000000'//指针Format('x=%1.1e',[12.0]);//'x=1.2E+001'//科学记数法Format('x=%%',[]);//'x=%'//得到"%"S:=Format('%s%d',[S,I]);//S:=S+StrToInt(I);//连接字符串去除字符串中所有空格,字符串替换字符串str:=StringReplace(str, ' ', '', [rfReplaceAll]);functionStringReplace(const S, OldPattern, NewPattern: string; Flags: TReplaceFlags): string;数组和string字符串之间拷贝数据.var buf:array [0..63] of char;name:string;......name:=name+#13+#10+'hello!'+#13+#10+''; strpcopy(pchar(@buf),name);high(buf)取得数组最大值,此处为63low(buf)获得数组最小值,此处为0varstrs:TStringList;beginstrs:=TStringList.Create;strs.Delimiter:=' ';strs.DelimitedText:='I am a programer';strs[0]strs[1]等就是去除了所有空格的一个个单词了字符串string常用处理函数uses StrUtils;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', 'I Like Reading!'); // 查找Like的位置,此处为3,如果没有返回0Trim(str); // 删除头尾的所有空格TrimLeft(str);TrimRight(str);===================var S: String;arrText: array of Char; // 定义一个动态数组SetLength(S, 10); // 当设置后,S变量只能赋值长度为10的字符串。