delphi程序单元基础讲解

合集下载

Delphi第1章

Delphi第1章
运行的程序 程序设计: 程序设计: 问题建模 算法设计 编写代码
调试测试
1.3.3 Delphi程序的编写,编译和运行
Delphi的集成开 菜单 工具栏 发环境包括:菜 单,工具栏,组 件面板,窗体设 对象树状视图 计器,代码浏览 器,代码编辑器, 代码编辑器 项目管理器,对 对象观察器 象观察器 (Object 代码浏览器 Inspector), 对象树状视图 (Object Tree View)等
1.2.2语言的类型
1. 机器语言
在机器语言中,指令被写成计算机能够直接令通常告诉计算机4件事情:
(1)到计算机主存储器(随机访问存储器)的哪个位 置去找一或两个数字或者简单的数据段; (2)要执行的一个简单操作,例如将两个数字加起来; (3)将这个简单操作的结果存放在主存储器的什么位 置; (4)到哪里找要执行的下一条指令.
组件面板
项目管理器 窗体设计器
1.3.3 Delphi程序的编写,编译和运行
Delphi创建应用程序的方法.
1. 创建项目 1) 在IDE的File菜单中选择菜单项New|Application, 系统将创建一个Windows应用程序框架,它包括了一 个空白的窗体.如果我们按快捷键Ctrl+Alt+F11后将 出现项目管理器,在这里我们可以看到系统为该项目 创建的一系列缺省文件. 2) 在IDE的File菜单中选择菜单项Save All,此时弹出 保存文件对话框.输入所要编写的项目名称(将来生 成可执行文件的主文件名与此相同)以及单元文件名 称. 3) 如果要选择其他项目类型,可以在IDE的File菜单中 选择菜单项New|Other...,此时会弹出New Items 对话框.这里有多种项目或应用程序类型可供选择.

第1章 Delphi的基础知识

第1章 Delphi的基础知识

第1章 Delphi的基础知识§1.1 窗体介绍1 位置与大小Top、Left 决定左上角相对于屏幕左上角的坐标Height、Width 决定窗体的高度和宽度Align 相对于屏幕的对齐方式(不是很常用)Position 决定窗体在屏幕中的位置,当Align设置为alNone时此设置才有效。

常用的是poScreenCenter:窗体位于屏幕的中央2. Name和CaptionName是在写程序时用的名字(不同的窗体Name必须不同)Caption是在标题栏上显示的名字3 外观与风格(1)FormStyle窗体类型(枚举类型)fsNormal 普通窗体fsMDIChild MDI子窗体fsMDIForm MDI主窗体fsStayOnTop 位于顶层(2)BorderIcon设置窗体标题栏图标样式biSystemMenu 窗体的标题栏有系统菜单biMinimize 窗体的标题栏有最小化按钮biMaximize 窗体的标题栏有最大化按钮biHelp 窗体的标题栏有帮助按钮(3)BorderStyle边界类型bsDialog 对话框,不能改变大小bsSingle 边界为单线,不能改变大小bsNone 无边框,不能改变大小bsSizeable 默认,可改变大小bsToolWindow 与 bsDialog类似,但有标题栏,不能改变大小bsSizeToolWindow 与 bsDialog类似,但有标题栏,能改变大小(4)WindowStyle窗体显示状态wsNormal 正常wsMinimal 最小化wsMaximized 最大化(5)HorzScrollBar、VertScrollBar 设置水平和垂直滚动条4. 事件(1)建立窗体时引发的事件 OnCreate OnShow OnPaint OnActivate(2)关闭窗体时引发的事件 OnClose OnCloseQuery(3)改变大小时引发的事件 OnResize OnPaint5.方法Create Close CloseQuery Release Show ShowModal Print------------- 创建窗体的2种方法 ---------------------1. 静态创建先设计好窗体(比如Form2),在Form1中可以通过下面方式让Form2显示Form2.Show;2. 动态创建如果一个工程窗体较多时,运行时会把所有的窗体都装入内存,此时窗体已存在,只是看不到,造成资源浪费。

Delphi基础教程图文版之单元文件结构

Delphi基础教程图文版之单元文件结构

Delphi基础教程图⽂版之单元⽂件结构写完开篇之后考虑很久先写什么,Delphi是以单元(unit)作为它的程序组成,单元⽂件的后缀名为 .pas 想来想去还是从单元⽂件开始说起我们在官⽅⽂档可以看到如下的描述将⼤型程序划分为可以单独编辑的模块。

创建可以在程序之间共享的库。

在不提供源代码的情况下将库分发给其他开发⼈员。

⼀个完整的,可执⾏的Delphi应⽤程序由多个单元模块组成,所有这些模块都由⼀个称为项⽬⽂件的源代码模块捆绑在⼀起。

项⽬⽂件的后缀名为 .dpr官⽅⽂档:结构和语法-.dpr⼿动新建⼀个 VCL Application 通过下图的⽅式可以看到程序最开始的源码其代码如下:program Project1;usesVcl.Forms,Unit1 in 'Unit1.pas' {Form1};{$R *.res}beginApplication.Initialize;Application.MainFormOnTaskbar := True;Application.CreateForm(TForm1, Form1);Application.Run;可执⾏的Delphi 应⽤程序的源代码⽂件包含:(1)program 声明:默认情况下采⽤的就是当前的项⽬名称(2)uses 语句声明:use ⼦句由关键字use 组成,后跟⼀个逗号分隔的项⽬⽂件直接依赖的单位列表(3)可执⾏语句块其组成语句只是对项⽬的Application 对象的⽅法调⽤。

