Dlphi资料小汇总

学Delphi大概一周时间,我经历从当初的初生牛犊不怕虎,到现在感慨Delphi的强大和复杂。说实话,我以前觉得Delphi是一门过气的语言,现在我重新修正自己的观点,没有弱势的语言,只有菜鸟的程序员。

Delphi的整个架构让我叹为观止,我这么短的学习周期,只能学到一点基础的皮毛。由于完全自学,我花费很多精力在资料的收集上(很痛苦没有找到一本合适的书),现在我把我这段时间的资料收集整理,分享我的所得(这篇文章经历1个星期,发布时候遇到服务器卡住,丢失了一次,幸好我灵机一动,用FireFox脱机找回了缓存页面,还是得信春哥啊)。

资料繁杂,很多都是来自信息采集站点,我无法一一署名,在这里对这些资料的原作者表示谢意。

  1. Delphi7的文件类型
  2. Delphi的关键字
  3. 类型之间转换函数
  4. 组件的常用属性
  5. 组件的常用事件
  6. 常用类型和函数的uses单元
  7. Delphi常用的ADO组件
  8. ADO组件常用属性
  9. ADO数据集类组件的共同方法

Delphi7的文件类型

文件扩展名 文件类型说明 产生时间
BMP、ICO、CUR 位图、图标及光标图像文件 程序设计时
BGP 项目组文件,由多目标项目管理器产生 程序设计时
BPL BORLAND PACKAGE LIBRARY(组件库文件) 编译连接后
CBA 压缩格式文件,做WEB发布时使用 设计时
CFG 项目配置文件。项目配置文件保存着项目的配置信息 设计时
DCP DELPHI COMPONENT PACKAGE(Delphi组件包) 编译时
DCU DELPHI COMPILED UNIT,编译原始文件后的中间产物 编译时
DFM DELPHI FORM FILE(窗体文件) 程序设计时
~DFM DFM的备份文件 程序设计时
DLL DYNAMIC LINK LIBRARY(动态链接库文件) 编译连接时
DOF DELPHI OPTION FILE,设计多语言项目时使用的语言翻译配置文件,多语言项目中每个窗体的每一种语言都有一个DNF文件 程序设计时
DPK DELPHI PACKAGE,软件包项目的源代码文件 程序设计时
DPR 项目文件 程序设计时
~DPR DPR的备份文件 程序设计时
DSK DESKTOP FILE,保存现在DELPHI视窗的位置、正在编辑的文件以及其它桌面的设定文件 程序设计时
LIC OCX文件相关的授权文件 编译连接时
OCX OLE控件文件,是一特殊的DLL文件可包含ACTIVEX控件或窗体 编译连接时
PAS DELPHI源代码文件 程序设计时
~PAS PAS的备份文件 程序设计时
RES、RC 项目的资源文件,包含项目的图标、光标及字体等信息 程序设计时
EXE 可执行文件 编译连接时
TLB 类型库文件 程序设计时

Delphi的关键字

and array As asm begin
Case Class Const constructor destructor
Dispinterface Div Do downto Else
End except exports File Finalization
Finally for function Goto If
Implementation In inherited initialization inline
Interface is label library Mod
Nil not object Of or
out packed procedure program property
raise record repeat resourcestring set
Shl shr string then threadvar
To try type unit until
uses var while With xor

类型之间转换函数

