已阅读5页,还剩29页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 这个课程讨论的问题 集中在Delphi高级应用的层面 主要包括下面一些内容 一 Delphi程序设计的一般问题二 异常处理三 创建DLL动态链接库四 创建VCL组件五 COM技术六 ActiveX控件七 数据库开发 ADO BDE和dbExpress 八 多线程编程九 分布式多层数据库开发 MIDAS技术和DataSnap 十 XML及其应用十一 Internet服务器端Web编程十二 InternetExpress快速网络开发十三 MIDAS技术在Web上的应用十四 WebSnap快速网络开发十五 WebService程序服务器十六 FastNet编程 电子邮件和FTP文件传送编程 2 Delphi程序设计的一般问题 第一讲 3 Delphi是一种面向对象的 可视化的快速应用开发工具 它使用面向对象Pascal语言 ObjectPascal 作为编程语言 语言风格优美严谨 开发的代码少 环境的功能很强大 它不但可以开发Windows应用程序 而且也可以开发跨平台的应用程序 为了让我们后面的讨论更加透彻 首先需要对Delphi程序设计的一般问题做一个研究 引言 4 预备知识Delphi7的集成开发环境 Delphi7是Inprise公司推出的基于ObjectPascal语言的可视化集成开发工具 它提供了一个高度可视化的集成开发环境 也被称为IDE IntegratedDevelopmentEnvironment 利用Delphi7提供的集成开发环境可以快速 高效地开发出基于Windows环境的各类程序 与其它可视化的编程语言相比 Delphi提供的集成环境更具效率和人性化 可以大大缩短程序的开发时间 通常 Delphi集成开发环境的主界面包括下面几个部分 主窗口对象监视器对象树视图窗体代码编辑器 5 1 主窗口 主窗口是Delphi7集成开发环境的控制中心 它由菜单 快速图标栏和组件面板三个部分组成 菜单 这些菜单项以及它们的子菜单包括了可以在Delphi中进行的所有的操作功能 快速图标栏 实际上 它就是提供了一些快速执行某些常用菜单命令的快捷键 比如一些常用的打开 保存命令的快捷图标 用以提高工作效率 您也可以定制自己的快速图标栏 具体方法就是在快速图标栏上单击鼠标右键 然后可以随意选择自己希望在快速图标栏上出现的内容 同时 您还可以通过选择Customize来进行定制 组件面板 组件模板中包含了Delphi提供的所有组件 并且按照不同的功能分别放在不同的页中 您可以通过选择选项卡来选择相应的页 再选中该页中需要的组件 选中组件的方法是 将组件拖至某窗体中想要放置的位置或是双击该组件 它会自动出现在窗体的正中 您还可以根据自己的需要自制组件 并且把它运用到程序设计中 这项技术将在随后的章节中进行介绍 6 2 对象监视器 ObjectInspector 在对象监视器上 您可以设置当前窗体所选组件的属性和事件 Properties 属性 页显示窗体中当前被选择组件的属性信息 Event 事件 页列出了当前组件可以相应的事件 在某事件后边的空白处 可以定义对象接受到相应事件时执行的程序段 这个程序段称为事件处理程序 在对象监视器的上部有一个下拉列表框 它叫做对象选择器 ObjectSelector 它显示了窗体以及窗体上所有组件的名称和类型 可以用对象选择器很方便地在窗体的各个组件之间切换 也可以快速地切换到窗体本身 7 3 对象树视图 ObjectTreeView 对象树视图显示出当前窗体上的所有的可视和非可视组件 并以树的组织形式显示它们之间的逻辑关系和属性关系 您可以通过拖动的方式改变它们的关系 对象树视图的另外一个很重要的作用是可以快速地选择一个组件 8 4 窗体 窗体是每一个Delphi应用程序的基本框架 当创建一个新工程时 Delphi会在程序开发环境中自动生成一个空白的窗体 并显示出来 可以在窗体上添加各种组件来设计用户界面 9 5 代码编辑器 CodeExplorer 代码编辑器通常就是书写 编辑源代码的地方 它是一个全功能的编辑器 具有许多强大的特性 像语法彩色显示和无限制的恢复功能等 在代码编辑器的底部是状态指示栏 从左到右依次是 行 列位置指示器 指明当前光标停留处的行 列序号 文件已更改指示器 指明当前文件与被打开时相比是否已被更改 Modified表示已被更改 编辑模式显示器 显示当前编辑模式是插入式 Insert 还是覆盖式 Overwrite 可以通过键盘上的Insert键来选择 10 预备知识Delphi7的项目管理 项目是一个完整程序的集合体 它统一程序中所有代码单元和窗体的代码 形成程序 项目文件 ProjectFile 也是一种包含Pascal代码的文件 它的一个重要特征是 用Delphi编写的每一个程序只能有一个项目文件 但允许程序中有许多单元 项目文件通常被称为主程序 项目文件名的后缀为 DPR Delphi7启动时不显示项目代码窗口 这是因为Delphi7自动产生这个文件 你很少需要改变它 如果你想了解这个文件 在Project菜单中选择ViewSource命令 然后在代码编辑器里 可以看到项目文件的代码 Delphi项目包含窗体 单元 资源 选项等 所有这些信息都驻留在磁盘文件中 在设计程序时 Delphi创建这些文件的大部分 但有一些文件需要你借助其它工具来创建或其它途径获得 如资源文件 帮助文件等 下面是设计程序时 Delphi自动创建的文件 项目文件 DPR Delphi项目文件 用于保存窗体 单元等的信息 以及程序运行的初始化代码等 这种文件实际上包含了Pascal源代码 单元文件 PAS Pascal文件 用于保存程序源代码 可以是与窗体有关的单元或是独立的单元 11 窗体文件 DFM 保存窗体或数据模块及其组件特性的文件 可以通过编辑器直接打开 选项文件 DOF 含有当前项目选项设置的文本文件 Package源文件 DPK 软件包的项目源代码文件 用于管理Packages信息 资源文件 RES 该二进制文件包含项目的图标 由Delphi不断更新和创建 用户一般不需要修改 备份文件 DP DF PA 分别对应项目 窗体 单元文件的备份文件 Desktop文件 DSK 包含了与Delphi窗口的位置 在编辑器中打开的文件及其它桌面设置有关的信息 类型库 TLB 一种自动建立或由类型库编辑器为OLE服务器端应用程序建立的 项目配置文件 CFG 保存项目配置 文件名与项目名相同 但后缀为 CFG 等等 预备知识Delphi7的项目管理 12 下面是程序编译后 Delphi自动创建的文件 执行文件 EXE 为程序编译后的Windows执行文件 单元对象文件 DCU 是单元文件的编译版本 会连接到最终的执行文件中 动态连接库文件 DLL 为设计动态连接库时创建的文件 ActiveX文件 OCX 一种特殊的DLL 含有ActiveX构件或窗体 预备知识Delphi7的项目管理 13 第一节程序和单元 Pascal的主程序格式是Program程序名 beginstatement end 通常 当系统相当大的时候 需要把文件分成主文件 和若干个单元文件 Unit 的组合 14 一 工程文件 Project ViewSource 就可以看到下面的工程文件 programProject1 uses 定义被引入的单元Forms Unit1in Unit1 pas Form1 R res beginApplication Initialize 初始化Application CreateForm TForm1 Form1 运行构造函数 建立一个Form的实例Application Run 程序运行end 15 Program程序名Uses单元名Const常量定义Type类型定义Var变量定义过程和函数定义Begin语句end 完整的工程文件结构如下 16 二 单元文件 典型的单元文件的结构如下 unitUnit1 单元名interface 接口部分 以interface开头 这里做的任何说明 都可以被自己或引用这个单元的程序调用 单元声明usesWindows Messages SysUtils Variants Classes Graphics Controls Forms Dialogs 类型声明typeTForm1 class TForm procedureFormCreate Sender TObject private Privatedeclarations public Publicdeclarations end 17 varForm1 TForm1 实现部分implementation R dfm 编译开关procedureTForm1 FormCreate Sender TObject begin end end 18 三 单元的引用 要想在一个程序调用另一个单元的变量或者函数 过程等 必须在Uses子句中声明 Uses可以在interface声明 也可以在implementation中声明 如果引用的内容会出现在接口部分 应该在interface中声明 如果引用的内容仅仅出现在实现部分 应该在implementation中声明 19 第二节面向对象的程序设计方法 一 名词解释 对象 Object 数据和代码封装的统一体 可以把对象和实例等同起来 实例是从类的角度定义对象 表示一个建立在特定类基础上的对象 类 Class 描述具有相似性质的一组对象 这组对象具有相同的数据结构 相同的操作 它定义了这组对象共同的属性和操作 属性 propertiy 属性是用来描述对象基本性质的一组参数 可以认为是对象的一个数据域 方法 Method 方法是类提供的操作 可以是过程也可以是函数 事件 Event 事件是由某种操作所触发的 事件在类中声明 但具体的程序是用户写的 20 1 对象的组成 每个对象必须包括三个内容 对象接口 对象行为 对象数据 21 2 类 1 类的定义Type类名 Class 父类 数据域定义过程和函数定义属性的定义End Tobject是所有类的最终祖先 如果不声明父类 将默认是Tobject 22 示例1 建立一个新的Delphi工程 File New Unit 加入一个新的单元 格式如下 unitUnit2 interfaceimplementationend 23 在interface下写入类的定义 typeTRect classPublicFleft Ltop integer end Tline class TRect PublicFline integer end 然后 在Unit1下作如下定义 UsesUnit1 vara tline 可以看到 变量a的下面将具备TRect内容 这实际上是一种继承关系 示例1 24 在类中定义方法的语法如下 定义type类名 Class 父类 保护方式关键字 Public或Private procedure方法名 参数表 Function函数名 参数表 返回值类型 end 实现procedure类名 方法名 参数表 Function类名 函数名 参数表 返回值类型 begin end 3 方法 25 调用对象实例 方法名 参数表 下面是一个实际的例子 unitUnit2 interfacetypeTRect classPublicFleft Ltop integer procedureABC end Tline class TRect PublicFline integer end 示例2 26 Implementationusesunit1 Dialogs procedureTrect ABC beginshowmessage 您现在使用的是自己创建的方法 end end 在Unit1中调用usesUnit2 vara tline procedureTForm1 Button1Click Sender TObject begina ABC end 示例2 27 4 属性 1 最简单的属性首先看一个比较简单的方法 用一个变量 数据域 来记录属性的值 这个变量也称其为属性标志 定义属性private数据域变量 类型 Property属性名 类型read数据域write数据域 调用变量 对象名 属性名 对象名 属性名 变量 28 二 用面向对象的观点 来看待窗体的构造 面向对象的程序设计方法是Delphi中的一个基本的设计方法 我们必须反复实践 力求真正的掌握 实际上 在整个Delphi的程序设计中 从头到尾可以说都是使用了面向对象的方法 例如 当你构建一个窗体的单元的时候 Delphi系统就自动的用面向对象的方法为你生成了一个类 TForm1 class TForm 这个类TForm1继承于Form的基类TForm 下面自动给出了这个类的程序结构 并给出受保护的定义区 TForm1 class TForm 29 受保护的定义区private Privatedeclarations public Publicdeclarations end 新的方法 将写入相应的受保护的定义区里面 在程序运行的时候 首先要运行构造函数 Application CreateForm TForm1 Form1 使这个类变成实例 这样 这个Form就变成可见的了 二 用面向对象的观点 来看待窗体的构造 30 审视Delphi源代码 unitUnit1 interfaceusesWindows Messages SysUtils Variants Classes Graphics Controls Forms Dialogs type 构造一个新的类 由TForm这个基类继承而来TForm1 class TForm 定义一个FormCreate方法procedureFormCreate Sender TObject 受保护的定义区private Privatedeclarations public Publicdeclarations end 31 声明Tform1类的一个对像变量Form1varForm1 TForm1 实现区implementation R dfm TForm1中的方法FormCreate的一个实现程序procedureTForm1 FormCreate Sender TObject Beginend end 审视
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 跨域模型协同机制-洞察与解读
- 储能材料产业园项目社会稳定风险评估报告
- 排水沟渠清淤与维护方案
- 复混合肥料生产线项目技术方案
- 堤防加固工程实施方案
- 油脂验收试题及答案
- 区块链技术知识竞赛试题(比特币相关)
- 霍山美术考试题目及答案
- 2025年云南省公务员考试申论省级卷真题试题答案解析
- 林下经济土地流转与运营模式方案
- 2025年下半年江苏盐城市亭湖区城管协管员招考94人易考易错模拟试题(共500题)试卷后附参考答案
- 2025及未来5年中国电子记事本市场调查、数据监测研究报告
- 2025-2026学年人教版(2024)八年级英语上学期期中考试模拟测试卷(含答案)
- 2025年海南省三亚市辅警考试真题及答案
- 安全风险管控“六项机制”监理实施细则(水利工程)
- 辽宁省名校联盟2025年高三10月份联合考试 生物试卷(含答案详解)
- 2025秋期版国开电大本科《心理学》一平台形成性考核练习1至6在线形考试题及答案
- 2023年黑龙江八一农垦大学考研英语练习题100道(附答案解析)
- 忻州市静乐县霍州煤电集团汾源煤业有限公司矿产资源开发利用、地质环境保护与治理恢复、土地复垦方案
- 人教版初中数学七年级上册教学课件多项式
- 弱电智能化工程售后服务方案
评论
0/150
提交评论