⼤多数项⽬都有⼀个全局Application 变量,该变量包含Vcl.Forms.TApplication ,Web.WebBroker.TWebApplication 或Vcl.SvcMgr.TServiceApplication 的实例(对象)。

该块还可以包含常量,类型,变量,过程和函数的声明; 这些声明必须在块的语句部分之前。

注意,代表程序源结尾的结尾必须后⾯带有英⽂状态句号通过上⽂可以看出,Delphi 程序确实是通过 .dpr ⽂件进⾏组织,其中 .pas 即为创建程序时通过项⽬创建向导并⾃动引⼊。

delphi的windows单元介绍

delphi的windows单元介绍
DeletePrintProvidor API 删除打印机提供者
DeletePrinter API 删除打印机服务器上的打印机
DeletePrinterConnection API 删除与打印机的连接
DeletePrinterDriver API 删除打印机驱动程序
DeleteService API 从SC MANAGER数据库中删除服务
DlgDirList API 填充目录列表框
DlgDirListComboBox API 填充目录列表框
DlgDirSelectComboBoxEx API 从目录列表框中返回用户选择
DlgDirSelectEx API 从目录列表框中返回用户选择
DoEnvironmentSubst API
DebugActiveProcess API 连接调试进程
DebugBreak API 建立断点
DefDlgProc API 提供缺省窗口消息进程
DefDriverProc API 定义缺省消息处理器
DefFrameProc API 缺省MDI框架窗口消息进程
DefMDIChildProc API 缺省MDI子窗口消息进程
EndPage API 结束一页
EndPagePrinter API 结束打印页
EndPaint API 在指定窗口中标记图画结尾标志
EndPath API 结束路径
EndUpdateResource API 在可执行文件中结束资源更新
EnterCriticalSection API 加入临界部分
EnableScrollBar API 使能、取消滚动条
EnableWindow API 设备窗口使能状态

第一章 delphi基础

第一章 delphi基础
第1章 Delphi基础 章 基础
1
本章内容
本章内容 学习要求
§1.1 §1.2 §1.3 §1.4
Delphi7特点 Delphi7的集成开发环境 Delphi7可视化编程 Delphi7常用组件的使用
2
学习要求
熟悉集成开发环境 熟练掌握可视化编程的步骤,会编写简单的程序 掌握Delphi文件结构。 熟练掌握Delphi7常用组件的使用
一、Delphi 7集成开发环境的组成
本章内容 学习要求
5
1、主菜单:掌握几个主要的菜单。 2、工具栏 (Tools Bar) :
本章内容 学习要求
6
本章内容 学习要求
3、组件面板 可视组件 非可视组件:如Dialogs和Data Access等面板上的组 件 使用组件面板
重点掌握Standard,additional,Data access,Data controls,ADO,BDE
可视化的开发环境 快捷高效的编译器:Pascal编译器 编程语言规范,易于调试: Object Pascal语言 灵活的数据库结构:支持Paradox, Foxpro, Access,Oracle,MS SQL Server,Sybase数据库 组件功能的灵活扩充
4
1.2 Delphi 7 的集成开发环境
5、对象观察器 (Object Inspector)
(1)属性,属性修改 (2)事件,编写事件代码 技巧 属性太多,不知其意思,怎么办? 先选中该属性或事件,再F1键(帮助)
6、代码编辑器(Code Editor)
8
Delphi7可视化编程 1.3 Delphi7可视化编程
一、工程
本章内容 学习要求
7

delphi程序结构概要介绍

delphi程序结构概要介绍

概要介绍:Object Pascal语言的结构比较特殊,跟C有很大的不同,但是它秉承PASCAL语言的一贯结构化的传统,相信大家很容易就可以了解。

一:Program 单元一个object Pascal程序,是由一个特殊的单元和若干个可选的单元组成的,也就是说一个最简单的Object Pascal程序,可以只由一个特殊的单元组成,这个特殊的单元就是Program 单元。

在Delphi中,Program 单元也就是Delphi的工程文件。

Program 单元从功能上讲,有点像C语言中的主程序,程序再简单,它也得有一个Main 函数。

Program单元也就是这样的主程序。

当然,一个程序如果只有Program单元,它也没多大实际意义(除了一些完成特殊任务的程序外),事实上Delphi的程序至少有一个子程序,即后面要介绍的子程序单元。

下面列出一个典型的Program单元:Program Project1;UsesForms,Unit1 in 'Unit1.pas';{$R *.RES}BeginApplication.Initialize;Application.CreateForm(Tform1,Form1);Application.Run;End;Program单元由以下几个部分组成:程序首部,由保留字Program后跟一个程序名组成,上例中是Project1。

程序首部也可以带有参数,不过一般很少用到。

引用部分,由保留字Uses加要引用的单元名组成,上例中有两个,分别是Forms单元和Unit1单元,其中Unit1单元还指定在Unit1.pas文件中。

最简单的程序可以没有USES部分。

编译指令,上例中,只有一个编译指令{$R *.RES},编译指令也是可选的。

执行部分也称初始化部分,由保留字Begin和End括起来的一段代码。