函数 功能
Chr 将一个有序数据转换为一个ANSI字符
Ord 将一个有序类型值转换为它的序号
Round 转换一个实型值为四舍五入后的整型值
Trunc 转换一个实型值为小数截断后的整型值
Int 返回浮点数的整数部分
IntToStr 将数值转换为字符串
IntToHex 将数值转换为十六进制数字符串
StrToInt 将字符串转换为一个整型数,如字符串不是一个合法的整型将引发异常
StrToIntDef 将字符串转换为一个整数,如字符串不合法返回一个缺省值
Val 将字符串转换为一个数字(传统Turbo Pascal例程用于向后兼容)
Str 将数字转换为格式化字符串(传统Turbo Pascal例程用于向后兼容)
StrPas 将零终止字符串转换为Pascal类型字符串,在32位Delphi中这种类型转换是自动进行的
StrPCopy 拷贝一个Pascal类型字符串到一个零终止字符串, 在32位Delphi中这种类型转换是自动进行的
StrPLCopy 拷贝Pascal类型字符串的一部分到一个零终止字符串
FloatToDecimal 将一个浮点数转换为包含指数、数字及符号的十进制浮点记录类型
FloatToStr 将浮点值转换为缺省格式的字符串
FloatToStrF 将浮点值转换为特定格式的字符串
FloatToText 使用特定格式,将一个浮点值拷贝到一个字符串缓冲区
FloatToTextFmt 同上面例程,使用特定格式,将一个浮点值拷贝到一个字符串缓冲区
StrToFloat 将一个Pascal字符串转换为浮点数
TextToFloat 将一个零终止字符串转换为浮点数

组件的常用属性

属性 说明
Height 高度
Width 宽度
Left 组件在容器内的水平坐标,相对于容器左边。
Top 组件在容器内的垂直坐标,相对于容器上边。
Align 组件上的对齐方式(居上、居下、居左、居右、居中)
Visible 设置组件是否可见,默认值为可见(值为true)
Caption 显示类组件的标题
Color 组件的背景颜色
Font 设置组件显示文本的字体
Ctl3D 是否以3D方式显示组件,默认值为true
ShowHint 是否显示组件的提示信息,默认值为true,与Hint连用
Hint 当鼠标指针移到组件上时,组件显示的提示信息
Enabled 是否允许用户操作组件,true表示允许,false表示不允许
Name 用于标识组件的名称,在程序中通过Name可以调用该组件
TabOrder Tab次序

组件的常用事件

事件 说明
OnClick 触发条件
OnDblClick 当鼠标双击时触发本事件
OnMouseDown 当鼠标左键按下时触发本事件
OnMouseMove 当鼠标移动时触发本事件
OnKeyDown 当按下任意键(包括组合键)时触发本事件
OnKeyPress 当按下任意键(单字符键)时触发本事件
OnKeyUp 当松开已按下键时触发本事件
OnEnter 当获得焦点时触发本事件
OnExit 当失去焦点时触发本事件
OnStartDrag 当开始拖动时触发本事件
OnDragDrop 当组件拖动操作结束时触发本事件

常用类型和函数的uses单元

