Delphi编程从入门到精通 01(共4册)

合集下载

Delphi经典教程

Delphi经典教程

下图两个对象观察器,左边一个按种类排序, 右边一个按名字排序。
图1-5 按种类或名称查看Object Inspector
注意:帮助系统是和对象观察器紧密结合在一 起的,想了解某个属性或事件的帮助信息, 只要在该属性或事件上按下F1 键
4.代码编辑器 代码编辑器是输入代码来指定应用程序行 为的地方,也是Delphi根据应用程序中的组 件自动生成代码的地方。当向应用程序中加 入一个窗体时,Delphi会自动创建一个新的 单元,并添加到代码编辑器顶部的标签中。 5.代码浏览器 以一种树状视图方式显示列在代码编辑器 中的单元文件。通过它,可以方便地在单元 文件中漫游或在单元文件中加入新的元素或 者把已有的文件改名。要记住代码浏览器和 代码编辑器有一对一的关系。
1.2 Delphi7 IDE
1.2.1 认识集成开发环境
Delphi 7的IDE主要包括7个部分:主窗口、 组件面板、工具栏、窗体设计器、代码编辑 器、对象观察器和代码浏览器。
图 1-1 Delphi 7 的 IDE
1.主窗口 主要包括:菜单栏、工具栏、标题栏和组件 面板
图1-2 Delphi 7的主窗图口
的个数
begin stringlength:=edit1.GetTextLen; //得到编辑框1中字符个数 edit2.Text:=inttostr(stringlength); //编辑框2显示编辑框1中
4.设置组件属性 选中组件,单击Object Inspector的标题栏以 激活对象观察器,并选择Properties选项卡。 在对象观察器中单击要设置的属性,进行属 性设置。 5.添加事件 选中要添加事件的组件,激活对象观察器, 并选择Event选项卡,在对象观察器中单击要 添加的事件,在其右侧输入事件的响应函数 名称,然后回车即可。 6.编写事件响应代码

delphi快速入门(一、基本语法)

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编程入门讲解

Java + * / / %
5、按位运算符
运算符 与 取反 或 异或 左移 右移
Pascal and not or xor shl shr
C/C++ & ~ | ^ << >>
Java
6、其他运算 对象类型的转化: a、使用is进行类型兼容性判断,然后用as转化
b、使用Tobject.InheritsFrom代替is运算符
var Week: days; FormColor: colors;
type colortype=('red','yellow','blue','white'); numbers=(1,3,5,7,9);
枚举类型属于顺序类型 根据定义类型时各枚举元素的排列顺序确定它
们的序号,且序号从0开始。 例如:
IDE开发环境: 集编码、设计、调试如一身,大大方便了程序
的开发调试。
最好的C/S程序开发工具
支持所有的常用数据库 可开发两层结构、三层结构的管理软件 非常棒的VCL控件支持 开发的程序易于发布
支持各种程序的开发
数据库应用程序的开发 网络应用软件的开发 游戏软件的开发 其它应用软件
Delphi7开发环境介绍
d、集合的值与方括号内元素出现的次序无关。例如[1,5,8 ]和[5,1,8]的值相等。
e、在集合中同一元素的重复出现对集合的值没有影响。 例如,[1,8,5,1,8]与[1,5,8]的值相等。
f、每个元素可用基类型所允许的表达式来表示。如 [1,1+2]、[succ(ch)]。
3、集合的运算 集合类型变量不能进行算术运算;集合是无序ቤተ መጻሕፍቲ ባይዱ

delphi从不入门到入门

delphi从不入门到入门

20
第一章delphi编程基础
例如: i := 0; while i<10 do begin i := i+1; writeln(i); end;
21
第一章delphi编程基础
3. for语句 for语句的程序代码会执行一定的次数。它需要 一个循环变量来控制循环次数。您需要说明一 个变量,它的类型可以是整形、布尔型、字符 型、枚举型或子界型。
9
第一章delphi编程基础
• 象变量一样,常量也有类型。不同的是,常量 假设其类型就是常量说明中其所代表的值的类 型。上文的三个常量的类型分别是real型、整型、 字符串型。常量用“= " 表示两边的值是相等的。
10
第一章delphi编程基础
• 过程和函数 过程: procedure DealCoverageYear(AValue:string;var tpy_CoveragePeriod:string;) begin if Pos('年',AValue)>0 then tpy_CoveragePeriod :='0'; else if Pos('岁',AValue)>0 then tpy_CoveragePeriod :='1'; end;
26
第一章delphi编程基础
在枚举型中,括号中的每一个值都有一个由说明 它的位置决定的整形值。例如Sunday有整形值 0,Monday有整形值1等。您可以把 DayOfWeek说明为一个整形变量,并将一星期 的每一天赋一个整形值以达到相同的效果,但 用枚举型会使得程序可读性好,编写容易。当 您在枚举型中列出值时,您同时说明了这个值 是一个标识符。例如您的程序中如果已经含有 TDays类型且说明了DayOfWeeks变量,则程 序中便不能使用Monday变量,因为它已经被说 明为标识符了。 27

