您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > delphi经典教程
第2章ObjectPascal语言基础2.1语言成分2.2语句与流程控制2.3定义数据类型2.4构造数据类型2.5过程和函数2.1语言成分2.1.1程序组成2.1.2标准数据类型2.1.3运算符与表达式2.1.4标准函数2.1.5常量与变量2.1.1程序组成程序结构【例2.1】显示程序结构。词汇集基本字符保留字指示字标识符分隔符注释和编译指令注释编译指令Pascal代码书写风格2.1.2标准数据类型什么是数据类型数据类型的分类简单数据类型构造数据类型指针类型2.1.2标准数据类型整数类型实数类型布尔类型字符类型字符串类型2.1.3运算符与表达式运算符算术运算符关系运算符位运算符逻辑运算符运算符的优先级【例2.2】mod运算的用法。(w+1)mod7//明天(w–1+7)mod7//昨天2.1.3运算符与表达式表达式表达式及其运算规则表达式的数据类型布尔表达式中的短路计算书写表达式时的注意事项【例2.3】使用表达式。imod2=0//取值为true时,i为一个偶数,否则为奇数(i=0)and(i=9)//判断i的值是否在0到9之间2.1.4标准函数函数的概念常用标准函数说明调用标准函数【例2.4】使用标准函数。odd(i)//取值为true时,i为一个奇数,否则为偶数chr(ord(ch)+ord('a')-ord('A'))//将ch转换成小写字母2.1.5常量与变量常量直接常量和符号常量常量定义变量变量声明变量初始化变量参与的运算2.2语句与流程控制2.2.1简单语句2.2.2流程控制的概念2.2.3复合语句2.2.4条件语句2.2.5循环语句2.2.1简单语句赋值语句【例2.5】变量赋值。空语句过程调用语句读语句写语句【例2.6】求一个三位数的数字和。【例2.7】判断一个年份是否为闰年。2.2.2流程控制的概念顺序结构分支结构循环结构图2.4不执行与死循环2.2.3复合语句begin语句1;语句2;end2.2.4条件语句if语句if语句的语法格式if布尔表达式then语句1[else语句2]【例2.8】求三个整数中的最大值。复合条件if语句嵌套2.2.4条件语句case语句case表达式of常量1:语句1;常量2:语句2;……[else语句n;]end;【例2.9】计算每月的天数。2.2.5循环语句while语句while语句语法while布尔表达式do语句【例2.10】用while语句求1~10的累加和。while语句循环执行次数问题讨论2.2.5循环语句repeat语句repeat语句语法repeat语句;until布尔表达式;【例2.11】用repeat语句求1~10的累加和。repeat语句循环执行次数问题讨论2.2.5循环语句for语句for语句语法for循环变量:=初值to终值do语句for循环变量:=初值downto终值do语句【例2.12】用for语句求1~10的累加和。for语句循环执行次数问题讨论2.2.5循环语句【例2.13】求一个日期(年月日)对应的是星期几。多重循环【例2.14】求100以内的素数。2.3定义数据类型2.3.1类型定义2.3.2枚举和子界类型2.3.3类型兼容原则2.3.1类型定义type类型=类型描述;例如,typedatatype=integer;arrint=array[1..10]ofinteger;2.3.2枚举和子界类型枚举类型定义枚举类型type枚举类型=(枚举常量{,枚举常量})声明枚举类型变量枚举类型变量能够进行的操作枚举类型变量不能进行的操作子界类型type子界类型=常量1..常量2;2.3.3类型兼容原则类型相同两个数据类型具有完全相同的性质。类型相容两个不同的数据类型具有某些相同的性质赋值相容一种数据类型的值可以通过赋值操作赋给另一种数据类型的变量。2.4构造数据类型2.4.1数组类型2.4.2字符串类型2.4.3集合类型2.4.4记录类型2.4.5文件类型2.4.6指针类型2.4.1数组类型一维数组定义一维数组类型type数组类型=array[下标类型]of元素类型;声明一维数组变量数组声明时可赋初值数组元素的引用格式数组元素的运算获得数组下标的上界和下界两个数组变量间的赋值运算【例2.15】用一维数组计算Fibonacci序列值。Fibonacci序列是指首两项为0、1,以后各项的值是其前两项值之和的序列:{0,1,1,2,3,5,8,……}其数学中的递推定义为:2.二维数组【例2.16】显示螺旋方阵。3.动态数组vara:arrayofinteger;SetLength(a,5);4.不规则的多维数组【例2.18】使用动态数组输出杨辉三角。2.4.2字符串类型3种字符串类型字符串元素的运算字符串变量的运算用于字符串运算的标准过程和函数【例2.19】判断回文字符串。2.4.3集合类型集合类型的定义type集合类型=setof元素类型;集合类型的值集合类型的运算赋值运算关系运算属于运算集合运算【例2.20】“筛选法”求素数。2.4.4记录类型记录类型与变量对记录变量中的域进行操作对记录变量进行赋值操作【例2.21】使用记录类型表示复数。开域语句type记录类型=record域1:类型1;域2:类型2;……end;5.记录数组vargroup:array[1..50]ofstudent;2.4.5文件类型文件类型是一种构造数据类型,根据文件中数据元素的数据类型,可将文件类型分为3种:文本文件、类型文件和无类型文件。对不同类型的文件所进行的操作也有所差别。文件类型的定义语法和使用方法详见9.3节。2.4.6指针类型变量所占用存储单元的静态分配与动态分配静态变量和动态变量声明指针变量指针所指向的变量对指针变量的操作使用标准过程new与dispose动态生成或撤销变量指针指向数组和记录使用指针构成链表2.5过程和函数2.5.1过程的声明与调用2.5.2函数的声明与调用2.5.3变量的作用域2.5.4参数传递2.5.5过程/函数中参数的类型兼容原则2.5.6过程/函数的重载2.5.7递归的过程与函数2.5.1过程的声明与调用过程声明procedure过程[(参数列表)];//过程首部局部声明部分;//过程声明部分begin//语句体语句;end;//此处以分号结束过程调用过程[(参数{,参数})]2.5.2函数的声明与调用函数声明function函数[(参数列表)]:类型;//函数首部局部声明部分;//函数声明部分begin//语句体语句;end;函数怎样返回值fact:=10;//为函数名赋值,返回结果result:=10//为result变量赋值,返回结果函数调用函数过程[(参数{,参数})]【例2.22】计算阶乘并显示计算公式。2.5.3变量的作用域全局变量局部变量【例2.23】求100以内的Smith数。2.5.4参数传递参数声明值参数变量参数常量参数输出参数参数默认值【例2.24】求500以内的亲密数对。2.5.5过程/函数中参数的类型兼容原则参数传递的类型兼容原则形式参数的类型声明限制函数返回值的类型限制2.5.6过程/函数的重载functionMax(A,B:Integer):Integer;overload;functionMax(A,B:Int64):Int64;overload;重载的多个过程/函数之间必须满足以下两点:参数必须不同,即以不同的参数个数或参数类型来区别重载的过程/函数。返回值可以相同,也可以不同,即不能以不同的返回值来区别重载的过程/函数。2.5.7递归的过程与函数【例2.25】使用递归函数计算阶乘。实验2ObjectPascal语言程序设计基础训练金额的中文大写方式求解约瑟夫环问题__第3章Windows应用程序界面设计3.1可视化编程基础3.2窗体Form3.3文本显示与编辑控件3.4按钮3.5选项按钮3.6列表框3.7界面布局3.8定时器Timer3.1可视化编程基础3.1.1面向对象基本概念3.1.2定义类和使用对象3.1.3对象的属性、方法和事件3.1.4事件驱动的Delphi应用程序3.1.5组件概述3.1.1面向对象基本概念类与对象类对象类的封装性、继承性和多态性类的封装性类的继承性类的多态性3.1.2定义类和使用对象定义类定义子类type类=class(父类)数据域声明;方法声明首部;end;3.使用对象声明对象varForm1:TForm1;对象实例化Application.CreateForm(TForm1,Form1);引用对象中的数据域和调用对象的方法对象.数据域对象.方法(实际参数表)释放对象aday.Free;4.self指代对象自身procedureTForm1.FormCreate(Sender:TObject);beginself.Caption:=self.Caption+‘演示程序’;end;15324(a)初始化计数起点15304(b)2出环后15300(c)4出环后05300(d)1出环后00300(e)5出环后5.as和is运算符SenderasTButton//将Sender对象转换为一个TButton类的对象SenderisTComponent//判断Sender是否属于TComponent类及其子类3.1.3对象的属性、方法和事件对象的属性属性的读写特性:可读写属性和只读属性属性的作用时间:设计时属性和运行时属性引用对象属性对象.属性对象的方法对象的事件3.1.4事件驱动的Delphi应用程序组件的事件由消息触发Delphi应用程序由事件驱动procedureTForm1.Button1Click(Sender:TObject);begin//事件处理程序end;3.1.5组件概述组件组件分类控件窗口控件是能够获得输入焦点的控件。图形控件是不能获得输入焦点的控件。非可视组件查看组件的属性、方法、事件及其类层次图3.1组件类图3.2窗体Form3.2.1窗口与窗体3.2.2窗体的属性、方法和事件3.2.1窗口与窗体1.Windows窗口2.Delphi窗体3.2.2窗体的属性、方法和事件窗体的主要属性Name窗体对象名Caption窗体标题Left与Top窗体位置,左上角在屏幕的坐标Height与Width窗体的高度与宽度Color窗体工作区的背景颜色Enabled窗体的有效性Visible窗体的可视性Icon窗体标题上的小图标Font窗体的字体Position窗体运行时的初始位置WindowState窗体运行时的初始状态2.窗体的主要方法Close关闭窗口Create创建并初始化一个窗口对象Hide隐藏窗口SetFocus使窗口获得焦点SetFocusedControl使窗口上的控件获得焦点Show显示被隐藏的窗口3.窗体的主要事件OnCreate和OnDestroy事件OnShow和OnHide事件OnActivate和OnDeactivate事件OnClick和OnDblClick事件OnPaint事件OnCanResize和OnResize事件OnCloseQuery和OnClose事件4.窗体事件的触发次序创建窗口时由用户操作触发的事件关闭窗口时【例3.1】理解窗体的事件。新建应用程序添加组件Label编写窗体OnCreate事件处理程序窗体OnCanResize和OnResize事件处理程序3.3文本显示与编辑控件3.3.1标签Label3.3.2单行编辑框Edit3.3.3格
本文标题:delphi经典教程
链接地址:https://www.777doc.com/doc-2909211 .html