Type Unit
_Stream ADODB_TLB
akTop, akLeft, akRight, akBottom Controls
Application (the variable not a type) Forms
Beep SysUtils or Windows (different functions)
CGID_EXPLORER ShlObj
CN_BASE Controls
CoInitialize ActiveX
CopyFile Windows
CoUnInitialize ActiveX
CreateComObject ComObj
CreateOleObject ComObj
Date SysUtils
DeleteFile SysUtils or Windows (different versions)
DispatchInvokeError ComObj
DWORD Windows
EDatabaseError DB
EncodeDateTime DateUtils
EnumWindows Windows
EOleError ComObj
EOleException ComObj
EOleSysError ComObj
Exception SysUtils
ExtractFileName SysUtils
FileExists SysUtils
FileOpen SysUtils
FILETIME Windows
FindFirst SysUtils
FindFirstFile Windows
FindWindow Windows
FlushFileBuffers Windows
fmOpenRead SysUtils
fmShareDenyWrite SysUtils
Format SysUtils
FormatDateTime SysUtils
FreeAndNil SysUtils
fsBold Graphics
ftWideString DB
ftString DB
GetCurrentProcessId Windows
GetEnvironmentVariable SysUtils or Windows (different versions)
GetFileAttributes Windows
GetFileVersionInfoSize Windows
GetWindowLong Windows
GetStdHandle Windows
HDC Windows
HFont Windows
HINTERNET WinInet
HKEY_CURRENT_USER Windows
IHTMLDocument2 MSHTML or MSHTML_TLB
IHTMLElement MSHTML or MSHTML_TLB
IHTMLEventObj MSHTML or MSHTML_TLB
IID_IWebBrowser2 SHDocVw or SHDocVw_TLB
IMessage CDO_TLB
InternetClosehandle WinInet
InternetOpenUrl WinInet
InternetReadFile WinInet
IntToHex SysUtils
IntToStr SysUtils
IOleCommandTarget ActiveX
IOleContainer ActiveX
IPersistStreamInit ActiveX
IsSameDay DateUtils
IStream ActiveX
IWebBrowser2 SHDocVw or SHDocVw_TLB
LockWindowUpdate Windows
Log10 Math
LowerCase SysUtils
LPSTR Windows
MAX_PATH Windows
MessageBox Windows
MessageDlg Dialogs
MB_YESNO, MB_OK etc Windows
MinutesBetween DateUtils
Now SysUtils
OleInitialize ActiveX
OleUninitialize ActiveX
PItemIDList ShlObj
POleCmd ActiveX
POleCmdText ActiveX
PostMessage Windows
PosX StrUtils
QueryHighPerformanceCounter Windows
QueryPerformanceCounter Windows
ReverseString StrUtils
RoundTo Math
SendMessage Windows
SetForegroundWindow Windows
ShellExecute ShellAPI
ShellExecuteEx ShellAPI
SHGetFileInfo ShellAPI
SHFILEINFO ShellAPI
ShowMessage Dialogs
Sleep SysUtils
StrAlloc SysUtils
StrPas SysUtils
StrToDate SysUtils
StrToInt SysUtils
StrToIntDef SysUtils
TAdoConnection ADODB
TAdoQuery ADODB
TAlign Controls
TAlignment Classes
TAnchors Controls
TBitmap Graphics
TBlobStream DBTables
TCanvas Graphics
TClientSocket ScktComp
TComboBox StdCtrls
TComponent Classes
TControl Controls or QControls
TCriticalSection SyncObjs
TField DB
TFieldType DB
TFileName SysUtils
TFileStream Classes
TForm Forms
TFrame Forms
TGroupBox StdCtrls
TIID ActiveX
TIniFile IniFiles
TJPEGImage Jpeg
TLabel StdCtrls
TList Classes
TMemo StdCtrls
TMemoryStream Classes
TMouseButton Controls
TNofityEvent Classes
TObjectList Contnrs
TOSVersionInfo Windows
TPanel ExtCtrls
TPoint Types
TProcessEntry32 TlHelp32
TProgressBar ComCtrls or QComCtrls
TRadioButton StdCtrls
TRadioGroup ExtCtrls
TRect Types
TRegistry Registry
Trim SysUtils
TRoundToRange Math
TSearchRec SysUtils
TSize Windows
TSocketAddrIn Winsock
TStaticText StdCtrls
TStream Classes
TStringList Classes
TStrings Classes
TStringStream Classes
TSystemTime Windows
TTable DBTables
TTabSheet ComCtrls
TThread Classes
TTreeNode ComCtrls
TWebBrowser SHDocVw or SHDocVw_TLB
TWinSocketStream ScktComp
TWMCommand Messages
Unassigned Variants
VarArrayCreate Variants
VarArrayOf Variants
VirtualProtect Windows
WM_USER Messages
YearOf DateUtils

Delphi常用的ADO组件

ADO组件 作用
TADOConnection 该组件用于建立数据库的连接。
TADODataSet 这是ADO提取及操作数据库数据的主要数据集,该组件可以从一个或多个基表中提取数据。
TADOTable 主要用于操作和提取单个基表的数据。
TADOQuery 该组件是通过SQL语句实现对数据库数据的提取及操作。
TADOStoredProc 该数据集是专门用于运行数据库中的存储过程的。
TADOCommand 该组件用于运行一些SQL命令。
RDSConnection 一个进程或一台计算机传递到另一个进程或计算机的数据集合,用于远程数据访问。

