Delphi 组件使用及其代码1.数组定义(1)一维数组数组名:array[n1 . . n2] of 数据类型;(2)二维数组数组名:array[n1 . . n2,m1 . . m2] of 数据类型;或者数组名:array[n1 . . n2] of array[m1 . . m2] of 数据类型;(3)动态数组数组名:array of 数据类型;使用前要用SetLength(数组名,数组长度);来动态申请空间。
2.使用math数学函数:需要在uses引用里面添加math;其中power(a,b)函数是求a的b次幂。
RandomRange(a,b)函数是随机产生一个a、b之间的数。
3.声明全局变量需要在implementation之后声明;初始化格式需要在最后一个end之后:语句:initialization赋值语句;4.常量在var后使用const关键字声明常量:如const PI = 3.14;5.枚举类型使用声明:type 枚举类型名=(枚举值1,枚举值2,……);定义:var 变量名:枚举类型名;6.指针类型(1)@运算符:放在变量的前面,获得变量的地址;^ 运算符:放在指针变量的后面,取得该指针变量中所存放地址变量的数据;(2)声明:type 指针类型名= ^数据类型;var 指针变量名:指针类型名;或者var 指针变量名:^数据类型;7.日期时间函数function Now:TDateTime;//返回系统当前日期和时间function Date:TDateTime;//返回系统当前日期function Time:TDateTime;//返回系统当前时间function DateTimeToStr(DateTime:TDateTime):string;//将日期时间数据转换为字符串function StrToDateTime(const s:string):TDateTime;//将字符串转换为日期时间数据function DateToStr(DateTime:TDateTime):string;//将日期数据转换为字符串function TimeToStr(DateTime:TDateTime):string;//将时间数据转换为字符串function FormatDateTime(const Format:string;DateTime:TDateTime):string;//按指定格式输出日期时间例如:formatDatetime(‘yyyy-mm-dd’,now);formatDatetime(‘hh:mm:ss’,now);8.自定义过程(1)在type下声明:procedure <过程名>(<参数列表>);(2)将光标移动定位在过程声明中,按Ctrl+Shift+C,实现自动生成部分过程框架。
procedu re <过程名>(<参数列表>)<局部变量声明>;begin<过程体语句>;end;(3)自定义过程的调用:过程名(<实参表>);9.自定义函数(1)函数不用声明;(2)function<函数名> [(<参数列表>)]:<返回类型>;<局部变量声明>;begin<函数语句>;end;(3)自定义函数的调用:函数名(实参表);10.对话框函数MessageDlg(1)<变量>:=MessageDlg(‘信息内容’,类型,[按钮组],HelpCex);(2)类型:mtWarning 含有感叹号符号的警告对话框mtError 含有红色差号符号的错误对话框mtInformation 含有蓝色i符号的信息对话框mtConfirmation 含有蓝色?符号的确认对话框mtCustom 不含图标的一般对话框,对话框的标题是程序的名称按钮组:mbYes Yes按钮,函数返回mrYes或6mbNo No按钮,函数返回mrNo或7mbOk Ok按钮,函数返回mrOk或1mbCancel Cancel按钮,函数返回mrCancel或2mbHelp Help按钮mbAbort Abort按钮,函数返回mrAbort或3mbRetry Retry按钮,函数返回mrRetry或4mbIgnore Ignore按钮,函数返回mrIgnore或5mbAll All按钮,函数返回mrAll或8mbNoToAll NoToAll按钮,函数返回mrNoToAll或9mbYesToAll YesToAll按钮,函数返回mrYesToAll或10HelpCtx指定当用户单击“Help”按钮或<F1>键时,现实的帮助主题。
例如:if MessageDlg('您确定要关闭窗口吗?',mtConfirmation,[mbYes,mbNo],0)=mryes then 11..基本知识点(1)if (key in ['0','1'..'9',#13,#8]) then //判断按下的是否为数字键、回车键和退格键#0表示没有任何内容#32表示空格(2)Delphi中Randomize方法用来随机初始化数据。
(3)Label的Transparent属性用来设置Label的显示方式是否透明显示。
(4)StringGrid属性Cells【A,B】,其中A控制列,B控制行。
(5)MessageBox显示消息:MessageBox(句柄,消息,消息框名,类型) 例如:MessageBox(0,PChar(‘你好’+edit1.text),‘欢迎你’,MB_OK)MessageBox(0,PChar(‘你好’+edit1.text),‘提示’,MB_ICONASTERISKand MB_ICONINFORMA TION)//提示框MessageBox(0,PChar(‘密码不能为空!’),‘警告’,MB_ICONEXCLAMA TION)//警告框12.制作闪现窗体在Project->option中将闪现窗体设置为Available forms,之后显示的主窗体设置为Auto-create forms,并在主窗体的form的create事件中加入以下代码:(1)先声明一个闪现窗体的变量:如About:=TForm2;主窗体代码:About:=TForm2.Create(Application);//生成闪现窗体About.show; //显示闪现窗体(2)闪现窗体加入一个Timer事件,并在Timer的Timer事件中加入下面代码:close; //关闭窗体Release; //释放变量注意:可用Timer的Interval控制闪现窗体出现的事件,以毫秒为单位。
13.SavaDialog组件(1)过滤文件:Filter(2)保存文件默认后缀名DefaultExt属性填写后缀名,注意不要加‘.’;(3)保存代码:if savedialog1.Execute thenbeginmemo1.Lines.SaveToFile(form1.SaveDialog1.FileName);application.MessageBox('文件保存成功!','提示!',64);end;14.复制、移动文件(1)复制文件CopyFile('d:\db\123.txt','f:\db\123.txt',False);WinExec('cmd /c copy d:\db\123.txt f:\db\123.txt',0);使用以上函数目标目录必须存在!CopyFile(源文件路径,目标文件路径,False(存在覆盖)True(存在不覆盖));(2)移动正在使用的文件MoveFileEx(所要移动的文件路径(及文件名),目标文件的路径(和文件名),移动标记);移动标记取值:MOVEFILE_REPLACE_EXISTING=$00000001;//覆盖已经存在的文件,来源文件和目标不能在同一目录MOVEFILE_COPY_ALLOWED=$00000002;//如果目标文件被移动到不同的卷上,则函数通过拷贝后删除来源文件的方法来模拟移动文件MOVEFILE_DELAY_UNTIL_REBOOT=$00000004;//在系统重新启动后再执行移动操作,这个参数只能被拥有管理员权限或localsystem权限的程序使用,不能和MOVEFILE_COPY_ALLOWED一起使用。
MOVEFILE_WRITE_THROUGH=$00000008;//这个标记允许函数在执行完文件移动后才返回,否则不等文件移动完毕后就直接返回。
如果设置了MOVEFILE_DELAY_UNTIL_REBOOT标记,则MOVEFILE_WRITE_THROUGH标记将被忽略。
MOVEFILE_CREATE_HARDLINK=$00000010;//系统保留,以供将来使用。
MOVEFILE_FAIL_IF_NOT_TRACKABLE=$00000020;//如果来源文件为1个link文件,但是文件在移动后不能够被tracked,则函数执行失败。
如果目标文件在一个fat格式的文件系统上,则上述情况可以发生。
该参数不支持NT系统。
15.在系统菜单中添加菜单项i:=GetSystemMenu(Handle,False); //获取窗体的句柄AppendMenu(i,MF_SEPARATOR,0,nil);//添加分割线AppendMenu(i,MF_STRING,100,'我的菜单(&E)');//添加菜单项16.创建和删除文件夹DirectoryExists(路径) ;//判断文件夹是否存在ForceDirectories(路径); //创建文件夹mkdir(路径);//创建一个指定的目录RmDir(路径); //删除文件夹17.建立临时文件function GetTempFileName(建立临时文件路径,临时文件的前缀(识别前3位),用于建立临时文件的号码,返回建立的临时文件名称)例如:GetTempFileName(PChar(dir),'TEST',0,Temp);//生成临时文件名18.把文件删除到回收站(注意:需要引用shellAPI单元)首先:varSHFile:SHFILEOPSTRUCT;with SHFile dobeginWnd:=0; //拥有者窗口句柄wFunc:=FO_DELETE;//文件操作功能,可选项FO_COPY、FO_DELETE、FO_MOVE、FO_RENAMEpFrom:=PChar(DFile); //源文件//pto 目标文件fFlags:=FOF_ALLOWUNDO; //文件控制标志//fAnyOperationsAborted 用户是否中断操作//hNameMapping 指向一个SHNAMEMAPPING结构的指针lpszProgressTitle:='将文件删除到回收站'; //进程标题end;SHFileOperation(SHFile);//删除文件,需要引用shellAPI单元19.引用动态链接库(DLL文件使用)(1)静态引用动态链接库在implementation后function 名称():Integer;stdcall;external 'XX.dll';(2)动态引用动态链接库1)LoadLibrary函数用于载入指定的动态链接库,并将它映射到当期进程使用的地址空间。