注意:用Delphi开发程序,除了一些特殊需要,如检查第二个实例是否运行,一般很少需要手工修改Program单元,因为Delphi能够自动建立和维护这个单元,例如当您开始一个新的工种的时候,Delphi自动建立一个Program单元和一个子程序单元。

delphi基础篇之单元文件

delphi基础篇之单元文件

delphi基础篇之单元⽂件Delphi单元⽂件unit MainFrm; {库单元⽂件头}interface {接⼝部分由Interface开始implementation结束。

声明引⽤的单元,常量,数据类型,变量,过程和函数}uses{声明引⽤的单元}Windows, Forms, StdCtrls;{声明常量,数据类型,变量}type //类型TForm1 = class(TForm)procedure FormCreate(Sender: TObject);private { Private declarations }public procedure MyButtonClick(sender:TObject); { Public declarations }end;var //变量Form1: TForm1;//过程和函数声明部分,在Interface部分,只需写出过程和函数的⾸部,具体的定义是在下⾯的implementation部分给出的.implementation {实现部分}{Implementation部分分为两部分.⼀、是声明部分,包括单元引⽤,常量,类型,变量,过程和函数的声明,这⼀点和Interface部分相似.区别有两点:(1):在Implementation部分声明的只对本单元是公共的,可见的,其他单元即使引⽤了该单元,也不能访问它们.(2):在Implementation部分声明的过程和函数,不需要遵循先声明后定义的规则,⽽可以直接写出过程和函数的定义.}{$R *.dfm}{⼆、是在Interface部分声明的过程和函数的定义,即函数体.}procedure TForm1.FormCreate(Sender: TObject); //类⽅法的定义beginend;procedure TForm1.MyButtonClick(sender:TObject);beginApplication.MessageBox(PAnsiChar(TButton(sender).Caption),'Test Component');TButton(sender).Caption := '测试⼆';end;initialization {可选的初始化部分,⽤于初始化该库单元,此处的代码最先执⾏.}finalization {通常⽤于释放Initialization部分分配的资源.}end. {End结束符}1.库单元⽂件头,库单元的名字.2.Interface部分:由保留字interface开始,结束于保留字implementation,它⽤来声明引⽤的单元,常量,数据类型,变量,过程和函数.在Interface部分声明的变量,常量,数据类型,过程,函数都可以供外部引⽤,对整个程序⽽⾔是共有的.也就是说,对于所有引⽤该单元的单元来说,这些声明都是可见和可访问的.在Interface部分,只需写出过程和函数的⾸部,具体的定义是在下⾯的implementation部分给出的.Interface部分⼜可分为多个可选部分,分别为单元引⼊部分(uses),常量说明部分,类型说明部分,变量说明部分,过程和函数声明部分.3.Implementation部分:Implementation部分分为两部分.⼀部分是声明部分,包括单元引⽤,常量,类型,变量,过程和函数的声明,这⼀点和Interface部分相似.区别有两点:(1):在Implementation部分声明的只对本单元是公共的,可见的,其他单元即使引⽤了该单元,也不能访问它们.(2):在Implementation部分声明的过程和函数,不需要遵循先声明后定义的规则,⽽可以直接写出过程和函数的定义. 另⼀部分是在Interface部分声明的过程和函数的定义.4.Initialization部分:⽤于初始化该库单元,此处的代码最先执⾏.如果多个库单元中包含Initialization部分,那么它们的执⾏顺序就和Program的uses部分引⽤单元的出现顺序是⼀致的.5.Finalization部分:通常⽤于释放Initialization部分分配的资源.如果多个库单元中包含Finalization部分,其执⾏顺序和Initialization部分正好相反.6.Sender参数:看上⾯程序代码发现事件处理程序的参数中,⾄少含有⼀个参数Sender,它代表触发事件处理程序的组件,有了Sender参数,可以使多个组件共⽤相同的事件处理程序.7.Self参数:Self是指所编的程序范围是在哪⼀个类中,Delphi中⼤都在窗体范围内编程,因此,Self即指窗体,如果在编写⼀个类或是⼀个组件,则Self指该类或该组件.我们在过程和函数的声明中可以看出Self是代表哪个组件,即Self代表"."号之前的组件.另外应注意,Self只能⽤在类⽅法中,⽽不能⽤在过程或函数中.如下列是错误的:Function a1(B:Integer):Integer;begin...Button := TButton.Create(self);...end;8.Parent和Owner的区别:(1):Parent属性是指组件的包容器,组件只能在此范围内显⽰和移动.(2):Owner属性是指组件的所有者,它负责组件的创建和释放.Create⽅法应带有表⽰组件所有者的参数.(3):它们都是运⾏阶段的属性,只能通过代码设置.。

Delphi--第三章_Delphi基本程序设计ppt课件

Delphi--第三章_Delphi基本程序设计ppt课件