ADO组件常用属性

属 性 说明
Active Active属性指定数据集是否处于打开状态。设置Active属性为True,则数据集被打开;设置Active属性为False,则数据集被关闭。
State State属性表明了当前数据集的状态
CacheSize 指定数据集的缓冲区大小。
CommandTimeout CommandTimeout属性是一个整型数,指定执行一个命令的最大允许时间,默认值是30秒。
Connection 指定所使用的数据源连接组件的名称,即TADOConnection 组件的名称。
ConnectionString 即连接字符串,用于指定数据库的连接信息。
CursorLocation 指定数据库记录指针是采用客户端模式还是服务器端模式。
CursorType 指定在数据集中使用的记录指针类型。
AutoCalcFields 设为 True 则允许应用程序触发OnCalcFields事件。
BOF 为True时,表示当前指针指向第一条记录,否则为False。
EOF 为True时,表示当前指针指向最后一条记录,否则为False。
Bookmark 在数据集中设定标记,用于在一个数据集中获得或者设置当前记录。
Filter 设置过滤条件。
Filtered 相当于过滤的开关,当Filtered属性的值为True时,数据集从数据库中获取符合条件的记录;当Filtered属性的值为False时不执行过滤。
FilterOptions 确定过滤方式。
FieldCount 返回该数据集的字段数。
FieldDefList 返回数据集字段定义列表。
FieldDefs 表明数据集中字段的定义信息。如字段的数据类型、数据长度、名称等。
FieldList 数据集中字段组件的连续列表。
Fields 数据集中字段的集合,用于访问数据集中的字段。
FieldValues 可访问当前记录所有字段值列表。
Found 表示FindFirst、FindNext、FindLast或者FindPrior是否成功。
IndexName 指定当前使用的索引。
LockType 指定了数据集打开数据库时,对数据表中的记录的锁定类型。
MaxRecords 指定记录集中一次允许从数据库中返回的最大记录数。 默认值为0,表示不限制返回行数。
Modified 表示数据集是否被更改了。布尔型。
Name 数据集组件名称
RecNo 数据集的记录号。
RecordCount 与数据集相关的记录总数。
RecordSize 表示数据集中记录缓冲区的大小。

ADO数据集类组件的共同方法