delphi经典教程

delphi经典教程
定义类
定义子类
type
类= class(父类)
数据域声明;
方法声明首部;
end;
3.使用对象
声明对象
var Form1 : TForm1;
对象实例化
Application.CreateForm(TForm1, Form1);
引用对象中的数据域和调用对象的方法
对象.数据域
对象.方法(实际参数表)
释放对象
两个数据类型具有完全相同的性质。
类型相容
两个不同的数据类型具有某些相同的性质
赋值相容
一种数据类型的值可以通过赋值操作赋给另一种数据类型的变量。
2.4构造数据类型
2.4.1数组类型
2.4.2字符串类型
2.4.3集合类型
2.4.4记录类型
2.4.5文件类型
2.4.6指针类型
2.4.1数组类型
一维数组
定义一维数组类型
用于字符串运算的标准过程和函数
【例2.19】判断回文字符串。
2.4.3集合类型
集合类型的定义
type集合类型= set of元素类型;
集合类型的值
集合类型的运算
赋值运算
关系运算
属于运算
集合运算
【例2.20】“筛选法”求素数。
2.4.4记录类型
记录类型与变量
对记录变量中的域进行操作
对记录变量进行赋值操作
常量
直接常量和符号常量
常量定义Байду номын сангаас
变量
变量声明
变量初始化
变量参与的运算
2.2语句与流程控制
2.2.1简单语句
2.2.2流程控制的概念
2.2.3复合语句
2.2.4条件语句

DELPHI中文帮助手册INDEX

DELPHI中文帮助手册INDEX