2.计算表达式1!+2!+3!+-------+50!的值
3.按从大到小的次序,输出从1到1000之间所有能同时 被3和7整除的数
4.编写一个简略计算个人所得税的程序,收入在3000元
以下,交3%;收入在3000到5000元(含3000),交6%,
收入在5000到10000元(含5000),交10%,10000元及以
第三章
Delphi 基本程序设计
整理ppt
1
本章知识点和基本要求
➢ 顺序结构 ➢ 选择结构 ➢ 循环结构 ➢ 过程与函数
☺ 掌握顺序结构、选择结构、循环结构的使用方法 ☺ 掌握过程与函数的定义和使用规则 ☺ 理解重载的含义。
整理ppt
2
顺序结构
❖ 顺序结构是程序设计中最简单、最 常用的基本结构。在该结构中,各 操作块(简称块,对应于程序中的 “程序段”)按照出现的先后顺序 依次执行。它是任何程序的主体基 本结构,即使在选择结构或循环结 构中,也常以顺序结构作为其子结 构。
循环结构
2. repeat语句(“直到”型) 特点:先循环,后判断,最少循环1次。 其语法形式如下:
repeat
循环体语句(块)
语句1; 语句2;
……
T
条件表达式
F
until 条件表达式;
例:从1开始累加,当累
注意:这里不必把多个语句 加和刚刚大于79时,显示
的循环体用begin和end括 最后一个被累加的数及累
起来。
整理ppt加和。
13
循环结构
3.For语句
语法格式:
for 循环变量 = 初值 to 终值 do
循环体 ;
for 循环变量 = 初值 downto 终值 do

第1章 Delphi的基础知识

第1章  Delphi的基础知识

1.4 Delphi可视化编程的步骤 Delphi可视化编程的步骤
1.4.1 创建一个工程 1.4.2 添加控件 1.4.3 设置属性 1.4.4 编写代码 1.4.5 保存工程 1.4.6 运行工程 1.4.7 关闭工程和关闭 关闭工程和关闭Delphi 1.4.8 修改工程 1.4.9 Delphi程序的基本组成 程序的基本组成
1.5.4 控件的对齐 选择菜单“Edit”→“Align...”,可以打开“Alignment”(对齐)对话框。选 择菜单“View”→“Alignment Palette”,则可以打开“Align”(对齐)板。
1.6 窗体介绍 窗体是应用程序的操作界面,是放置控件的基础。 1.6.1 窗体的属性 可以调整或设置窗体的大小、风格、标题、名称等属性来确定其外观 和特征。
事件名称 OnCreate OnShow OnPaint OnActivate
说明 建立窗体时首先引发的事件 显示窗体时引发的事件 重画窗体、窗体大小改变、窗体上的其他窗体移去时引发的事件 激活窗体时(窗体拥有焦点)引发的事件
Delphi程序设计教程 Delphi程序设计教程
谢江林
主要内容: 主要内容
DELPHI编程的基本思想、概念 编程的基本思想、 编程的基本思想 Pascal知识点回顾 知识点回顾 DELPHI编程环境、方法、主要控件的使用 编程环境、 编程环境 方法、 数据库访问 小型应用程序的开发
第1章 Delphi的基础知识 章 的基础知识
1.1 Delphi简介 Delphi简介 1.2 Delphi可视化编程的基本概念 Delphi可视化编程的基本概念 1.2.1 对象的属性、事件和方法 对象的属性、 1.2.2 控件 1.3 Delphi可视化编程的环境 Delphi可视化编程的环境

DELPHI教程第一章

DELPHI教程第一章

第一章Delphi快速入门(一)Delphi是全新的可视化编程环境,为我们提供了一种方便、快捷的Windows应用程序开发工具。

它使用了Microsoft Windows图形用户界面的许多先进特性和设计思想,采用了弹性可重复利用的完整的面向对象程序语言(Object-Oriented Language)、当今世界上最快的编辑器、最为领先的数据库技术。

对于广大的程序开发人员来讲,使用Delphi开发应用软件,无疑会大大地提高编程效率,而且随着应用的深入,您将会发现编程不再是枯燥无味的工作——Delphi的每一个设计细节,都将带给您一份欣喜。

1.1 Delphi基本概念介绍1.1.1 Delphi的基本形式Delphi实际上是Pascal语言的一种版本,但它与传统的Pascal语言有天壤之别。

一个Delphi程序首先是应用程序框架,而这一框架正是应用程序的“骨架”。

在骨架上即使没有附着任何东西,仍可以严格地按照设计运行。

您的工作只是在“骨架”中加入您的程序。

缺省的应用程序是一个空白的窗体(Form),您可以运行它,结果得到一个空白的窗口。

这个窗口具有Windows窗口的全部性质:可以被放大缩小、移动、最大最小化等,但您却没有编写一行程序。

因此,可以说应用程序框架通过提供所有应用程序共有的东西,为用户应用程序的开发打下了良好的基础。

Delphi已经为您做好了一切基础工作——程序框架就是一个已经完成的可运行应用程序,只是不处理任何事情。

您所需要做的,只是在程序中加入完成您所需功能的代码而已。

在空白窗口的背后,应用程序的框架正在等待用户的输入。

由于您并未告诉它接收到用户输入后作何反应,窗口除了响应Windows的基本操作(移动、缩放等)外,它只是接受用户的输入,然后再忽略。

Delphi把Windows编程的回调、句柄处理等繁复过程都放在一个不可见的Romulam覆盖物下面,这样您可以不为它们所困扰,轻松从容地对可视部件进行编程。

第5章 Delphi 7基础知识及Delphi 7与数据库