方法 说明
ActiveBuffer 返回一个PChar,包含激活记录的数据
Append 添加一个新的记录到数据集中
AppendRecord 添加一个新的记录到数据集中。以数组参数传递来的值填充字段
BookmarkValid 该方法传递一个Bookmark参数,如果此Bookmark在数据集中有效则返回True
Cancel 取消对数据集的修改,并设置数据集的状态为dsBrowse
CancelBatch 在批更新模式下,撤销一批正等待处理的更新
CancelUpdates 撤消一个准备执行的更新操作。用于一般更新模式,在Post执行之前调用
Clone 克隆另外一个数据集到当前调用组件
CheckBrowseMode 当前记录更改时,自动提交或取消数据更改。
ClearFields 清除激活记录的所有字段值
Close 关闭数据集
CompareBookmarks 比较两个书签,如果这两个书签引用同样的记录则返回0,如果第一个书签指定所引用的记录在数据集中的位置比第二个书签在数据集中的位置靠前则返回一个小于0的值,否则返回一个大于0的值
ControlsDisabled Boolean特性,表示相应的控件是否失效
方法 说明
Create 构造函数
CreateBlobStream 从一个Field参数创建一个BlobStream
CursorPosChanged 使内部光标定位无效
Delete 删除当前的记录
DeleteRecords 删除记录集中的一行或多行记录。
Destroy 析构函数
DisableControls 在更新过程中使相应的控件无效
Edit 将记录的状态设置为dsEdit;记录在编辑模式下
EnableControls 使相应的控件有效
FieldByName 返回动态的TField,通过字段名搜索
FindField 如果找到指定的字段名则返回一个TField;否则返回nil
FindFirst 返回一个Boolean值,表示查找的成功或者失败;将光标定位在数据集中的第一个记录上
FindLast 返回一个Boolean值,表示查找的成功或者失败;将光标定位在数据集中的最后一个记录上
FindNext 返回一个Boolean值,表示查找的成功或者失败;将光标定位在数据集中当前记录的下一个记录上
方法 说明
FindPrior 返回一个Boolean值,表示查找的成功或者失败;将光标定位在数据集中当前记录的前一个记录上
First 将光标定位在第一条记录上
FreeBookmark 该方法传递一个用GetBookmark方法返回的书签,释放这个书签
GetBlobFieldData 返回BLOB字段值,根据FieldNo将值返回到一个字节数组:TBlobFieldData
GetBookmark 返回代表当前记录的书签
GetCurrentRecord 返回一个Boolean值,表示Buffer参数是否被当前记录缓冲区的值所填充
GetDetailDataSets 用每一个嵌套的数据集填充TList参数
GetDetailLinkFields 用字段组件(此组件构成了一个主细节关系)填充两个TList参数
GetFieldData 如果成功的话以字段数据填充一个缓冲区
GetFieldList 将所有由FieldNames参数指定的字段组件拷贝到TList参数中
GetFieldNames 返回数据集中所有字段名的一个列表,保存在TStrings参数中
GetIndexNames 获取当前数据集的索引名称的列表。
GotoBookmark 将光标定位到由Bookmark参数指定的记录中
Insert 将数据集设置为插入模式(State = dsInsert)
InsertRecord 插入一个记录,字段值由传递过来的变体数的常量数组填充
方法 说明
IsEmpty 一个Boolean值,表示数据集是否为空
IsLinkedTo 如果数据集已经连接到参数TDataSource,则返回True
IsSequenced 如果数据库表格由数据集表示则返回True,表示记录号码是否代表记录的顺序
Last 将光标定位到数据集中的最后一个记录
LoadFromFile 从一个文件中读以数据到ADO数据集中。
Locate 定位一条记录并把这条记录作为当前记录。如果找到记录则返回True
Lookup 由找到的记录中返回指定字段的值
MoveBy 将光标定位到由当前记录加上偏移量所代表的记录上
Next 将光标定位到下一个记录
Open 打开数据集
Post 将记录中的修改发送到数据库
Prior 将光标定位到前一个记录
Refresh 重新从数据库读取数据
Requery 刷新记录集,可以保持数据集的数据和数据库一致
Resync 从数据库中重新获取前一个、当前的和下一个记录

版权所有 © 2010 转载本站文章请注明: 转载自Log4D
原文链接: http://dddspace.com/2009/12/dlphi-a-small-summary-of-knowledge.html
您可以随意地转载本站的文章,但是必须在醒目位置注明来源及本站链接,不可以将本站文章商业化使用,或者修改、转换或者以本作品为基础进行创作。
3a1ff193cee606bd1e2ea554a16353ee

分享家:Addthis中国
你也许会喜欢下面的文章

5 条留言

  1. 被发表在 2009年12月6日 at 16:43 | 固定链接

    今天到博主这来逛一逛,呵呵

    [回复]

  2. 被发表在 2009年12月6日 at 22:39 | 固定链接

    飘过………
    关于Dlphi的文章好多……

    [回复]

  3. 被发表在 2009年12月6日 at 23:23 | 固定链接

    @derek
    因为最近学习Delphi啊,学了东西就要做总结么,呵呵

    [回复]

  4. 被发表在 2009年12月14日 at 13:58 | 固定链接

    一直没系统的学过Delphi。。。哎,连它最出名的数据库部分都没学·~
    以前只会乱写一通~

    [回复]

  5. 被发表在 2009年12月14日 at 23:41 | 固定链接

    @fatkun
    我也刚学
    Delphi作为RAD工具还是很高效的
    我也没用过BDE什么的…

    [回复]

留下一条评论

你的邮箱不会被公开 . *标注为必填

*
*