看代码笔记
最近在看学习Delphi,看源代码,有好多不懂得东西,记录下来,以便于以后查阅。
Exit 用于从当前代码块中退出。若该代码为主程序,则终止该程序,若是函数或过程,则立即该过程或函数。
Abort:终止程序的运行,跳出所有程序,产生不报错的异常信息
Delphi代码:
FindWindow(‘窗口的类名’ , ’窗口的标题’); 该函数返回一个窗口的句柄
GetMem(string,255) 该函数实现开辟内存
FreeMem(string,255) 该函数实现释放GetMem分配的内存
New(Pointer) 该函数为一个指针变量分配内存
Dispose() 释放new分配的内存
GetComputerName(Pchar,Pointer) 该API函数用于获取计算机名字
GetHostByName(Pchar(域名)) 该API函数用于用域名获取计算机IP地址
ClientDataSet.Open 打开数据集和clientDataSet.Active := True 相同
ClientDataSet.CreateDataSet 创建数据集
ClientDataSet.Append 向数据集中追加数据,
ClientDataSet.Post 把修改的数据更新到数据集中(更新到内存中)
Application.Terminate 整个程序的退出,既释放程序所有资源
*.CDS格式的文件用xmlMapping Tool 打开。 Delphi Tool→XML Mapper.
ClientDataSet的State :1、dsInactive 数据集已关闭。2、dsBrowse数据集已打开,可浏览不能修改。3、dsEdit数据集处于编辑状态可修改数据集。4、dsInsert 可插入状态,可以插入一条新的记录。
Action := caFree 释放窗体的内存空间
ClientDataSet.First 过程,将光标定位在第一个记录上
ClientDataSet.Eof 遍历Dataset 或者文件时判断是否读取完了
Self至当前窗体类(类似于C#中的this)
Self.modalresult := mrok 设置模式窗体的返回值,当点击按钮关闭窗体后返回一个mrok的返回值。
TiniFile类 操作*.ini文件
ReadString函数 读取ini文件中的内容,参数1、是 ini节点,如[CheckConfig]中的CheckConfig参数。2、节点下面的键,如AppServerName=127.0.0.1中的AppServer。参数3、是默认值,如果没有读到AppServerName则返回第三个参数。
Dword 无符号整数
GetCurrentDirectory 方法 获取应用程序的当前工作目录 参数1:缓冲区的长度,参数2:装载当前目录的字符串,返回值:装载的字节数
StrPas() 转换Pchar为String
ClientDataSet .Request(sqlStr) 客户端请求数据
ClientDataSet.Data 控件的数据
Var=数据集.ClientfileByName(’查找到的字段名’).AsString 把数据集中的字段付给变量
DateTimeToSystemTime(DateTime ,systemtime); //把Delphi的TDateTime格式转化为API的TSystemTime格式
Setlocaltime(systemtime)设置系统时间
控件界面 Ctrl+shift+F 查找控件
OnActiveControlChange事件
当屏幕的焦点从一个控件转换到另一个控件时发生OnActiveControlChange事件
可以直接把一个事件赋值给它
TApplication.OnIdle事件 应用程序在空闲状态时触发的一个事件
Continue 开始下一次循环
Screen.ActiveControl 获得当前活动控件
Screem.ActiveForm 获得当前活动窗体
is判断某对象是否是某类型
as把某个类型对象转换成所需要的类型。
ClientDataSet.FindKey[string] 在CDS中查找(string)记录。
Delphi中的按键
Key := VK_Return Enter键按下时。
VK_CANCEL Ctrl+Break
VK_TAB Tab
VK_RETURN Enter
VK_SHIFT Shift
VK_CONTROL Ctrl
VK_MENU Alt
SelectNext(Control,true,false) 把焦点移到下一控件
SelectNext(Control,false,false) 把焦点移到上一控件
FormKeyDown 键盘按键按下时触发
ClientDataSet.Filter 过滤 如:ClientDataSet.Filter := ’字段名=’’记录内容’’’
Copy(p1,p2,p3)函数 拷贝p1中的数据,从p2位置开始,拷贝2位,例子:str := “123456”;str1 := Copy(Str,2,3);结果就是 str1 等于 234。注:当你的第3个参数大于字符长度,那么效果就是取开始位置后的所有字符。
Form.OnActivate事件 在form.OnShow事件之后触发
Self 指所编的程序范围是在哪一个类中,Delphi中大都在窗体范围内编程,因此,self即指窗体,如果在编写一个类或是一个组件,则self指该类或组件。
Screen.Cursor :=crHourGlass 等待状态
CrDefault 默认状态
ClientDataSet.RecordCount: CDS的记录行数
SetLength(str,7)str变成一个动态数组,可以转变成指针
Inc() 将例程中的参数值增加1或一个特定的值,相当于C#中的 ++i
Pos(p1,p2):integer; 把字符串分割成几段 integer返回分割的段数 ,p1 分隔符,p2要分割的字符串
array of string 定长数据,数组声明时就设置长度。
Currency 货币类型数据: 范围(-922337203685477.5808.. 922337203685477.5807) 有效位数(19-20) 字节大小(8):
Trim(str)去掉str前面和后面的空格
OnKeyDown 键盘按下事件
OnKey Press 键盘起来事件
键盘键
VK_F3 按下的键盘键为F3
Shift >= [ssCtrl] 按下的键盘键为Ctrl
Ord(key)=13 键盘按下回车键
Application.Handle改的是任务栏上的文字
Application.MainForm.Handle改的是我创建的第一个窗体(主窗体)的Caption
记录类型: 相似于C#中的结构类型
记录类型用于定义不同类型数据项的固定集合。记录中每个元素,或者说域,有它自己的类型
type Date = record Year: Integer; Month: Byte; Day: Byte; end; var
BirthDay: Date; begin BirthDay.Year := 1997; BirthDay.Month := 2;
BirthDay.Day := 14;
Format 格式化字符串
%s 表示字符串输出
Strpcopy(array ,str) 函数 将字符串复制到字符数组中
Application.ExeName 获得当前执行程序的名字
ExtractFilePath (Application.ExeName) 获得当前执行程序的路径