第5章  Delphi 7基础知识及Delphi 7与数据库
抓柄 对象选择按钮 选择卡标签 控件 导航按钮
2、窗体设计器 窗体(Forms)窗口是开展大部分设计的工作区域。 3、对象查看器 对象查看器窗口含有两页:Properties页显示窗体中当前被 选择部件的属性信息,并允许改变对象的属性;Events页列 出了当前部件可以响应的事件。 4、代码编辑器 代码编辑器是输入代码的地方。代码窗口一开始处于窗体窗 口之下。因为在Delphi中,设计用户界面直接在窗体中进行, 运行结果和设计样板完全一致。当部件被放到窗体上时,De lphi会自动生成大部分的用户界面代码。 5、对象树状列表(对象监视器) 代码浏览器以一种树状视图的方式显示了列在代码编辑器中 的单元文件。
Edit1.Color:=clRed;
2、顺序结构 顺序结构是程序设计中最简单、最常用的结构。 在该结构中,各程序段按照出现的先后顺序依次 执行,不产生程序流程的其他转移。它是所有程 序的主体结构,即使在选择结构或循环结构中, 也常以顺序结构作为其子结构。
【例5.1】 求一个任意三角形的面积。
(1)界面设计 使用Button、Edit、Label组件和showmessage消息 框即可完成界面设计,用户界面如图所示。
2005 10.0 发布名称:Borland Developer Studio(BDS) 2006。集成C++ Builder; ECO(Enterprise Core Objects)升级到ECO III; 集成Together for Delphi,可以在同一个IDE中进行UML开发;QA Audits和QA Metrics可 以快速的把握专案的设计和代码的质量。 2006 Turbo Borland将BDS 2006拆分成几个独立的版本(Delphi for win32、 Delphi for .net、C#、C++ Builder),而且不能同时安装两个不同的版本。 由于Borland的IDE生产部份独立成为一家名为CodeGear的公司,所以 这个版本是以Borland名义推出的最后一个版本。 2007 11.0 正式名称:CodeGear RAD Studio - Delphi 2007。 2008 5.7 Borland正式宣布将CodeGear子公司出售给Embarcadero(易博 龙)技术公司。 2008 8.25 Embarcadero发布CodeGear Delphi 2009 Pre-release版。 2009 8.25 Embarcadero发布CodeGear.RAD.Studio.2010版 2010.8.30 Embarcadero 发布 Delphi XE(又名Delphi 2011,代号为Fulcr um) 2011.1.27 Embarcadero公司宣布成立一个新的精简版Delphi Starter Editi on,是在爱好者和谁得到一个稍微简化的功能集为一个小的创业公司的 价格,旨在可用性。

delphi基础知识

delphi基础知识

第一章delphi基础知识一、对象观察器1、设置属性1)窗体的主要属性属性功能ActiveControl该属性用于指出获得焦点的对角BorderIcon控制窗体的最大化、最小化及帮助按钮的显示Borderstrle控制窗体边框的形式Color控制窗体的背景颜色Caption设定窗体的标题KeyPreview控制窗体接收键盘信息2)其它组件的主要属性属性功能Align确定对象的对齐方式Caption确定对象的标题Enabled确定对象是否可以活动Font字体的设置Height设置对象的高度Hint设置提示信息Left设置左上角的横坐标Name设置对象的名字PopMenu确定对象上的弹出式菜单Visible确定对象的可见性Width设置对象的宽度2、添加事件对象的主要事件事件功能OnChange对象发生改变时触发OnClick单击鼠标左键时触发OnDbClick双击鼠标左键时触发OnDragDrop其他对象拖入此对象时触发OnDragOver其他对象拖动经过此对象时触发OnKeyDown按下键盘上某个键时触发OnMouseDown单击鼠标时触发OnMouseMove鼠标拖动时触发OnMouseUP松开鼠标键时触发3、登录框所需源码//nameadoquery1.Close;adoquery1.SQL.Clear;adoquery1.SQL.Add('select*from ygxx where ygbm=:a'); adoquery1.Parameters.ParamByName('a').Value:=edit1.Text; adoquery1.Open;if adoquery1.RecordCount>0thenbegin//passwordadoquery1.Close;adoquery1.SQL.Clear;adoquery1.SQL.Add('select*from ygxx where ygbm=:a and xm=:b');adoquery1.Parameters.ParamByName('a').Value:=edit1.Text;adoquery1.Parameters.ParamByName('b').Value:=edit2.Text;adoquery1.Open;if adoquery1.RecordCount>0thenbeginform2.Color:=clActiveCaption;form2.Show;endelsebeginshowmessage('密码错误');end;endelsebeginshowmessage('用户不存在');end;end;4、调整窗体的栅格菜单TOOL—Environment Options选项下Designer调整数值即可5、代码浏览器快捷銉Shift+Ctrl+E6、项目管理器快捷键Ctrl+Alt+F11第2章Object Pascal程序设计语言一、基本字符和符号1、小例子注释的用法procedure TForm1.FormCreate(Sender:TObject);{$APPTYPE CONSOLE}//编译器指令这要增加否则下面的不运行beginwriteln('string1'+'string2');(*字符串1和字符串2*)writeln;('按下<Enter>退出')readln;//读取end;end.2、常量与变量1)常量纯常量:ConstDATE=29;PI=3.14;类型常量:Const Identifer:type=value;例子:Const Min:Integer=200;2)变量VarValue,sum:Integer;(整数型)*Line::String;(字符型)3、运算符语言中运算符的优先级运算符优先级分类@、not第一级单目运算符*、/、div、mod、and、shl、shr、as第二级乘法运算符+、-、or、xor第三级加法运算符=、>、<、<>、<=、>=、in、is第四级关系运算符1)算术运算符运算符功能操作数类型结果类型举例+两个数相加Integer,real Integer,real X+y-两个数相减Integer,real Integer,real y-1*两个数相乘Integer,real Integer,real P*interestRate /两个浮点数相除Integer,real real x/2div两个整型数相除Integer Integer81div9mod计算余数(取模)Integer Integer Y mod42)逻辑运算符运算符功能操作数类型结果类型举例Not按位取反Integer Integer Not xAnd按位和Integer Integer X and YOr按位或Integer Integer X or YXor按位异或Integer Integer X xor YShl按位左移Integer Integer X shl2shr按位右移Integer Integer X shr3布尔运算符运算符功能操作数类型结果类型举例Not逻辑取反Boolean Boolean Not(C in myset)And逻辑取和Boolean Boolean Done and(total>0)Or逻辑或Boolean Boolean X or YXor逻辑异或Boolean Boolean X xor Y4)关系运算符运算符功能结果数类型举例=判断是否相等Boolean I=max<>判断是否不相等Boolean X<>y<判断是否小于Boolean X<y>判断是否大于Boolean x>y<=判断是否小于等于Boolean X<=y>=判断是否大于等于Boolean I>=1二、语句1、赋值语句赋值语句的形式如下:Variable:=expression;赋值语句的左边是此赋值操作的数据变量,右边是一个数值或者表达式,中间用“:=”连接。