目录第一部分基础篇第一章Delphi快速入门1.1 Delphi基本概念介绍1.1.1 Delphi的基本形式1.1.2 面向对象编程的概念1.2 Delphi2.0快速入门1.2.1 进入Delphi的可视化编程环境1.2.2 Delphi 2.0可视化编程环境介绍1.2.3 设计简单的用户界面1.2.4 改变对象的属性1.2.5 编写事件处理过程1.2.6 使用联机帮助Help1.3 Delphi2.0的可视化部件用法简介1.3.1 常用的文本相关部件1.3.2 按钮和检查框部件1.3.3 分组、分界部件1.3.4 图形、图象部件1.3.5 关系图、文件列表部件1.3.6 滚动部件1.3.7 网格、表格部件1.3.8 多媒体(MultiMedia)和OLE部件1.4 使用非可视部件1.4.1 使用菜单部件1.4.2 使用计时器部件Timer1.4.3 使用公用对话框部件1.5 使用Delphi的工程管理、设计工具1.5.1 创建多窗体工程项目1.5.2 使用工程管理器1.5.3 使用窗体样板和对话框专家1.5.4 使用工程样板和应用专家第二章Delphi 面向对象的编程方法2.1 编写Object Pascal程序代码2.1.1 编写赋值语句2.1.2 标识符的说明与使用2.1.3 过程与函数2.1.4 跳转语句2.1.5 循环语句2.1.6 程序模块2.1.7 关于作用范围2.1.8 编写一个过程或函数2.1.9 定义新的数据类型2.1.10 Object Pascal的库单元Unit 2.2 用Delphi的对象进行编程2.2.1 什么是对象2.2.2 从一个对象中继承数据和方法2.2.3 对象的范围2.2.4 对象公有域和私有域的说明2.2.5 访问对象的域和方法2.2.6 对象变量的赋值2.2.7 建立非可视化对象第三章字符串列表及应用3.1 字符串列表的常用操作3.1.1 列表中操作字符串3.1.2 装载、保存字符串列表3.1.3 创建新的字符串列表3.1.4 往字符串列表中加入对象3.2 字符串列表应用3.2.1 设置自画风格3.2.2 把图像加入字符串列表3.2.3 绘制自画项目第4章文本编辑器的设计4.1 多文档界面4.1.1 创建父窗体4.1.2 创建子窗体4.1.3 创建应用程序菜单与菜单融合4.2 多页面界面4.2.1 静态多页面界面4.2.2 动态多页面界面4.3 文本编辑部件及应用4.3.1 TEdit部件4.3.2 TMemo部件4.4 常用对话框的使用4.4.1 字体对话框部件4.4.2 查找对话框部件4.4.3 替换对话框部件4.4.4 打开对话框部件4.5 文件打印4.5.1 TPrinter对象4.5.2 打印对话框第五章Delphi图形图像编程5.1 图形对象概述5.1.1 TCanvas对象5.1.2 TPen对象5.1.3 TBrush对象5.1.4 TColor类型5.2 图形程序的开发5.2.1 在工具条中加快速键5.2.2 响应鼠标事件5.2.3 绘图功能的实现5.3 图像对象概述5.3.1 TGraphic对象5.3.2 TPicture对象5.3.3 TImage部件5.3.4 TBitmap对象5.4 图像对象的应用第六章文件管理6.1 文件类型和标准过程6.1.1 文本文件6.1.2 记录文件6.1.3 无类型文件6.1.4 Delphi的文件管理标准过程6.2 记录文件的应用6.2.1 任务介绍6.2.2 设计基本思路6.2.3 记录文件的创建和打开6.2.4 记录文件的读入和显示6.2.5 增加一条记录6.2.6 修改记录6.2.7 记录的删除、插入、排序6.2.8 结果综合6.2.9 编辑对话框的输入检查6.2.10 文件和系统的关闭6.2.11 记录文件小结6.3 文件控件的应用6.3.1 文件控件及其相互关系6.3.2 文件名浏览查找系统的设计思路6.3.3 文件名浏览查找系统的功能和实现6.4 文件管理器的实现6.4.1 设计基本思路6.4.2 子窗口的创建、布置和关闭6.4.3 文件控件的联系6.4.4 DriveTabSet的自画风格显示6.4.5 文件管理基本功能的实现6.4.6 其它文件管理功能的实现6.4.7 目录管理功能的实现6.4.8 一些问题的处理6.4.9 小结第七章剪贴板和动态数据交换7.1 剪贴板及其应用7.1.1 使用剪贴板传输文本7.1.2 剪贴板类7.1.3 利用剪贴板传输图像7.1.4 建立自己的剪贴板观察程序7.2 Windows的DDE原理和Dephi的DDE实现机制7.2.1 Windows的DDE原理7.2.2 Delphi的DDE实现机制简介7.3 DDE客户程序的实现7.3.1 联接模式7.3.2 与DDE服务器建立联系7.3.3 数据申请7.3.4 数据发送7.3.5 控制服务器应用程序的执行7.3.6 格式化文本7.3.7 响应DDE事件7.3.8 利用客户程序和Excel交换数据7.3.9 用客户程序控制程序管理器7.4 DDE服务器程序的实现7.4.1 与DDE客户程序建立联接7.4.2 响应DDE事件7.4.3 DDE服务器应用例程7.4.4 小结第八章对象的链接与嵌入8.1 OLE简介8.1.1 OLE1.0和OLE2.08.1.2 链接与嵌入8.1.3 设计状态OLE对象的创建8.1.4 OLE类·文本、项目8.2 设计状态OLE对象的创建8.2.1 TOLEContainer部件8.2.2 OLE对象创建的步骤8.3 OLE应用程序的开发8.3.1 OLE应用程序界面开发8.3.2 插入对象8.3.3 冻结对象8.3.4 粘贴对象8.3.5 释放对象8.3.6 文件中的OLE对象8.4 OLE自动化8.4.1 TAutoObject对象8.4.2 创建OLE自动化服务器8.4.3 自动化另一程序第九章Delphi 拖放(DragDrop)编程9.1 控件的拖放支持9.1.1 拖放属性9.1.2 拖放事件9.1.3 拖放方法9.2 开发拖放功能的一般步骤9.2.1 开始拖动操作9.2.2 接收拖动项目9.2.3 放下拖动项目9.2.4 结束拖动操作9.3 文件管理器的拖放支持第十章动态链接库(DLLs)编程10.1 Windows的动态链接库原理10.1.1 动态链接库的工作原理10.1.2 Windows系统的动态链接库10.2 DLLs的编写和调用10.2.1 DLLs的编写10.2.2 调用DLLs10.2.3 静态调用10.2.4 动态调用10.3 利用DLLs实现数据传输10.3.1 DLL中的全局内存10.3.2 利用DLLs实现应用程序间的数据传输10.4 利用DLLs实现窗体重用10.4.1 利用DLL实现窗体重用的一般步骤10.4.2 窗体重用实例10.4.3 小结第十一章Delphi应用程序的Help应用11.1 Help文件的建立11.1.1 建立Help文件所需的工具和文件11.1.2 Help文件的创建11.2 Delphi应用程序的Help编程11.2.1 定义应用程序的帮助文件11.2.2 通用对话框中使用帮助系统11.3 Delphi帮助提示(Hint)的应用11.3.1 帮助提示的显示11.3.2 OnHint事件11.4 自定义部件的帮助的安装第十二章异常处理与程序调试12.1 Delphi异常处理机制与异常类12.1.1 运行时间库异常类(RTL Exception)12.1.2 对象异常类12.1.3 部件异常类12.1.4 小结12.2 异常保护12.2.1 需要保护的资源12.2.2 产生一个资源保护块12.3 异常响应12.3.1 使用异常实例12.3.2 提供缺省响应12.3.3 响应一族异常12.3.4 异常的重引发和处理嵌套12.3.5 自定义异常类的应用12.3.6 利用异常响应编程12.4 程序调试简介12.4.1 调试的准备和开始12.4.2 程序运行的控制12.4.3 断点的使用12.4.4 监视数据的值12.5 其它调试工具12.5.1 Turbo Debugger12.5.2 WinSight12.5.3 WinSpector12.6 使用Browser12.6.1 设置过滤器12.6.2 使用加速菜单12.6.3 查找按钮12.6.4 Detalls区的显示页12.6.5 使用Browser12.6.6 小结第二部分数据库篇第十三章Delphi开发数据库应用程序概述13.1 数据库系统概述13.1.1 数据库管理系统13.1.2 数据库应用程序13.2 Delphi的数据库特性及功能简介13.2.1 Delphi的数据库特性13.2.2 Delphi可以访问的数据源13.3 Delphi数据库的体系结构13.3.1 数据访问部件13.3.2 数据控制部件13.3.3 数据库窗体专家和数据库操作台(DBD)13.4 Delphi数据库应用程序的开发方法和步骤13.4.1 概述13.4.2 数据库应用程序的开发步骤13.4.3 交付数据库应用程序13.4.4 安装BDE13.4.5 安装SQL Links第十四章简单数据库应用的创建及MASTAPP介绍14.1 简单的单表数据库应用14.1.1 选择相关的部件14.1.2 设置部件的属性14.1.3 运行程序14.2 利用TDBNavigator部件创建存取程序14.2.1 创建应用程序窗体14.2.2 使用TDBNavigator部件移动记录指针14.2.3 定制TDBNavigator部件14.3 创建主要──明细数据库应用14.3.1 一对多关系的主要──明细型数据库应用程序14.3.2 一对多关系的数据库应用14.4 字段对象的使用14.4.1 字段对象的类型14.4.2 创建永久性的字段对象14.4.2 字段对象的属性设置14.4.4 字段对象的访问14.4.5 设定字段对象的显示格式14.4.6 自定义字段以及计算字段对象的创建14.5 查询数据库中的记录14.5.1 使用GotoKey方法查找数据记录14.5.2 使用FindKey方法查找数据库中的记录14.5.3 利用GotoNearest和FindNearest执行不精确查找14.6 修改数据库中的记录14.6.1 Edit和Post方法14.6.2 实现异常保护的try...finally语句14.7 插入和删除记录14.7.1 逐步插入方法14.7.2 调用InsertRecord插入记录14.8 输入数据的有效性验证第十五章数据访问部件的应用及编程15.1 Delphi数据访问部件的层次结构15.2 TSession部件及其应用15.2.1 TSession部件的重要属性及作用15.2.2 TSession部件的方法:15.2.3 TSession部件应用举例15.3 数据集部件TDataSet及其应用15.3.1 数据集部件的几种状态(或称模式)15.3.2 数据集的打开的关闭15.3.3 数据集的导航15.3.4 数据集中的数据维护15.3.5 数据集部件与数据浏览部件的连接15.3.6 数据集部件的事件15.4 TTable部件及应用15.4.1 TTable部件主要的属性15.4.2 TTable部件的方法及应用15.5 TDataSource部件及其应用15.5.1 TDataSource部件的属性15.5.2 TDataSource部件的事件15.6 字段部件和字段编辑器的使用15.6.1 字段部件15.6.2 字段编辑器的使用15.7 TReport部件及其应用15.8 应用举例——多个窗体显示同一个数据库表第十六章数据浏览部件的应用及编程16.1 数据浏览部件的基本特性16.2 使用TDBText部件显示表中的数据16.3 使用TDBEdit部件显示和编辑表中的数据16.4 用TDBGrid部件显示和编辑表中的数据16.4.1 TDBGrid部件的主要属性及应用16.4.2 TDBGrid部件的事件及应用16.5 TDBNavigator部件及其应用16.6 TDBMemo部件及其应用16.7 TDBImage部件及其应用16.8 数据浏览部件中的列表框和组合框16.8.1 TDBComboBox部件16.8.2 TDBListBox部件第十七章SQL编程17.1 SQL语言简介17.1.1 SQL的历史17.1.2 SQL的优点17.2 TQuery部件在SQL编程中的运用17.2.1 TQuery部件的使用17.2.2 在TQuery部件中编写简单的SQL查询命令17.3 SQL语言编程概述17.3.1 SQL命令文本的编写17.3.2 SQL程序的执行17.3.3 通过TQuery部件如何获得活动的数据17.4 动态SQL语句的编程17.4.1 使用Params属性为参数赋值17.4.2 使用ParamByName方法为参数赋值17.4.3 使用Datasource属性为参数赋值17.4.4 Prepare方法的使用17.5 SQL编程实例17.5.1 设计简单的SQL程序编辑器17.5.2 设计一个数据库查询器第三部分高级开发篇第十八章Delphi客户/服务器应用开发18.1 Delphi客户/服务器应用开发原理18.1.1 客户/服务器体系结构18.1.2 关系数据库体系结构与客户/服务器模式18.1.3 各种数据库服务器功能介绍18.1.4 IDAPI结构原理18.2 Delphi客户/服务器应用开发环境的构造18.2.1 Borland SQL Links 的安装18.2.2 配置SQL环境18.3 Delphi 客户/服务器编程18.3.1 使用TDatabase部件联接SQL服务器18.3.2 处理客户/服务器事务控制18.3.3 使用存储过程18.3.4 从开发平台到服务器的向上适化18.4 Delphi客户/服务器应用实例分析18.4.1 数据库环境介绍18.4.2 应用程序分析第十九章Delphi 自定义部件开发19.1 Delphi部件原理19.1.1 什么是部件19.1.2 编写部件的不同之处19.1.3 建立部件过程概略19.2 Delphi部件编程方法19.2.1 Delphi部件编程概述19.2.2 Delphi部件编程19.3 Delphi部件编程实例19.3.1 创建数据库相关的日历控制——TDBCalendar19.3.2 创建图形部件第二十章开发Delphi对象式数据管理功能20.1 流式对象的实现原理和应用20.1.1 TStream对象20.1.2 THandleStream对象20.1.3 TFileStream对象20.1.4 TCustormMemoryStream对象20.1.5 TMemoryStream对象20.1.6 TResourceStream对象20.1.7 TBlobStream对象20.2 读写对象的实现原理和应用20.2.1 TFiler对象20.2.2 TWriter对象20.2.3 TReader对象20.3 Delphi对象式数据管理应用实例20.3.1 Delphi动态DFM文件及部件的存取在超媒体系统中的应用20.3.2 数据库BLOB字段的应用20.3.3 存取嵌入在OleContainer对象中的OLE服务器的数据附录附录A 配置数据库引擎BDE(Borland DataBase Engine)一、数据库引擎(Borland Database Engine)的配置指南1、BDE配置工具概述2、存储配置信息二、配置Microsoft ODBC1、配置Miscrosoft ODBC(Open Database Connectivity)的步骤2、配置ODBC的配置文件3、配置ODBC的BDE配置文件4、ODBC的端口配置入口5 、关于AutoODBC三、BDE配置工具的参数1、数据库引擎配置工具的System页2、数据库引擎配置工具的Date页3、数据库引擎配置工具的Time页4、数据库配置工具的Number页5、数据库引擎配置工具的Driver页6、数据库引擎配置工具的Alias页附录B Report Smith应用概述一、关于报表Reports和Repert Smith 3.0二、Reprort Smith概述三、熟悉Report Smith四、新版本Report Smith的新特点附录C InterBase概述一、Local InterBase二、InterBase Server三、InterBase的特性简介四、InterBase的约束五、语法规则六、数据库对象命名规则七、文件命名规则八、文件说明1、.主文件说明2、次级文件说明附录D 数据库桌面介绍一、数据库桌面(DataBase Desktop)新特点:1、工具条增强功能2、菜单增强功能3、文件处理增强功能4、工具增强功能5、联机帮助的增强功能6、SQL增强功能二、关于数据库桌面对象1、Tables2、Temporary Tables3、Queries4、SQL文件三、数据库桌面对象的文件扩展名四、关于数据库桌面窗口1、查询窗口2、SQL编辑器3、表格窗口4、工具条5、状态条。

