Delphi 入门 讲授者:李川
提纲 Delphi 简介 Delphi IDE 简介 Object Pascal 语言 Delphi 数据库体系结构
提纲 Delphi 简介 Delphi IDE 简介 Object Pascal 语言 Delphi 数据库体系结构
Delphi 简介 为什么学习Delphi
Delphi 简介 为什么学习Delphi 因为Delphi可提供很高的效率
Delphi 简介 为什么学习Delphi
Delphi 简介 面积越大,效率越高 为什么学习Delphi
Delphi 简介 可视化开发环境 为什么学习Delphi
Delphi 简介 可视化开发环境 编辑器 调试器 窗体设计器 为什么学习Delphi
Delphi 简介 可视化开发环境 编辑器 CodeInsight 调试器 窗体设计器 为什么学习Delphi
调试器 Trace/Evaluate/Run to Cursor/Watch/…/CPU View Delphi 简介 可视化开发环境 编辑器 调试器 Trace/Evaluate/Run to Cursor/Watch/…/CPU View 窗体设计器 为什么学习Delphi
Delphi 简介 可视化开发环境 编辑器 调试器 窗体设计器 VB/PB/CB… VC++ 对话框编辑器 为什么学习Delphi
Delphi 简介 编译速度,执行效率 为什么学习Delphi
是Windows平台速度最快的编译器 比C++快几倍 Delphi 简介 编译速度,执行效率 是Windows平台速度最快的编译器 比C++快几倍 为什么学习Delphi
Delphi 简介 为什么学习Delphi 编译速度,执行效率 是Windows平台速度最快的编译器 代码执行效率和VC++相当 JBuilder Java/ VB 为什么学习Delphi
Delphi 简介 框架设计和使用模式扩充 为什么学习Delphi
Delphi 简介 框架设计和使用模式扩充 VCL 组件库 为什么学习Delphi
Delphi 简介 语言的性能和复杂性 为什么学习Delphi
Delphi 简介 语言的性能和复杂性 功能强大,不复杂 为什么学习Delphi
Delphi 简介 语言的性能和复杂性 功能强大,不复杂 汇编 功能最强,但可读性和可维护性最差 为什么学习Delphi
Delphi 简介 语言的性能和复杂性 功能强大,不复杂 C++ 功能强大,但缺乏规范 写坏的代码比写好的更容易 为什么学习Delphi
Delphi 简介 为什么学习Delphi 语言的性能和复杂性 功能强大,不复杂 功能和复杂性良好的折中 避免多继承/操作符重载 提供强大的异常处理/RTTI 来自实践者 为什么学习Delphi
Delphi 简介 语言的性能和复杂性 功能强大,不复杂 VB 一个入门级语言 这些年越来越复杂 VB.NET 为什么学习Delphi
Delphi 简介 数据库架构的灵活性可扩展性 为什么学习Delphi
Delphi 简介 为什么学习Delphi 数据库架构的灵活性可扩展性 最灵活的数据库架构 dbExpress/ BDE/ ADO InterBase/ Data CLX 为什么学习Delphi
Delphi 简介 Delphi的历史
Delphi 简介 Delphi的历史 Delphi 1
Delphi 简介 Delphi的历史 Delphi 1 DOS时代 BASIC/ 汇编 Turbo Pascal Windows 3.1 C++/ VB Delphi 1 开启的RAD的纪元
Delphi 简介 Delphi的历史 Delphi 1 Delphi 2
Delphi 简介 Delphi的历史 Delphi 1 Delphi 2 1995年Windows 95问世 32位操作系统 VB 4.0/ PowerBuilder
Delphi 简介 Delphi的历史 Delphi 1 Delphi 2 Delphi 3
Delphi 简介 Delphi的历史 Delphi 1 Delphi 2 Delphi 3 CodeInsight技术的引入 Delphi战胜了PB/ Forte Anders Hejlsberg 跳槽到微软
Delphi 简介 Delphi的历史 Delphi 1 Delphi 2 Delphi 3 Delphi 4
Delphi 简介 Delphi的历史 Delphi 1 Delphi 2 Delphi 3 Delphi 4 使Delphi开发变得更容易 模块浏览器/代码导航/类自动生成 IDE窗口停靠/MIDAS… Delphi 4达到企业级应用的要求
Delphi 简介 Delphi的历史 Delphi 1 Delphi 2 Delphi 3 Delphi 4 Delphi 5
Delphi 简介 Delphi的历史 Delphi 1 Delphi 2 Delphi 3 Delphi 4 Delphi 5 进一步增强Delphi的可用性和效率 XML的支持
Delphi 简介 Delphi 6 的版本类型
Delphi 简介 Delphi 6 的版本类型 个人版 基本功能 专业版 适合专业程序员 企业版 企业级应用程序编写
提纲 Delphi 简介 Delphi IDE 简介 Object Pascal 语言 Delphi 数据库体系结构
Delphi 的 IDE 环境
Delphi 的 IDE 环境 主窗口
Delphi 的 IDE 环境 工具栏 菜单 组件板
Delphi 的 IDE 环境 对象浏览器
Delphi 的 IDE 环境 对象检视器
Delphi 的 IDE 环境 窗体设计器
Delphi 的 IDE 环境 代码编辑器
Delphi 的 IDE 环境 项目管理器
提纲 Delphi 简介 Delphi IDE 简介 Delphi 源文件 Object Pascal 语言 Delphi 数据库体系结构
Delphi 的源文件 单元文件 项目文件 窗体文件
单元源文件
单元源文件 窗体类的定义
单元源文件 类实例的说明
单元源文件 {$R *.dfm}
项目文件
项目文件 Pascal 主程序
项目文件 单元和窗体会列在这里
窗体文件 二进制文件形式
窗体文件 文本文件形式
一个简单的示例 放置一个按钮…
一些使用技巧 类代码自动生成 AppBowser导航 声明/实现切换 停靠功能 Ctrl+Shift+C Ctrl+单击 Ctrl+Shift+UP/DOWN 停靠功能
提纲 Delphi 简介 Delphi IDE 简介 Delphi 源文件 Object Pascal 语言 Delphi 数据库体系结构
注释、函数过程的括号、大小写 注释 函数、过程中的圆括号 大小写不敏感 { }、(* *)、// Form1.show; { }、(* *)、// 函数、过程中的圆括号 Form1.show; Form1.show(); 大小写不敏感
缺省值 procedure HasDefVal(S: string; I: Integer = 0); HasDefVal(‘hello’, 26); // new value for I HasDefVal(‘hello’); // default value used for I 向后兼容性
类型 类型定义 Type A= array[1..2] of Integer; B=record i: Integer; d: Double end;
常量 常量声明 Const i=10; string1=‘This is a short string.’; j: Integer =10; string1:string= ‘This is a predefined short string’;
变量的声明 Var i: Integer DA: array of string; s: string[45]; a: AnsiString; …
记录的定义 { Pascal } Type MyRec = record i: Integer; d: Double; end; typedef struct { int i; double d; } MyRec;
指针定义 Type Pint = ^ Integer; Foo=record a: string; end; Pfoo= ^ Foo; Var P: Pint; P2: Pfoo; … New(P); P^.a:=‘ A assignment’
动态数组 var // dynamic array of string: SA: array of string; begin // allocate room for 33 elements: SetLength(SA, 33); SA[0] := ‘Pooh likes hunny’; OtherString := SA[0];
动态数组 var // dynamic array of string: SA: array of string; begin // allocate room for 33 elements: SetLength(SA, 33); SA[0] := ‘Pooh likes hunny’; OtherString := SA[0];
字符类型 AnsiChar 标准1字节ANSI字符 WideChar2 字节长Unicode字符 Char 相当于AnsiChar到WideChar
集合类型 type TCharSet = set of char; // possible members: #0 - #255 TEnum = (Monday, Tuesday, Wednesday, Thursday, Friday); TEnumSet = set of TEnum; // can contain any combination of TEnum members TSubrangeSet = set of 1..10; // possible members: 1 - 10 TAlphaSet = set of ‘A’..’z’; // possible members: ‘A’ - ‘z’
集合类型
集合类型 if ‘S’ in CharSet then // do something; if not (Monday in EnumSet) then // do something; 并操作和差操作 + / - 或 Include() / Exclude() Include(CharSet, ‘a’); // add ‘a’ to set CharSet := CharSet + [‘b’]; // add ‘b’ to set Exclude(CharSet, ‘x’); // remove ‘z’ from set CharSet := CharSet - [‘y’, ‘z’]; // remove ‘y’ and ‘z’ from set
集合类型 交操作 * if [‘a’, ‘b’, ‘c’] * CharSet = [‘a’, ‘b’, ‘c’] then // do something
If 语句 { Pascal } if x = 4 then y := x; /* C */ if (x == 4) y = x; ‘Visual Basic If x = 4 Then y = x
If 语句 if (x = 7) and (y = 8) then 不要这样使用If语句(可能带来编译问题):
If 语句 if x = 6 then begin DoSomething; DoSomethingElse; DoAnotherThing; end;
If 语句 if x =100 then SomeFunction else if x = 200 then SomeOtherFunction else begin SomethingElse; Entirely; end;
Case语句 case SomeIntegerVariable of 101 : DoSomething; 202 : begin DoSomethingElse; end; 303 : DoAnotherThing; else DoTheDefault;
Case语句 switch (SomeIntegerVariable) { case 101: DoSomeThing(); break; DoSomethingElse(); break case 303: DoAnotherThing(); break; default: DoTheDefault(); }
提纲 Delphi 简介 Delphi IDE 简介 Delphi 源文件 Object Pascal 语言 Delphi 数据库体系结构
Delphi 数据库体系结构 Delphi 数据库类型 数据库体系结构 数据库连接 BDE连接方式设定
Delphi 数据库类型 Delphi 支持的数据库类型 BDE (Borland Database Engine) ADO (ActiveX Data Objects) Microsoft 标准 dbExpress 组件 InterBase 组件
BDE (Borland Database Engine) 定义了很多与数据库交互的 API 支持最为广泛的功能 和大多数的程序协同工作 Paradox dBASE 部署较复杂
ADO (ActiveX Data Objects) 广泛的数据库驱动器 可以和不同的数据库交互 支持多层开发 支持 ADO 应用服务器设置 使用较为方便
dbExpress dbExpress 组件 访问数据集最快捷的方式 轻量数据访问组件 支持跨平台的开发 支持最小范围的数据管理素质
InterBase InterBase 组件 数据库服务器 本地版本 远程版本 直接访问InterBase数据库的组件
Delphi 数据库体系结构
Delphi 数据库体系结构 这部分是前台区域
Delphi 数据库体系结构 这部分是后台区域
Delphi 数据库体系结构 这部分是数据模块
Delphi 数据库体系结构 三个部分 数据源组件 数据集组件 连接组件
Delphi 数据库体系结构 在这里编辑用户的界面
提纲 Delphi 简介 Delphi IDE 简介 Delphi 源文件 Object Pascal 语言 Delphi 数据库体系结构
Delphi 数据库连接 数据集到后台连接通常由连接组件实现 TCustomConnection 组件 数据访问机制 连接组件 数据访问机制 连接组件 BDE数据集 TDatabase ADO数据集 TADOConnection dbExpress数据集 TSQLConnection InterBase数据集 TIBDatabase
数据库连接选择考虑 设计数据库应用时 数据库连接组件 数据访问机制 数据集类型 应用的需求界定 不同的功能支持 不同的部署方式 不同的数据支持 数据集类型 应用的需求界定
BDE连接方式设定 BDE 可为多个应用程序共享 丰富的 API 集合 数据定义、操纵、控制平台 访问多种类型的数据库 加入BDE组件 Paradox, dBASE, FoxPro, and Access SQL 连接驱动器连接远程数据库服务器 InterBase, Oracle, Sybase, Informix, Microsoft SQL server, and DB2 ODBC 适配器 加入BDE组件 API 和 BDE 的选择
BDE 连接的结构 数据集控件 数据库控件 会话控件
BDE 连接的结构 数据访问控件 数据集控件 数据库控件 会话控件
BDE 连接的结构 数据源控件 数据集控件 数据库控件 会话控件
BDE 连接的结构 数据集控件 数据集控件 数据库控件 会话控件
BDE 连接的结构 数据库控件 会话控件 数据集控件 数据库控件 会话控件
BDE 连接的结构 BDE 数据库引擎 数据集控件 数据库控件 会话控件
提纲 Delphi 简介 Delphi IDE 简介 Delphi 源文件 Object Pascal 语言 Delphi 数据库体系结构