《Delphi程序设计基础教程》 第1章 Delphi7集成开发环境

《Delphi程序设计基础教程》  第1章 Delphi7集成开发环境

1.2 Delphi软件的安装及卸载
图1-10 设置安装路径
DELPHI程序设计基础教程
2020年1月9日星期四
1.2 Delphi软件的安装及卸载
选择完安装路径后,单击【next】按钮, 安装向导询问用户是否安装数据库保存到 本地硬盘,如图1-11所示。
DELPHI程序设计基础教程
2020年1月9日星期四
1.2 Delphi软件的安装及卸载
单击【Install】按钮,开始正式安装,如图1-13所 示。
图1-13 正式安装
DELPHI程序设计基础教程
2020年1月9日星期四
1.2 Delphi软件的安装及卸载
系统安装完毕后,用户可单击【Finish】按钮即可 ,如图1-14所示。
图1-14 系统安装完毕
DELPHI程序设计基础教程
2020年1月9日星期四
1.1 Delphi简介
Delphi7的新特点 Delphi7在继承了Delphi中能有效的帮助开发人员快速
的构造出所需的Windows应用程序等传统优势的同时,也进 行了进一步的完善和发展。
目前,Delphi7加强了集成开发环境、数据库、可视组 件库等方面功能。首先,为了顺应当今基于Web服务的电子 商务应用程序开发的潮流,Delphi7加强了使用商业XML的 Windows操作系统与Web Services兼容能力。其次,为了 更加便于程序员编程,Delphi7在集成开发环境中的组件面 板上新加入了一些组件并优化了代码编辑工作。再次, Delphi7使用Rave Reports(即目前可获得的第一个和唯一 的专业性可视化报表工具)技术,这大大加快了程序员创 建跨平台的报表的速度。另外,Delphi7增加了对Windows XP风格的支持。最后,Delphi7也为开发人员提供了更为可 靠的安全性的控制以及可伸缩性的开发需要。

第2章Delphi基础知识

第2章Delphi基础知识