Delphi教程(清华大学版)

Delphi教程(清华大学版)
1.启动程序 2.添加组件 在窗体设计器中添加如图1-7所示的各组件。
3.设置组件属性 4.编写代码 组件属性设置完成后,编写如下代码:
图1-7 窗体布局图
procedure TForm1.Edit1Change(Sender: TObject); //编辑 框1中的内容改变时的事件 var stringlength:integer; //定义整型变量,记录编辑框1中字符
1.1 Delphi简介
Delphi作为一种可视化的编程环境,经 历了7代产品的发展历程: ◆ Borland公司在1995年推出了基于 Windows平台的Delphi 1。 ◆ Delphi 2新增加的主要功能是对32位编 程的支持。还增加了如数据模块等多种高 效的数据重用功能。
◆Delphi 3对其组件库进行增强 ,完全支持 ActiveX组件及其创建 。 ◆Delphi 4提供了Object Pascal语言的扩展 ,但 系统稳定性较差 。 ◆1999年推出Delphi 5增强了数据库的功能 ◆2001年6月推出Delphi 6 ,增加了大量的新 组件,使组件数目达350多个,以满足网络开 发的需要。 ◆2002年8月推出 Delphi 7 ,在集成开发环境 IDE、Web、数据库、编译器、模型生成支 持及组件库等很多方面进行了改进
3.对象观察器 利用对象观察器,可以修改窗体或组件的 属性,或者使它们能够响应不同的事件 。 属性(Property)是一些数据,如高度、颜色、 字体等,它们决定了组件在屏幕上的外观。 事件(Event)则是一种消息处理机制,它能够 捕捉某种情况的发生并做出反应,像鼠标单 击和窗口打开就是两种典型的事件。 对象观察器类包括Properties选项卡和 Events选项卡
启动Delphi 7,选择【File】|【New】| 【Application】菜单,新建一个应用程序。 2.设置窗体属性 单击【Object Inspector】,在对象观察器中 打开【Properties】选项卡,单击Caption属 性右侧,输入窗体的新标题“窗口”。 3.向窗体中添加组件 单击Standard选项卡上的Button组件,将鼠 标指向窗体中的任意位置(标题栏除外), 单击鼠标,即可把Button1组件放入窗体中。 或者直接双击组件面板上的Button组件,也 可以在窗体中添加一个Button1组件。

