




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Delphi入门与提高Delphi 入门与提高Delphi 基础知识Delphi入门与提高为什么选择 Delphin可视化编程,方便易学n组件众多、编程效率高n建立在BDE上的数据库连结n功能强大的调试器n独立执行的应用,不需要运行库Delphi入门与提高一个简单的例程procedure TForm1.Button1.Click(Sender: TObject);begin ption := 嗨!嗨! + Edti1.Text + ,欢迎来到欢迎来到Delphi的世界!的世界!;end;procedure TForm1。Button2.Click(Sender: TObject);begin
2、Close;end;Delphi入门与提高Object Pascaln常量和变量n数据类型n语句n过程和函数n程序结构Delphi入门与提高常量和变量n常量n变量n类型常量Delphi入门与提高常量n常量是在程序中多次引用的固定量的名字。它的值在程序执行期间保持不变,一般也不能改变。n常量的值可以是简单的一个数、一条字符串,也可以是其他常量的计算结果 n语法: const 常量名 = 常量值 n示例: const CITY = 南京; GreatCity = CITY + 是一座历史悠久 的城市; Delphi入门与提高变量n变量是一个特定数据实体,它有预定义的数据类型,并且可在内存中某个唯一
3、地址存放指定类型的值。n变量可在程序运行的过程中动态的修改。n变量有四个属性:名称、类型、变量值和占用的内存地址。n语法var 变量名1, ,变量名n: 类型;n示例 var iMyAge: Integer; sCityName: String; Delphi入门与提高类型常量n类型常量不是常量!缺省的情况下,它是静态变量。n只有当设置Assigned typed constants属性为否,或者添加$J-时,类型常量的值才不可以改变。 n语法 const 类型常量名: 类型 = 值; n示例 const MyAge: Integer = 23;Delphi入门与提高数据类型n整数n实数n布尔
4、数n字符串n集合n数组n指针nDelphi入门与提高整数类型类型范围 状态字节数 Integer -231231-1有符号4Cardinal0232-1 无符号4ShortInt -128127 有符号1Int64-263263-1 有符号 8Byte 0255 无符号 2Word 065535 无符号 4Delphi入门与提高实数类型(浮点数)类型范围字节数有效位数Real 5.010-324 1.7103088 1516 Single1.510-453.41038 478 Double5.010-3241.710308 81516 Extended3.610-49511.7104932 1
5、01920 Currency-922337203685477.5808922337203685477.5807 81920 Delphi入门与提高数值类型的运算n算术运算 n整数:+、-、*、/、div(整除)、mod(取余)。注意“/”运算符所的结果为实数 n实数:+、-、*、/ n逻辑运算 n、 =、 =、 、 、 = n位运算 nnot、 and、 or、 xor、 shl、 shr (位运算只能对整数进行操作 )Delphi入门与提高数值运算的溢出n整数溢出 n除0(EZeroDivide)n上溢(EOverFlow) n下溢(EUnderFlow) Delphi入门与提高布尔类型 n
6、Boolean类型只有两个值:TRUE和FALSE。n布尔变量支持三中逻辑运算:not、and和or Delphi入门与提高字符类型类型字符集 字节数 AnsiCharSBCS,MBCS1WideChar Unicode2Char等价于AnsiChar1Delphi入门与提高Pascal 字符串类型 最多字符 字节数 字符集 ShortString 2552256 ANSI向后兼容AnsiString23142GB ANSI(SBCS,MBCS)LongString23142GB ANSI(SBCS,MBCS)WidString23042GB Unicode*字符串类型String实际上声明的
7、是AnsiString类型 Delphi入门与提高Null 字符串类型 说明PCharNull 式字符串,ANSI字符,向后兼容PAnsiCharNull 式字符串,ANSI(SBCS,MBCS)PWideCharNull 式字符串,Unicode字符集PString指向String的指针Pointer无类型指针,可以指向任何类型Delphi入门与提高字符与字符串n声明var ch: Char(字符) s: String(Pascal字符串) p: PChar (Null字符串) Name: Array 0.10 of Charn转换p := PChar(s);s := String(p);c
8、h := p1;ch := s1;Delphi入门与提高枚举、子域和集合n枚举:TFontStyle = (fsBold, fsItalic, fsUnderline, fsStrikeOut); n子域:TMyNumber = 1.100; n集合:集合类型名 = set of 元素类型 TFontStyles = set of TFontStyle;TCharSet = set of CharDelphi入门与提高数组n一维静态数组数据类型名称 = Array 下标定义 of 类型名称 n数组的引用数组名称下标n动态数组的长度设定SetLength(数组名称)ntype TIntArr =
9、 Array 0.99 of Integer;var MyIntArr: TIntArr或者var MyIntArr: Array 0.99 of Integer;nMyIntArr0 := 10;Delphi入门与提高指针类型n指针存放的并不是真正的数据,而是数据在内存中的地址n指针的值为nil时,代表它没有指向任何数据n指针也有类型,不经过强制类型转换,指针不能指向和自己类型不同的变量。nPointer类型的指针可以指向任何变量nvar p: Pointer;pInt: Integer;iWidth: Integer;niWidth := 30;pInt := iWidth;iWidth
10、:= pInt + 1;Delphi入门与提高语句n表达式n赋值语句n复合语句n条件语句n循环语句Delphi入门与提高表达式以及操作符优先级 表达式是由操作符和操作数组成的 操作符有以下优先级操作符优先级 类别 not1单目运算* / div mod shl shr and2乘法运算+ - or xor3加法运算= = in4关系运算Delphi入门与提高赋值语句n赋值语句左右两边必须数据类型一致,或者赋值号右边的数据类型可转化成左边的类型。 n对不同类型间进行赋值时,必须注意数据的截断等可能的错误ns := 你好niWidth := iRight iLeftndSpace := Doubl
11、e(iWidth)Delphi入门与提高复合语句n复合语句以Begin开头,以End结尾,Pascal把它当作一条语句 n复合语句书写时要注意缩进nBegin语句1;语句2;语句n;EndDelphi入门与提高条件语句 nIfElseThen 语句 nCase语句Delphi入门与提高IfElseThen 语句 n当布尔表达式为真时,运行语句1,否则运行语句2n语句1后不能加分号nelse总是和最近的if配对nif 布尔表达式 then语句1else语句2;nif 布尔表达式1 thenbeginif 布尔表达式2 then语句1endelse if 布尔表达式3 then语句2else语句3
12、;Delphi入门与提高Case语句n当表达式的值在莫个值域中时,运行相应的语句,否则运行else后的语句nCase 表达式 of值域1: 语句1;值域2: 语句2; 值域n: 语句n;else语句m;end;Delphi入门与提高循环语句n While Do 语句nRepeat Until 语句 nFor 语句Delphi入门与提高while do 语句 n当布尔表达式为真时,将一直运行循环体nwhile 语句中的循环体有可能一次也不运行nwhile 布尔表达式 do语句nwhile 布尔表达式 dobegin语句1;endDelphi入门与提高repeat until 语句n当布尔表达式为
13、真时,将终止运行循环体nrepeat语句中的循环体最少运行一次nrepeat语句不需要beginendnrepeat语句1;语句2;语句nuntil 布尔表达式Delphi入门与提高for 语句n变量再初值和终值之间时,运行循环体语句n变量只能是序数类型nfor 变量:=初值 to 终值 do语句;nfor 变量:=初值 downto 终值 do语句;Delphi入门与提高break 和 continuenbreak 跳出当前循环ncontinue 不运行后面的语句,直接开始下一次循环nfor i:=0 to 99 dobegin if MyArrIiMax then continue; In
14、c(iCount);endnrepeat if not Assigned(p) then break; until p.Width 10Delphi入门与提高过程和函数n过程和函数统称子程序,都是指一段在程序中被调用的代码。n对于编程者来说,过程和函数主要的不同之处在于函数有返回值,而过程没有。 Delphi入门与提高过程和函数的实现nprocedure 过程名称(参数表);局部声明块;begin可执行语句;end;nfunction 函数名称(参数表): 返回值类型;局部声明块begin可执行语句;Result := 函数返回值end;Delphi入门与提高子程序的参数n子程序名(修饰词1
15、参数1: 类型1;修饰词n 参数n: 类型n)n如果几个参数修饰词和类型相同(包括都没有修饰词),可以将它们合并到一起;修饰词m 参数m, 参数m+1: 类型m;n类型为数组时,不能带有数组的长度。procedure DoProc(IntArr: Array0.99 of Integer); procedure DoProc(IntArr: Array of Integer); Delphi入门与提高实际参数和形式参数n实参:调用子程序时,传递给子程序的参数dReal := GetRealValue(x);n形参:子程序实现部分所定义的参数function GetRealValue(Value
16、: Double): DoubleDelphi入门与提高参数的修饰词n无修饰词:数值参数,相当于函数的局部变量,可以改变,但不影响实参nconst:常量参数,相当于函数的常量,不能改变nvar:变量参数,相当于函数的局部变量,可以改变,并且影响实参nout:外部参数,和变量参数类似,但不提供输入信息。Delphi入门与提高Object Pascal 常用过程与函数n字符串处理IntToStr, UpperCase, Copy n数学计算Sin, MaxIntValue, Round, Random n输入输出WriteLn, Read Delphi入门与提高程序结构n工程组n工程n单元Delp
17、hi入门与提高工程program Project1;uses Forms, Unit1 in Unit1.pas Form1;$R *.RESbegin Application.Initialize; Application.CreateForm(TForm1, Form1); Application.Run;end.Delphi入门与提高单元unit Unit2;interfaceuses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs;type TForm2 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); private public end;var Form2: TForm2;implementation$R *.DFMprocedure TForm2.Button1Click(Sender: TObject);begin Closeend;end.Delphi入门与提高单元的结构nInterface 接口部分只有这里的声明才能被别的单元使用nImplementation 实现部分各子程序的具体实现nInitialization 初始化部分nFinalization 终结部分
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024水利水电工程战略实施试题及答案
- 2025年市政工程考试亮点知识试题及答案
- 工程项目管理发展路径分析试题及答案
- 水利水电工程设计原则试题及答案详解
- 2025年广州市外地职工劳动合同书范本
- 2025年工程管理考试重点复习试题及答案
- 探索工程经济考试难题试题及答案
- 行政管理经济法重要理论题及答案
- 2025年国内煤炭买卖合同
- 工程经济利益相关者管理试题及答案
- 建筑工地安全文明施工
- 机关餐饮项目服务方案(完整版)
- 土地管理学课件
- 橡胶制品纳米技术应用
- 《钢铁是怎样炼成的》选择题100题(含答案)
- 生活中的心理学课件
- 2024年浙江乐清市金融控股有限公司招聘笔试参考题库含答案解析
- 无期限的六合公式汇编
- 输血前评估与输血后效果评价制度范文
- 可穿戴式传感器与电子皮肤
- 2024年九省联考新高考 数学试卷
评论
0/150
提交评论