项目与文件
项目与文件
单元文件 .pas 窗体文件 .dfm 单元文件 pas 窗体文件 .dfm
项目文件 .dpr
目标文件 .dcu
目标文件 .dcu
项目管理器-view/pro…
代码编辑
单元标签 断点设置区 光标位置 插入/修改模式 修改标记 代码页标签 图表页标签
代码洞察
语句模板 ctrl+j 代码完成 edit1. 参数提示 showmessage(
对象建立 属性设置 用户界面设计
组件-支持了可视化编程模式 组件-类与对象
组件板上的组件-组件类 用户界面上的组件 -组件对象
Delphi 操作界面
快捷键
保存所有文件 打开文件 建立条目 观看单元 观看窗体 窗体/单元 切换 运行程序 建立窗体 暂停运行 单步运行 (进子程序) 保存文件 往项目中添加文件 从项目中删除文件 文件 联机帮助 单步运行 (不进子程序) 打开项目
3
第2章 Delphi 基础知识
Delphi 概述 Delphi 的集成开发环境 Delphi 应用程序开发过程 项目管理 程序调试 联机帮助
Delphi是什么
Delphi是面向对象的、可视化的集成开发 环境。 它使用Object Pascal作为核心的编程语 言。 它可用来开发各种具有图形用户界面的 应用程序和系统软件,从桌面应用到多 层的web应用,从多媒体到基于数据库的 应用系统。 Delphi是一个专业级的、通用的开发工具。
单步执行
跟踪程序流程 查看变量或对象属性的值
联机帮助信息-help
联机帮助信息-help
联机帮助信息-F1
联机帮助信息-F1
Delphi中对象的定义
Delphi是基于面向对象技术的。 一个对象是由方法(methods)、属性 (properties)和事件(events)所组成。

delphi的unit基本构成

delphi的unit基本构成

delphi的unit基本构成分为单元声明区、单元属性定义区、单元属性实现区{单元声明区}unit Unit1;{-----单元属性定义区---------}interface{---------引用单元列表----------}usesForms,NN;{----------单元中的类型定义区----------}typeType1 = class(TForm) //表示type1是TForm的子类{如果Type1有自定义属性、方法要在这里声明,此时Type1=class(TForm)后不要有分号,在声明属性方法结束后用end;结束,如若没有属性需要声明,直接以;结束}Lable1 : TLable; //type1有一个属性Lable1,这个属性只有在Type1被实例化后才能调用procedure Type1Creat(Sender :Object); //type1有一个过程function LoadIte(Fname :String) : String;{Type1的私有属性定义}private{ Private declarations }public{ Public declarations }end;Type2 : Array of String;Type3 : StringLength : Integer;end;{$R *.dfm} //{如果是对应窗体的单元文件,会有这句. $R 指令用于加载一个外部资源文件, 这里是指加载同名的窗体文件一起编译.}{初始化部分}varYp1:Type1; //单元的属性,可以通过Unit1.访问function cc(); //单元的方法,直接访问procedure mm(); //单元的过程//实现区implementationuses ...; //单元统一引用的话只能跟java、net一样单向引用,但是这里可以互相引用//实现上面定义的每个方法。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Delphi程序单元Object Passal的程序结构很特殊,与其它语言如C++,Object Windows等结构都不同。

一个Delphi程序由多个称为单元的源代码模块组成。

使用单元可以把一个大型程序分成多个逻辑相关的模块,并用来创建在不同程序中使用的程序库。

8.1Program单元Program单元就是Delphi中的项目文件。

Program单元是一个特殊的单元,类似于C语言中的Main程序,即为应用程序的主程序。

一个程序可以有多个单元组成,也可以只有一个Program单元组成,例如前面我们介绍过的DOS窗口程序就只有一个Program单元组成。

下面是一个典型的Program单元:program Project1;uses Forms,Unit1 in'Unit1.pas'{Form1};{$R *.RES}beginApplication.Initialize;Application.CreateForm(TForm1, Form1);Application.Run;end(1)程序首部指定程序名、以及参数等。

(2)Uses语句定义程序用到的所有单元。

标识符为单元的名字,各单元之间用逗好(,)隔开,最后结束用分号(;)。

注意:每个程序总是自动包含System单元,Program单元的Uses部分不能显式指定。

System单元用于实现一些低级的运行时间程序的支持,如文件输入输出(I/O)、字符串操作、浮点运算、动态内存分配等。

另外,Delphi在发行时提供了许多预先定义的单元,在构造程序时可以直接使用。

例如,如果你将一个核对框放进一个窗体,你就自动地使用了StdCtrls单元,因为TCheckBox构件在StdCtrls中定义。

Uses部分列出单元的顺序决定它们初始化的顺序,并影响编译器定位标识符的顺序。

如果两个单元定义了一个相同名字的类型,编译器将总是使用前面那个单元的类型。

(3)程序块由保留字Begin和End括起来的一段代码组成,用于对程序的初始化。

8.2UNIT单元UNIT单元相当于C语言的子程序。

基本上Delphi每个窗体都一个对应的单元。

当你为应用程序创建窗体时,你就创建了一个与该窗体相联系的新单元。

然而,单元也可以独立于窗体而存在。

例如,一个单元可以只包含数学运算程序,而不需要有窗体。

一个单元可以由多个程序共享。

单元的磁盘文件名后缀为.pas。

8.2.1 单元结构不管单元是否与窗体相关,单元的基本结构都是一样的。

UNIT单元由单元首部、接口部分(interface part)、实现部分(implementation part)、可选择的初始化部分(initialization part)、结束部分(finalization part)、end.组成。

8.2.2单元首部单元的首部用保留字Unit开始,后跟单元名。

单元名必须遵循标识符的所有一般原则(不能以数字开头等)。

下面的单元名将是有效的:Unit Rsgl;8.2.3接口部分(Interface)在单元名之后是接口部分。

接口部分用于声明变量、类型、过程和函数等。

在接口部分声明的变量、类型以及过程、函数等是其它使用该单元的程序或单元等都可见的。

接口部分用保留字Interface标明开始,用implemention标明结束。

接口部分只能含有声明部分。

一个单元的接口部分还作为该单元说明文件的起点。

虽然接口部分没有告诉你子程序做什么或变量如何使用,但它正确告诉了你的变量、类型、过程、函数等的名字及其调用方法。

接口部分本身又可以由几个可选的部分组成,分别是单元的USES语句、常量声明部分、类型声明部分、变量声明部分、过程和函数声明部分。

其中常量声明、类型声明、变量声明、过程和函数声明部分用于声明其它使用该单元的单元可以访问的变量、类型、过程和函数等。

而USES语句列出该单元要用到的标准单元和其它单元,用于把外部的已定义的常量、类型、变量、过程或函数引入到本单元中使用。

USES语句紧跟在Interface之后。

8.2.4实现部分单元的第二部分,称为实现部分(Implementation),主要用于定义接口部分声明过的过程、函数等的代码。

实现部分用保留字implementation标明,总是紧随接口部分之后。

实现部分也可以用USES语句列出该单元要用到的标准单元和其它单元等。

如上面的uses MDIEdit;语句。

实际上,实现部分也可以声明变量、数据类型、过程及函数等。

但是,在实现部分定义的变量、类型、过程、函数等只能由本单元自己使用(private declarations),使用该单元的其它单元或程序不可见的。

私有定义可以隐藏单元的细节。

8.2.5USES子句USES子句用于访问其它单元。

例如,如果你要让程序来效仿一个电传打字机,可以在USES包含WinCRT,因为WinCrt含有进行这个仿效所需要的程序。

USES WinCRT;Delphi提供了许多预先定义的单元,你可以在程序中直接使用。

实际上,当你将一个新构件放入设计的窗体时,DElphi会自动将该构件的单元放入USES子句中。

例如,如果你将Color Grid放入窗体,则单元ColorGrd就附加在窗体单元的USES子句末尾,从而ColorGRd 单元中接口部分所有定义都是窗体单元可以访问的。

要使用USES子句包含单元中的程序,只要在单元名后加上程序名即可。

例如,如果要在Unit2中访问Unit1中的ComputePayMent函数。

USES子句可以放在接口部分(保留字Interface之后),也可放在实现部分(保留字Implementation之后),但是USES子句必须出现在它所有子程序、数据类型或变量被使用之前。

USES子句放在实现部分可以隐藏单元的内部细节,同时可以避免循环引用发生。

8.2.6初始化部分(Initialization)初始化部分是单元的可选部分,主要用于对单元数据的初始化,一般很少用到。

该部分总是在其它程序代码之前运行。

如果一个程序包含多个单元,则在程序的其它部分运行之前,每个单元的初始化代码都会先调用,其顺序是单元显示在Uses语句的顺序。

8.2.7完成部分(Finalization)完成部分(Finalization)是初始化过程的反过程,只要单元有初始化部分,才会有完成部分。

完成部分对应在Delphi1.0中ExitProc和AddEXitProc函数。

完成部分在程序关闭时运行。

任何在单元初始化时获得的资源如分配内存、打开文件等通常都在完成部分释放。

单元完成部分的执行顺序与初始化部分相反。

例如假如程序以A、B、C的顺序初始化单元,则完成过程的顺序是C、B、A。

一旦单元的初始化部分开始执行,就必须保证程序关闭时对应的完成部分执行。

完成部分必须能够处理不完全初始的数据,因为如果产生异常,初始化代码可能不能完全执行。

1.构造构造用建立对象,并对对象进行初始化。

通常,当调用构造时,构造类似一个函数,返回一个新分配的并初始化了的类类型实例。

构造跟一般的方法不同的是,一般的方法只能在对象实例中引用,而构造既可以由一个对象实例引用,也可以直接由类来引用。

当用类来引用类的构造时,实际上程序做了以下工作:(1)首先在堆中开辟一块区域用于存贮对象。

(2)然后对这块区域缺省初始化。

初始化,包括有序类型的字段清零,指针类型和类类型的字段设置为Nil,字符串类型的字段清为空等。

(3)执行构造中用户指定的动作。

(4)返回一个新分配的并初始化了的类类型实例。

返回值的类型必须就是类的类型。

当你用在对象实例中引用类的构造时,构造类似一个普通的过程方法。

这意味着一个新对象还没有被分配和初始化,调用构造不返回一个对象实例。

相反,构造只对一个指定的对象实例操作,只执行用户在构造语句中指定的操作。

例如,在创建一个新的对象时,尽管还没有对象实例存在,仍然可以调用类的构造,程序示例如下:typeTShape = class(TGraphicControl)privateFPen: TPen;FBrush: TBrush;procedure PenChanged(Sender: TObject);procedure BrushChanged(Sender: TObject);publicconstructor Create(Owner: TComponent);override;destructor Destroy;override; ...end;constructor TShape.Create(Owner: TComponent);begininherited Create(Owner);{ Initialize inherited parts }Width := 65;{ Change inherited properties }Height := 65;FPen := TPen.Create;{ Initialize new fields }FPen.OnChange := PenChanged;FBrush := TBrush.Create;FBrush.OnChange := BrushChanged;end;构造的第一行是Inherited Create(Owner),其中Inherited是保留字,Create是祖先类的构造名,事实上大多数构造都是这么写的。

这句话的意思是首先调用祖先类的构造来初始化祖先类的字段,接下来的代码才是初始化派生类的字段,当然也可以重新对祖先类的字段赋值。

用类来引用构造时,程序将自动做一些缺省的初始化工作,也就是说,对象在被创建时,其字段已经有了缺省的值。

所有的字段都被缺省置为0(对于有序类型)、nil(指针或类类型)、空(字符串)、或者 Unassigned (变体类型)。

除非想在创建对象时赋给这些字段其它值,否则在构造中除了Inherited Create(Owner)这句外,不需要写任何代码。

如果在用类来引用构造的过程中发生了异常,程序将自动调用析构来删除还没有完全创建好的对象实例。

效果类似在构造中嵌入了一个try協inally语句,例如:try...{ User defined actions }except{ On any exception }Destroy;{ Destroy unfinished object }raise;{ Re-raise exception }end;构造也可以声明为虚拟的,当构造由类来引用时,虚拟的构造跟静态的构造没有什么区别。

当构造由对象实例来引用时,构造就具有多态性。

可以使用不同的构造来初始化对象实例。

2.析构析构的作用跟构造正相反,它用于删除对象并指定删除对象时的动作,通常是释放对象所占用的堆和先前占用的其它资源。

相关文档
最新文档