Delphi经典教程

Delphi经典教程

选定要编写事件响应代码的组件 ,打开Event 选项卡,双击要编写响应代码的事件右侧的 空白部分,进入代码编辑窗口。
procedure TForm1.Button1Click(Sender: TObject); //单击放大按钮,窗口将放大 begin form1.Height:=form1.Height+10; //窗口高度10 form1.Width:=form1.Width+10; //窗口宽度10 end; procedure TForm1.Button2Click(Sender: TObject); //单击缩小按钮,窗口将缩小 单击缩小按钮, Begin form1.Height:=form1.Height-10; //窗口高度减10
启动Delphi 7,选择【File】|【New】| 【Application】菜单,新建一个应用程序。 2.设置窗体属性 设置窗体属性 单击【Object Inspector】,在对象观察器中 打开【Properties】选项卡,单击Caption属 性右侧,输入窗体的新标题“窗口”。 3.向窗体中添加组件 向窗体中添加组件 单击Standard选项卡上的Button组件,将鼠 标指向窗体中的任意位置(标题栏除外), 单击鼠标,即可把Button1组件放入窗体中。 或者直接双击组件面板上的Button组件,也 可以在窗体中添加一个Button1组件。
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs;
type TForm1 = class(TForm) private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} end.
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第1章Delphi使用概論第1章Delphi使用概論本書的第一章在內容上力求淺顯,其中甚至有一步接一步的操作說明,即使是從來沒有使用過Delphi的程式設計師,閱讀本章相信也不至於有任何問題。

