Delphi数据库程序设计教程 第2章 Pascal语言基础
- 格式:ppt
- 大小:765.50 KB
- 文档页数:48
第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;单元级或全局变量可以在声明时初始化(每个声明语句仅限一个变量)。
Pascal语法一.项目结构项目文件: .dpr:单元文件1:.Pas ……单元文件n:.Pas┆窗体文件1:dfm ……┆窗体文件n:.dfm┆……┆→可执行文件:.exe目标文件1:.dcu ……目标文件n:.dcu1>..dpr文件.dpr文件结构:program Project1; //项目文件.dpr文件usesForms,Unit1 in 'Unit1.pas' {Form1},Unit2 in 'Unit1.pas' {Form2}, //三个窗体的主程序Unit3 in 'Unit3.pas' {Form3};{$R *.res}beginApplication.Initialize; //初始化Application.CreateForm(TForm1, Form1); //创建窗体Application.CreateForm(TForm2, Form1);Application.CreateForm(TForm3, Form1);Application.Run;end.2>.单元文件.pasDelphi应用程序是以窗体为中心的,而有关窗体的信息是以两种文件形式存储.dfm文件(数据文件):有关窗体及组件的外观、尺寸和位置等信息。
.pas 文件(源程序文件):包含了有关窗体及组件的程序代码。
.pas文件结构:unit Unit1;interface //说明部分类型说明变量说明程序接口说明Implementation //实现部分程序块1程序块2程序块3end.二.语法概述1>.常用的数据类型String:字符串型Integer:整型Real:实型Boolean:布尔型char:字符型2>.常用的表达式中的运算符A.算术运算符:+、-、*、/、div(整除)、mod(求余)B.集合运算符:+(并)、-(差)、*(交)、in(属于)C.关系运算符:=、<>(不等于)、>、<、<=、>=3>.系统的过程与函数A.Showmessage(‘显示信息’);B.StrToInt //类型转换(整数——字符串)C.Date //取当前日期D.round //取整,四舍五入 rounfd(2.7632)=34>.控制语句-分支语句A.if 条件 then语句1;else语句2;B. if 条件 then语句1;else if 条件 then语句2;else语句3;5>.循环语句A.while循环while 条件 dobegin……end;B.for循环for i:=1 to n dobegin……end;6>.局部变量跟全局变量Unit1……ImplementationVar全局变量Procedure ……Var局部变量Begin……End;7>.复合数据类型——记录TypeTEmpRec = record //定义一个职工记录类型ename : string[10]; //定义字符串age : integer;sal : real;end;varemp:TEmpRec;……emp.age := 23;edit1.text := emp.ename;8>.文件操作A.定义文件varEmpFile :file of TEmpRec;●为文件变量指定具体文件AssignFile(EmpFile,’d:\emp.$$$’); B.打开文件reset(EmpFile); //打开老文件rewrite(EmpFile);//创建新文件C.关闭文件Closefile(EmpFile);D.读文件Read(EmpFile,emp); //读一个记录E.写文件Write(EmpFile,emp); //写一个记录。
Unit.1 Delphi基本概念一、 Delphi是基于Object Pascal 语言的面向对象的开发工具Delphi 特点:Delphi为32位应用程序,功能强大Delphi的编译器是目前世界上最快的32位源代码编辑器提供了多种32位可视化组件库Delphi是一种面向对象的程序设计语言,可视化窗体继承采用了3层数管理模式(数据层,对象层,应用程序层)通过(Borland)的数据引擎(BDE)可使用多种数据库数据感知功能,在开发程序可看到数据库的动态变化在开发环境中,通过Delphi的数据库的浏览器可方便的浏览,修改,索引数据库Delphi将数据访问与业务规则从程序中分离出来,集中存储在数据模型对象中(程序与数据是分离的)内嵌2个用户许可的内置数据库管理系统(一般不常使用,功能一般)二、面向对象(OOP)的基本概念1. 软件(Software):由被加工的对象及有关的功能构成2. 对象(Object):(1)无论功能如何发生变化,一个问题空间中的对象一般总是保持相对稳定,故,围绕对象构造的软件(2)系统也自然会有较好的稳定性。
(3)对象是一种看问题的观点,对现实世界各种元素的一种抽象.(4)对象既含数据又含函数,因此具有自身处理数据的能力。
(5)对象被认为是迄今为止最接近真实事物的数据抽象面向对象(OOP)源于不同的研究领域:对象程序设计语言数据类型3. 类(Class)相关对象的集合称为类,把具有相同属性和方法的对象抽象为类(就像现实禧社会中的不同的物物品品、的分类一样)4. 对象(Object)。
每个对象有一个状态,对象的状态是该对象属性的集合。
每个对象有一组操作,操作决定对象的行为。
行为是对象状态的操作方法(理解:对象就像一个实实在在的东西一样,由各种属性,操作方法等等组合而成的一物品)5.封装(Encapsulation)封装是一种组织软件的方法,把客观世界中联系紧密的元素及相关操作组织在一起,使其相互关系隐藏在内部,对外仅表现为其他封装体之间的接口封装对象--把数据和对的代码封装成一个能动的整体(使对象能继承复用,支持复杂的数据存储和处理过程)(理解:通过一些内部功能来对其数据的操作,再通这些数据对其它对象的操作)6. 类与对象的区别类是用来创建对象实例的模板,它包含所创建对象的状态、描述和方法的定义,类是一个型。
第2章学好面向对象的Pascal好的工具是好的开发的基石。
Object Pascal就是好的工具。
基于上一章或您已有的技巧,本章将示范每个程序都需要的面向对象技巧。
Delphi 在开发工具中是个例外,它本身就是用Object Pascal创建的。
本章中包含了一些代码,它将成为每一个程序的基础。
2.1 Delphi的惯例大约25年前,C语言是当时的新事物。
那时的编译器,像C语言,是弱类型的。
变量可以被声明为指针,然后传给整型参数,反过来也可以。
例如,一个整型变量可以被赋值0,然后被粗心地赋值给char*(在C中,即指向字符的指针)变量。
原因是,编译器并不严格执行数据类型的用法,时至今日依然如此。
不管怎么说,数据只是一些数字嘛。
可问题在于,如果把整数当作指针使用,可能刚好存取到BIOS(基本输入输出)内存的起始地址,真是糟糕透顶。
另一个有害的问题是全局变量。
如果不作检查,大多数人都记不住在一个月之前声明的变量的数据类型;当变量在其他人的代码中,更是如此。
过了几年之后,数百万的美元被浪费在跟踪与全局变量和误用整数及指针相关的程序错误,这时,解决方案出现了。
20世纪80年代早期,微软公司从施乐公司帕洛阿尔托研究中心雇佣了一位匈牙利人Charles Simonyi,他以发明了匈牙利命名惯列并使之流行而著称。
匈牙利命名惯列建立了一组前缀,用以识别变量的数据类型。
这意味着程序员通过看前缀,可以避免整数与指针的误用。
例如,用于存储零结尾字符串的char*变量可能会有前缀sz。
即使是刚起步的程序员也只需记住sz的意思是零结尾字符串(或字符串以零结尾)。
如果全局变量是有前缀的,而您又能够记住lpsz的意思,那么要决定变量的类型可能并不需要找出其声明。
提示或隐含的指导是有益的,但扪心自问一下:有多少人无视停车标志,在州际高速公路上车距过小或吸烟。
取决于您对“California stop”、three-second规则、吸入致癌物质的态度,您可能会忽略其中几项隐含的警告。