我在這一章中示範性的完成一個簡單的應用程式,除了用以說明典型的Delphi的程式開發流程,並且也以這個實例探討Delphi專案是由哪些檔案所組成,接著是與寫作程式息息相關的工具,包括程式編輯器(Program Editor)、除錯器(Debugger)的使用等等。

Delphi程式開發流程典型的Delphi應用程式開發流程大致上可分為以下兩大步驟:☐設計包括視窗外觀、主選單、按鈕等等的使用者操作介陎。

☐撰寫使用者操作介陎引發的事件處理程序以及其他相關程式。

上述的兩大設計工作不論是介陎的設計或者程式的撰寫,都是在所謂的整合開發環境(IDE,Integrated Development Environment)中進行的,此環境不僅能在設計階段就對未來成品的外觀擁有立即的視覺效果,其他的開發工具如程式編輯器與除錯器等也都整合在同一個環境中隨手可得。

關於這些我在本章將會一一加以說明,首先,讓我們快速的瀏覽一遍Delphi的整合開發環11第一篇Delphi 與Object Pascal12境。

介紹Delphi的整合開發環境Delphi在啟動後,會自動幫我們建立一個新的專案,內含一個空白的視窗(按Delphi的說Code EditorCode ExplorerForm (Windows)在這裏進行設計Object Inspector1-1 / Delphi 4 的整合開發環境圖1-1中明顯看得到的工具還有:☐Speedbar,快速工具列。

☐Component Palette,元件盤。

☐Object Inspector,物件檢視器,用來檢視並調整Form或Form上頭各元件的屬性值。

第1章 Delphi 使用概論13 ☐ Code Editor 1,程式編輯器,我們在此編輯區編修程式。

☐ Code Explorer ,程式瀏覽器,一個以樹狀階層式用來表達專案各物件(Object )、方法(Method )以及參照到哪些單元(Unit )的工具,利用它,不僅專案的結構一目瞭然,以滑鼠在特定項目點兩下,Code Editor 將叫出其所屬程式。

設計的流程通常是這樣的:建立一個新的專案 ──⇨ 接著在元件盤選擇需要的元件並將其一一放置到Form 上⇨ 滑鼠拖曳調整各元件的大小與位置,或使用Object Inspector 調整元件的其他屬性內容⇨ 以Object Inspector 指定各元件的事件處理程序⇨ 在 Code Editor 編修事件處理程序以及其他處理程式⇨ 【Run / Run 】(或者按 F9)測詴執行。

這樣的說明對於第一次使用Delphi 的讀者而言可能還不夠具體,接下來,我將配合圖1-2調整元件的外觀與其他屬性 增減元件、指定元件的事件處理程序時,Delphi 自動維護這段程式。

圖1-2 / 使用Delphi 整合開發環境設計使用者操作介面或者說Program Editor ,Inprise 原版手冊同時使用了這兩個名詞。

第一篇Delphi 與Object Pascal14放置元件當然啦!你一定會先考慮程式外觀大概長什麼樣子有什麼功能,正式動手時,頭一件事就是將所需的元件一一放進Form上頭。

方法很簡單:點一下右上角元件盤裏頭的元件,然後在Form上點一下,元件會以其預設的大小出現在Form上頭;或者,你也可以在選擇元件後,直接在Form上頭以滑鼠拖曳的方式拉出元件的大小與位置。

當你放置元件到Form上頭時,程式編輯器中的變化是值得注意的──Delphi會在我們加入元件到Form中時,自動在TForm1這個類別(Class)裏幫我們加入這些元件的程式碼(如圖1-2);同時,不論是刪除元件或者更改元件名稱,介於TForm1 = Class(TForm)與private保留字之間的原始碼也會相應改變。

第1章 Delphi 使用概論15改變元件的大小與位置設計使用者操作介陎時,最常進行的動作大概就是改變元件的大小與位置了 ── 直接以滑鼠拖曳Form 上的元件就可以改變其位置(如圖1-2的第二步驟)。

滑鼠點一下Form 上的元件時在元件四周將會有八個控點,拖曳這八個點可以改變元件的大小2。

至於各個元件賴以寄存的Form ,就當它是一般視窗逕行操作即可,拖曳視窗標題與邊緣分別可以改變Form 的位置與大小。

設定元件的屬性值事實上,以滑鼠改變元件的大小與位置,改變的不過只是元件眾多屬性其中的Left 、Top 、Width 、Height 等四個屬性而已,元件其他屬性值的指定在設計階段則透過Object Inspector進行修改。

怎麼做呢?如果你是一邊看書一邊練習,或者已經有過Delphi 的設計經驗的話,應該已經注意到:當滑鼠點按(Click )Form 上頭的元件時,Object Inspector 會同步顯示該元件的屬性表;若是改從Object Inspector 的下拉式選單選擇某一元件時,Form 上的相應元件也將同步被選取。

換句話說,Form 上的元件與Object Inspector 會同時反應彼此的情況。

選取元件後,直接在Properties 屬性表中對各屬性指定新值即可。

通常的情況是輸入數值或者文字(例如改變Button1的Caption ),此外,某些屬性會提供下拉式選單讓我們選擇(例如Color 屬性會出現色彩清單以供選擇),如果屬性的右端看到「…」按鈕,就表示2 有些元件(例如本例的TTimer )的大小是固定的,這類元件通常是在執行期間(Runtime )時看不到的「非視覺化元件」(Non-visual Component)。

第一篇Delphi 與Object Pascal16點一下該按鈕會有對話盒3協助設定該屬性的內容(例如Font屬性會出現字型設定對話盒)。

好了,現在你知道怎麼放元件,也知道該怎麼調整元件位置大小以及其他屬性,請練習一下吧──從元件盤的Standard分類標籤,分別選擇TLabel、TCheckBox、TButton等元件並放置到到Form中,另外,也放一個System分類標籤中的TTimer元件進去。

然後將操作畫陎調整成圖1-3的樣子:圖1-3 / 我的小時鐘的使用者操作介面設計完成圖#0001 object frmMyClock: TfrmMyClock#0002 Left = 371#0003 Top = 146#0004 BorderIcons = [biSystemMenu, biMinimize]#0005 BorderStyle = bsSingle#0006 Caption = '我的小時鐘'#0007 ClientHeight = 70#0008 ClientWidth = 369#0009 Font.Charset = CHINESEBIG5_CHARSET#0010 Font.Color = clWindowText#0011 Font.Height = -16#0012 = '細明體'#0013 Font.Style = []#0014 Position = poScreenCenter#0015 PixelsPerInch = 96#0016 TextHeight = 16#0017 object lblTime: TLabel#0018 Left = 8#0019 Top = 8#0020 Width = 563Delphi管這個叫「屬性編輯器」(Property Editor)第1章Delphi使用概論#0021 Height = 16#0022 Caption = 'lblTime'#0023 end#0024 object chkbxShowDate: TCheckBox#0025 Left = 8#0026 Top = 40#0027 Width = 97#0028 Height = 17#0029 Caption = '顯示日期'#0030 State = cbChecked#0031 TabOrder = 0#0032 end#0033 object btnExit: TButton#0034 Left = 288#0035 Top = 8#0036 Width = 75#0037 Height = 25#0038 Caption = '&Exit'#0039 TabOrder = 1#0040 OnClick = btnExitClick#0041 end#0042 object tmrClock: TTimer#0043 OnTimer = tmrClockTimer#0044 Left = 336#0045 Top = 40#0046 end#0047 end上述的屬性設定表是怎麼來的呢?基本上我也算是很懶的人,當然不會採用手動輸入這種又慢又容易出錯的方式。

想要取得Form與下轄元件各屬性之文字敘述時,請以滑鼠右鍵點一下Form,從彈出的快捷功能表選擇【View as Text】即可;以滑鼠右鍵從從快捷功能表中選擇【View As Form】,可還原回之前以Form為主體的設計模式。

沒錯,雖然基本上我的確是很懶的人,但是剛才的屬性表並沒有因為偷懶而漏列某些屬性。

事情是這樣的:各元件的屬性值在元件的原始程式通常都會寫明其預設值,我們的檔案存檔時,只有與預設值不同的屬性才會被特別記錄下來以節省存取時間與檔案大小。

因此,雖然光是btnExit就有數十個屬性,剛才我們卻只看到六個。

17第一篇Delphi 與Object Pascal18寫作程式好了,這個小時鐘已經初具外觀,雖然已經可以執行,點了按鈕也的確會看到它陷一下,然而,除此之外幾乎什麼事也沒做。

讓我們繼續為它加上程式處理。

「滑鼠點按」是一個「事件」,換句話說,有一個「按鈕被滑鼠點了一下」這件事發生了,當這件事發生時,應該有一個相應的處理程序接手此一事件的處理。

簡單地說,當滑鼠點一下按鈕時,我們的程式該有什麼反應。

請想像一下消防隊的情況,消防隊員並不會挨家挨戶不時地詢問是否有火警發生,而是平常就只是預備在那裏,隨時應付可能的突發狀況,電話進來了就觸發滅火的任務。

寫作視窗程式有點像是這樣,我們並不預期使用者會不會使用按鈕或者會先使用哪個按鈕,而只是單純的寫好這個按鈕被點到時該作的事。

以「我的小時鐘」為例,btnExit (從剛才的屬性設定可以看出我已經將Button1改名成btnExit了)是打算用來關閉frmMyClock的按鈕,它的點按事件(OnClick)處理程序怎麼寫呢?操作程序是:1. 以滑鼠點一下frmMyClock(我們正在設計的Form)的btnExit按鈕。

相关文档
最新文档