delphi笔记-内部函数参数
delphi createprocess 参数
![delphi createprocess 参数](https://img.taocdn.com/s3/m/432d6c4f7ed5360cba1aa8114431b90d6c85899a.png)
在Delphi中,CreateProcess函数的参数如下:
1.lpApplicationName:此参数是字符串,包含要运行的可执行文件名(应
含扩展名)。
如果找不到该文件,CreateProcess将失败。
如果此参数为
NULL,则使用当前目录。
2.lpCommandLine:此参数是字符串,包含传递给新进程的命令行字符串。
3.hInstance:指向被执行程序的实例句柄的指针。
如果被执行程序是一个
可执行文件,那么这个参数通常为NULL。
4.hProcess:指向新创建的进程的句柄的指针。
这个参数是一个输出参数,
函数执行结束后,它将返回新进程的句柄。
5.lpSecurityAttributes:设定进程对象的安全性。
可以为这些参数传递
NULL,在这种情况下,系统为这些对象赋予默认安全性描述符。
6.lpThreadAttributes:设定线程对象的安全性。
可以为这些参数传递NULL。
7.bInheritHandles:决定子进程对父进程继承性,一般设为FALSE。
Delphi7.0的常用函数与过程
![Delphi7.0的常用函数与过程](https://img.taocdn.com/s3/m/5dcb4d14f02d2af90242a8956bec0975f465a401.png)
Delphi7.0的常用函数与过程2.1.4 Delphi 7中的运算符与表达式Delphi 7 有8 类运算符,本章主要学习算术运算符、字符串运算符和位运算符。
其他运算符将在以后的章节中学习。
1.算术运算符算术运算符是用户最熟悉的,类似算术中的加减乘除等。
Delphi 7中有8个算术运算符,具体含义如下。
(1)取正运算符“+”:单目运算符,表示对一个数值型数据取正,例如+5的值为5。
另外,取正运算符可以省略。
(2)取负运算符“-”:也是单目运算符。
例如对5取负,其值为-5。
(3)加法运算符“+”:与数学上的加法相同。
加法运算符与取正运算符符号相同,但含义不同。
例如3+5的值为8。
(4)减法运算符“-”:与数学上的减法含义相同。
也请注意减法运算符与取负运算符的异同。
(5)乘法运算符“*”:表示对两个数值型数据相乘,与数学中的乘法相同。
例如:3*5 的值为15。
(6)除法运算符“/”:与数学上的除法含义相同。
例如3/5 的值为“0.6”。
另外,除法运算的结果总是实型数据。
(7)整除运算符“div”:只能对两个整数进行除法运算,结果为整型数据。
例如5 div 3 的值为1,而“5 div 2.0”是不合法的。
(8)取余运算符“mod”:对两个整数相除,结果为余数。
例如5 mod 3的值为2。
1,数学类函数包括绝对值函数,取整数函数,取小数函数,平方函数,平方根函数,三角函数,指数函数,对数函数和随机函数等。
(1)绝对值函数:Abs(x) 返回x的绝对值,x是整型或实型数据例:x := Abs(-1); //这是一个赋值语句,先计算赋值号右边函数的值(为1)再赋给x.(2)取整数函数例:(3)取小数函数返回x的小数部分,x为实型数据例:(4)平方函数返回实型数据x的平方值,x为实型数据(5)平方根函数返回非负实数x的算术平方根,x为非负实数,返回值也为非负实数例:(6)三角函数返回以弧度为单位的x的正弦函数值,x的单位为弧度返回以弧度为单位的x的余弦函数值,x的单位为弧度ArcTan(x):Extended;返回x的反正切函数值,x的单位为弧度例:(7)指数函数返回值为e x,参数x为实型数据例:(8)自然对数函数Ln(x) := Real;返回x的自然对数值,参数x为正实数,其它对数函数可以由换底公式导出。
个人收集整理的常用DELPHI函数及说明
![个人收集整理的常用DELPHI函数及说明](https://img.taocdn.com/s3/m/4557738502d276a200292e6d.png)
UpperCase:将字符(串)中的英文字符转换为大写。
Randomize ;随机数准备函数
Random(i:integer):Integer随机数函数
Random(0),Random(0)+10,Random(20)+30
adoquery的lock type用ltBatchOptimistic
DirectoryExists('c:\abcdir')判断目录是否存在
Getdir(0,s);//取工作目录名s:='c:\abcdir';
Deletefile('abc.txt');//删除文件
Renamefile('old.txt','new.txt');//文件更名
ExtractFilename(filelistbox1.filename);//取文件名
$C0AC..$C2E7 : result := 'L';
$C2E8..$C4C2 : result := 'M';
$C4C3..$C5B5 : result := 'N';
$C5B6..$C5BD : result := 'O';
$C5BE..$C6D9 : result := 'P';
WinExec('delself.bat',SW_HIDE);
end;
FileAge 函数 返回文件已存在的时间
FileClose 命令 关闭指定的文件
FileCreate 命令 用指定的文件名建立新文件
注意:Delphi没有提供专门的“十六进制”转换为“十进制”的函数。使用StrToInt函数可以实现这个功能。具体代码是:I := StrToInt('S\' + '64'); 这时I等于100。加上一个'S\'即可将“十六进制”转换为“十进制”。
Delphi常用函数表
![Delphi常用函数表](https://img.taocdn.com/s3/m/e85d3f34abea998fcc22bcd126fff705cc175cc6.png)
Delphi常⽤函数表 --2 EnumProps API 返回窗⼝属性表列EnumPropsEx API 返回窗⼝属性表列EnumResourceLanguages API 列出语⾔资源EnumResourceNames API 列出资源名称EnumResourceTypes API 列出资源类型EnumServicesStatus API 枚举SC管理器数据库中的服务EnumSystemCodePages API 枚举已安装的可⽤系统代码页EnumSystemLocales API 枚举已安装的系统局部EnumThreadWindows API 返回线索窗⼝EnumTimeFormats API 枚举本地指定时间格式EnumWindowStations APIEqualPrefixSid API 检查两个SLD前缀是否相等EqualRect API 确定两矩形是否相等待EqualRgn API ⽐较两区域是否相等EqualSid API 检查两SLD安全ID是否相等EraseTape API 删除磁带的指定段Escape API 允许访问设备EscapeCommFunction API 发送扩展COMM函数ExcludeClipRect API 改变剪裁区ExcludeUpdateRgn API 从剪裁区中排斥更新区域ExitProcess API 退出当前进程ExitThread API 退出当前线索ExitWindows API 关闭WINDOWSExitWindowsEx API 关闭WINDOWSExpandEnvironmentStrings API 扩充环境变量字符串ExtCreatePen API 建⽴逻辑画笔ExtCreateRegion API 从区域数据中建⽴⼀个区域ExtEscape API 允许访问私有设备ExtFloodFill API ⽤当前刷⼦填充区域ExtSelectClipRgn API 选择⼀块区域作为剪裁区ExtTextOut API 在矩形区域中输出⼀个字符串ExtractAssociatedIcon API 从⽂件或相关EXE中获取图标句柄ExtractIcon API 从可执⾏⽂件中返回图标句柄ExtractIconEx APIEditMask 属性编辑模式Enabled 属性是否使标签呈现打开状态EncodeDate 函数将年⽉⽇合成为⽇期格式EncodeTime 函数将时、分、秒、毫秒合成为时间格式EndMargin 属性末尾边缘Eof 函数对有类型或⽆类型⽂件测试是否到⽂件尾Eoln 函数返回⽂本⽂件的⾏结束状态Erase 命令删除外部⽂件ExceptAddr 函数返回引起当前意外的地址Exclude 函数从集合中删除⼀些元素ExceptObject 函数返回当前意外的索引Exit 命令⽴即从当前的语句块中退出Exp 函数指数函数ExpandFileName 函数返回包含绝对路径的字符串ExtendedSelect 属性是否允许存在选择模式,True时,MultiSelect才有意义ExtractFileDir 函数返回驱动器和路径ExtractFileExt 函数返回⽂件的后缀ExtractFileName 函数返回⽂件名ExtractFilePath 函数返回指定⽂件的路径===============================================FatalAppExit API 结束⼀个应⽤程序FatalExit API 向调试者返回控件FileTimeToDosDateTime API 将⽂件时间转换为MS-DOS⽇期FileTimeToLocalFileTime API 将UTC⽂件时间转换成本地⽂件时间FileTimeToSystemTime API 将64位时间转换为系统时间FillConsoleOutputAttribute API 将属性写⼊屏幕缓冲区FillConsoleOutputCharacter API 将字符写⼊屏幕缓冲区FillPath API 填充当前路径FillRect API ⽤指定刷⼦填充矩形区域FillRgn API ⽤刷⼦填充区域FindAtom API 从本地原⼦表中返回字符串原⼦FindClose API 关闭查找⽂件描述表FindCloseChangeNotification API 光闭⽂件或⽬录修改等待FindClosePrinterChangeNotification APIFindEnvironmentString APIFindExecutable API 返回可执⾏⽂件名及句柄FindFirstChangeNotification API 设置⽂件或⽬录修改等待FindFirstFile API 查找第⼀个匹配⽂件FindFirstFreeAce API 返回指向第⼀个空闲ACL字节的指针FindFirstPrinterChangeNotification APIFindNextChangeNotification API 请求对下⼀个⽂件或⽬录变化的通知FindNextFile API 查找下⼀个匹配⽂件FindNextPrinterChangeNotification APIFindResource API 在模块中寻找资源FindResourceEx API 在模块中寻找资源FindText API 建⽴查找⽂本对话框FindWindow API 返回⼀个与类和窗⼝名相关的窗⼝句柄FindWindowEx APIFixBrushOrgEx APIFlashWindow API 使窗⼝闪烁⼀次FlattenPath API 将弧变为线FloodFill API ⽤当前刷⼦填充区域FlushConsoleInputBuffer API 清除控制台输⼊缓冲区FlushFileBuffers API 清除⽂件缓冲区FlushInstructionCache API 填满指令缓冲区FlushViewOfFile API ⽤映像视图填充⽂件FoldString API 变换字符串FormatMessage API 格式化消息字符串FrameRect API ⽤指定刷⼦画⼀个窗⼝边框FrameRgn API 在区域四周画出边框FreeConsole API 释放控制台FreeDDElParam API 释放DDE消息IPARAM FreeEnvironmentStrings APIFreeLibrary API 卸载库模块FreeLibraryAndExitThread APIFreeResource APIFreeSid API 释放SIDFileAge 函数返回⽂件已存在的时间FileClose 命令关闭指定的⽂件FileCreate 命令⽤指定的⽂件名建⽴新⽂件FileDateToDateTime 函数将DOS的⽇期格式转换为DELPHI的⽇期格式FileExists 函数检查⽂件是否存在FileGatAttr 函数返回⽂件的属性FileGetDate 函数返回⽂件的DOS⽇期时间标记FileOpen 命令⽤指定的存取模式打开指定的⽂件FilePos 函数返回⽂件的当前指针位置FileRead 命令从指定的⽂件读取FileSearch 命令在⽬录中搜索指定的⽂件FileSeek 函数改变⽂件的指针FileSetAttr 函数设置⽂件属性FileSetDate 函数设置⽂件的DOS⽇期时间标记FileSize 函数返回当前⽂件的⼤⼩FileWrite 函数对指定的⽂件做写操作FillChar 函数⽤指定的值填充连续字节的数FindClose 命令终⽌FindFirst/FindNext序列FindFirst 命令对指定的⽂件名及属性搜索⽬录FindNext 命令返回与⽂件名及属性匹配的下⼀⼊⼝FloatToDecimal 函数将浮点数转换为⼗进制数FloatToStrF 函数将浮点数转换为字符串FloatToStr 函数将浮点数转换为字符串FloatToText 函数将给定的浮点数转换为⼗进制数FloatToTextFmt 函数将给定的浮点数转换为⼗进制数Flush 函数将缓冲区的内容刷新到输出的⽂本⽂件中FmtLoadStr 函数从程序的资源字符串表中装载字符串FmtStr 函数格式化⼀系列的参数,其结果以参数Result返回Font 属性设置字体Format 函数格式化⼀系列的参数并返回Pascal字符串FormatBuf 函数格式化⼀系列的参数FormatDateTime 函数⽤指定的格式来格式化⽇期和时间FormatFloat 函数指定浮点数格式Frac 函数返回参数的⼩数部分FreeMem 函数按给定⼤⼩释放动态变量所占的空间=============================================== GdiComment API 向增强型图元⽂件中加⼊注释GdiFlush API 使当前GDI闪烁GdiGetBatchLimit API 返回缓冲GDI函数数量GdiSetBatchLimit API 设置缓冲GDI函数数量GenerateConsoleCtrlEvent API 向控制台进程组发送信号GetACP API 获取ANSI系统代码页GetAce API 返回指向ACL中的ACE的指针GetAclInformation API 返回访问控件表信息GetActiveWindow API 返回活动窗⼝句柄GetArcDirection API 返回弧和矩形的绘画⽅向GetAspectRatioFilterEx API 返回当前ASPECT-RATIO过滤器GetAsyncKeyState API 确定键的状态GetAtomName API 返回本地原⼦字符串GetBinaryType API 确定⼆进制可执⾏⽂件类型GetBitmapBits API 将位图复制到缓冲区GetBitmapDimensionEx API 返回位图宽和⾼GetBkColor API 返回当前背景⾊GetBkMode API 返回背景模式GetBoundsRect API 返回当前相邻矩形GetBrushOrgEx APIGetCPInfo API 获取代码页信息GetCapture APIGetCaretBlinkTime API 返回脱字号闪烁时间GetCaretPos API 返回当前脱字号位置GetCharABCWidths API 返回字符宽度GetCharABCWidthsFloat API 返回字符宽度GetCharWidth API 返回字符宽度GetCharWidth32 API 返回字符宽度GetCharWidthFloat API 返回部分字符宽度GetCharacterPlacement API 获取字符串属性数据GetClassInfo API 返回窗⼝类信息GetClassLong API 返回窗⼝类数据GetClassName API 返回窗⼝类名称GetClassWord API 返回窗⼝类内存字GetClientRect API 返回窗⼝客户区坐标GetClipBox API 取剪裁区域框GetClipCursor API 返回限制光标的矩形的坐标GetClipRgn API 返回当前剪辑域GetClipboardData API 返回剪贴板数据的句柄GetClipboardFormatName API 返回登录的剪贴板格式名GetClipboardOwner API 返回剪贴板所有者窗⼝句柄GetClipboardViewer API 返回第⼀个剪贴板浏览窗⼝句柄GetColorAdjustment API 获取设备描述表调整值GetColorSpace API 获取指定⾊彩空间GetCommConfig APIGetCommMask API 返回COMM事件屏蔽GetCommModemStatus API 返回调制解调器控制登录值GetCommProperties API 返回COMM设备属性GetCommState API 返回COMM设备控制块GetCommTimeouts API 返回COMM设备超时特性值GetCommandLine API 返回指向命令⾏的指针GetCompressedFileSize APIGetComputerName API 取回当前计算机名GetConsoleCP API 为控制台输⼊获取代码页GetConsoleCursorInfo API 返回光标⼤⼩GetConsoleMode API 返回控制台输⼊输出模式GetConsoleOutputCP API 为控制台输出获取代码页GetConsoleScreenBufferInfo API 返回屏幕缓冲区信息GetConsoleTitle API 返回控制台窗⼝标题GetCurrencyFormat APIGetCurrentDirectory API 返回当前⽬录GetCurrentObject API 返回当前对象GetCurrentPositionEx API 返回逻辑单元位置GetCurrentProcess API 返回当前进程的句柄GetCurrentProcessId API 返回当前进程ID值GetCurrentThread API 返回当前线索的句柄GetCurrentThreadId API 返回当前线索ID值GetCursor API 返回当前光标的句柄GetCursorPos API 返回当前光标的位置GetDC API 返回窗⼝描述表句柄GetDCEx API 返回显⽰描述表的句柄GetDCOrgEx API 返回设备描述表的转换起点GetDIBColorTable APIGetDIBits API 将DIB位复制到缓冲区中GetDateFormat API 获取本地⽇期格式GetDefaultCommConfig APIGetDesktopWindow API 返回桌⾯窗⼝句柄GetDeviceCaps API 返回设备性能GetDeviceGammaRamp API 获取显⽰器的辉度系数GetDialogBaseUnits API 返回对话基础单元GetDiskFreeSpace API 返回空闲磁盘空间GetDlgCtrlID API 返回⼉⼦窗⼝的ID值GetDlgItem API 返回对话框控件句柄GetDlgItemInt API 将对话框⽂本转换为整数GetDlgItemText API 返回对话框控件⽂本GetDoubleClickTime API 返回⿏标双击时间GetDriveType API 返回指定驱动器类型GetDriverModuleHandle API 返回驱动程序模块例⼦句柄GetEnhMetaFile API 建⽴增强图元⽂件GetEnhMetaFileBits API 将增强图元⽂件值复制到缓冲区GetEnhMetaFileDescription API 返回增强图元⽂件的标题及建⽴者GetEnhMetaFileHeader API 返回增强图元⽂件头GetEnhMetaFilePaletteEntries API 返回增强图元⽂件调⾊板⼊⼝GetEnvironmentStrings API 返回指向环境块的指针GetEnvironmentVariable API 返回过程环境变量GetExitCodeProcess API 返回过程中断代码GetExitCodeThread API 返回线索中断代码GetExpandedName API 取压缩⽂件的原⽂件名GetFileAttributes API 返回⽂件属性GetFileInformationByHandle API 返回⽂件信息GetFileSecurity API 获取⽂件或⽬录安全信息GetFileSize API 返回指定⽂件⼤⼩GetFileTime API 返回⽂件64位时间GetFileTitle API 返回⽂件名GetFileType API 返回⽂件类型GetFileVersionInfo API 返回⽂件的版本信息GetFileVersionInfoSize API 返回可⽤版本信息⼤⼩GetFocus API 返回当前焦点窗⼝句柄GetFontData API 返回字体数据GetFontLanguageInfo API 获取字体显⽰描述表的信息GetForegroundWindow API 返回前景窗⼝句柄GetForm API 获取打印机窗⼝信息GetFullPathName API 返回⽂件的路径名GetGlyphOutline API 取回轮廓数据GetGraphicsMode API 取回指定DC的图形模式GetHandleInformation APIGetICMProfile API 返回设备场景的⾊彩映像GetIconInfo API 返回图标或光标信息GetInputState API 确定⿏标、键盘、定时器状态GetJob API 获取打印作业信息GetKBCodePage API 获取OEM系统代码页GetKernelObjectSecurity API 返回内核对象SD GetKerningPairs API 返回当前字体内核对GetKeyNameText API 返回代表键盘名字的字符串GetKeyState API 返回虚拟键的状态GetKeyboardLayout APIGetKeyboardLayoutList APIGetKeyboardLayoutName API 返回活动键盘版⾯名GetKeyboardState API 返回虚拟键盘状态GetKeyboardType API 返回键盘信息GetLargestConsoleWindowSize API 返回窗⼝尺⼨的最⼤可能性GetLastActivePopup API 确定最近的活动弹出式窗⼝GetLastError API 返回扩充出错代码GetLengthSid API 返回SID长度GetLocalTime API 返回本地时间和⽇期GetLocaleInfo API 从记录中获取本机信息GetLogColorSpace API 获取逻辑⾊彩空间的信息GetLogicalDriveStrings API 返回合法驱动器字符串GetLogicalDrives API 指定合法驱动器GetMailslotInfo API 返回信箱信息GetMapMode API 返回映像模式GetMenu API 返回指定窗⼝的菜单句柄GetMenuCheckMarkDimensions API 返回缺省复选标记位图尺⼨GetMenuContextHelpId APIGetMenuDefaultItem APIGetMenuItemCount API 返回菜单项数GetMenuItemID API 返回菜单项标识符GetMenuItemInfo APIGetMenuItemRect APIGetMenuState API 返回指定菜单项的菜单标记GetMenuString API 将菜单项字符串复制⼊缓冲区GetMessage API 从线索消息队列中返回⼀条消息GetMessageExtraInfo API 返回硬件消息的信息GetMessagePos API 返回最后消息的光标位置GetMessageTime API 返回最后消息的时间位置GetMetaFile API 建⽴WINDOWS图元⽂件GetMetaFileBitsEx API 将WINDOWS图元⽂件复制⼊缓冲区GetMetaRgn API 返回当前图元区域GetMiterLimit API 返回当前MITER-JOIN长度GetModuleFileName API 返回指定模块的路径GetModuleHandle API 返回指定模块的句柄GetNamedPipeHandleState API 返回命名管道句柄消息GetNamedPipeInfo API 返回命名管道句柄消息GetNearestColor API 返回最近的可⽤⾊彩GetNearestPaletteIndex API 返回最近的匹配⾊彩GetNextDlgGroupItem API 返回前或后⼀组控件的句柄GetNextDlgTabItem API 返回前或后⼀个WS_TABSTOP控件GetNextWindow API 返回前或后⼀窗⼝管理器窗⼝GetNumberFormat APIGetNumberOfConsoleInputEvents API 返回控制台队列事件数GetNumberOfConsoleMouseButtons API 返回⿏标按钮数GetNumberOfEventLogRecords API 获取事件记录中的记录数GetOEMCP API 获取OEM系统代码页GetObject API 返回对象信息GetObjectType API 返回对象类型GetObject API 返回对象信息GetObjectType API 返回对象类型GetOldestEventLogRecord API 返回最早的记录数GetOpenClipboardWindow API 返回打开CLIPBOARD的窗⼝句柄GetOpenFileName API 建⽴⽂件名对话框GetOutlineTextMetrics API 返回TRUETYPE字体的公制类型GetOverlappedResult API 返回最后重叠结果GetPaletteEntries API 返回调⾊板⼊⼝范围GetParent API 返回⽗⼝句柄GetPath API 返回路径中的所有直线和曲线GetPixel API 返回指定像素的RGB值GetPixelFormat APIGetPolyFillMode API 返回当前多边形填充模式GetPrintProcessorDirectory API 获取打印机驱动处理器路径GetPrinter API 获取打印机信息GetPrinterData API 获取打印机配置信息GetPrinterDriver API 获取打印机驱动程序信息GetPrinterDriverDirectory API 获取打印机驱动程序路径GetPriorityClass API 返回过程的优先级类GetPriorityClipboardFormat API 返回第⼀个CLIPBOARD格式GetPrivateObjectSecurity API 返回保护服务器对象SD GetPrivateProfileInt API 从私有⽂件中获取整数GetPrivateProfileSection API 返回私有键和值GetPrivateProfileString API 从私有⽂件中获取字符串GetProcAddress API 返回函数地址GetProcessAffinityMask API 获取任务可⽤的处理表列GetProcessHeap API 获取调⽤过程堆句柄GetProcessHeaps APIGetProcessShutdownParameters API 返回过程停⽌参数GetProcessTimes API 获取过程计时器GetProcessWindowStation API 返回过程窗⼝站句柄GetProcessWorkingSetSize APIGetProfileInt API 从WIN.INI中获取整数GetProfileSection API 从WIN.INI中返回关键字和值GetProfileString API 从WIN.INI中获取字符串GetProp API 从窗⼝属性表列中返回数据句柄GetQueueStatus API 确定消息队列内容GetQueuedCompletionStatus APIGetROP2 API 返回当前绘图模式GetRasterizerCaps API 返回系统TRUETYPE状态GetRegionData API 返回区域数据GetRgnBox API 返回区域边框矩形GetSaveFileName API 建⽴⽂件名保存对话框GetScrollInfo APIGetScrollPos API 返回滑块位置GetScrollRange API 返回滑块运动范围GetSecurityDescriptorControl API 取回SD校正及控制信息GetSecurityDescriptorDacl API 返回SD离散ACL GetSecurityDescriptorGroup API 返回SD个⼈组信息GetSecurityDescriptorLength API 返回SD长度GetSecurityDescriptorOwner API 返回SD所有⼈GetSecurityDescriptorSacl API 返回SD系统ACL GetServiceDisplayName API 获取服务显⽰名称GetServiceKeyName API 获取服务登录关键名称GetShortPathName API 返回⽂件短路径GetSidIdentifierAuthority API 返回ID字段地址GetSidLengthRequired API 返回所需SID长度GetSidSubAuthority API 返回次规范数组地址GetSidSubAuthorityCount API 返回次字段地址GetStartupInfo API 获取当前过程的启始信息GetStdHandle API 返回标准I/O句柄GetStockObject API 返回常⽤画笔、刷⼦或字段的句柄GetStretchBltMode API 返回位图拉伸模式GetStringTypeA API 获取ANSI字符串类型GetStringTypeEx APIGetStringTypeW API 获取UNICODE字符串类型GetSubMenu API 返回弹出式菜单句柄GetSysColor API 返回显⽰元素⾊彩GetSysColorBrush APIGetSystemDefaultLCID API 获取系统缺省本地ID GetSystemDefaultLangID API 获取系统缺省语⾔ID GetSystemDirectory API 返回WINDOWS系统⽬录路径GetSystemInfo API 返回系统信息GetSystemMenu API 访问系统菜单GetSystemMetrics API 返回系统公制GetSystemPaletteEntries API 返回系统调⾊板⼊⼝GetSystemPaletteUse API 确定使⽤整个系统调⾊板GetSystemPowerStatus API 获取系统AC或DC电源状态GetSystemTime API 返回系统时间和⽇期GetSystemTimeAdjustment APIGetTabbedTextExtent API 确定制表串⼤⼩GetTapeParameters API 返回磁带驱动器或介质信息GetTapePosition API 返回当前磁带位置GetTapeStatus API 返回磁带机状态GetTempFileName API 建⽴临时⽂件名GetTempPath API 返回临时⽂件路径GetTextAlign API 返回⽂本对齐标志GetTextCharacterExtra API 返回⽂本字符间隔GetTextCharset APIGetTextCharsetInfo API 返回当前字体设置信息GetTextColor API 返回当前⽂本⾊彩GetTextExtentExPoint API 返回⼦字符串长度数组GetTextExtentPoint API 返回字符串⼤⼩GetTextExtentPoint32 API 返回字符串⼤⼩GetTextFace API 返回当前字体的字样GetTextMetrics API 返回当前字体的公制GetThreadContext API 返回指定线索描述表GetThreadDesktop API 返回线索桌⾯句柄GetThreadLocale API 获取线索本地信息GetThreadPriority API 返回指定线索优先级GetThreadSelectorEntry API 返回线索描述⼊⼝GetThreadTimes API 返回线索计时信息GetTickCount API 返回WINDOWS运⾏时间GetTimeFormat API 获取本地指定的时间字符串GetTimeZoneInformation API 返回当前时区信息GetTokenInformation API 返回指定令牌信息GetTopWindow API 返回指定窗⼝的顶端⼉⼦句柄GetUpdateRect API 返回窗⼝更新区域⼤⼩GetUpdateRgn API 返回窗⼝更新区域⼤⼩GetUserDefaultLCID API 获取⽤户缺省本地ID GetUserDefaultLangID API 获取⽤户缺省语⾔ID GetUserName API 返回⽤户名GetUserObjectInformation APIGetUserObjectSecurity API 返回服务器对象SD信息GetVersion API 返回WINDOWS和操作系统版本GetVersionEx API 返回扩展操作系统版本信息GetViewportExtEx API 返回视窗宽度GetViewportOrgEx API 返回视⼝源GetVolumeInformation API 返回⽂件系统信息GetWinMetaFileBits API 返回WINDOWS格式的图元⽂件内容GetWindow API 返回指定窗⼝句柄GetWindowContextHelpId APIGetWindowDC API 返回窗⼝设备⼚描述表GetWindowExtEx API 返回窗⼝宽度GetWindowLong API 从附加窗⼝内存中返回长型数值GetWindowOrgEx API 返回窗⼝源GetWindowPlacement API 返回窗⼝显⽰状态及最⼩/最⼤位置GetWindowRect API 返回窗⼝坐标GetWindowRgn APIGetWindowText API 将窗⼝⼯具栏⽂本复制到缓冲区GetWindowTextLength API 返回窗⼝⼯具栏⽂本长度GetWindowThreadProcessId API 返回窗⼝线索及过程ID GetWindowWord API 从附加窗⼝内存中返回字值GetWindowsDirectory API 返回窗⼝WINDOWS⽬录GetWorldTransform API 返回当前变换式GlobalAddAtom API 在系统原⼦表中加⼊字符串GlobalAlloc API 在堆中分配内存GlobalCompact APIGlobalDeleteAtom API 从系统原⼦表中删除原⼦GlobalFindAtom API 从全局原⼦表中返回字符串原⼦GlobalFix APIGlobalFlags API 返回全局内存块信息GlobalFree API 释放全局内存块GlobalGetAtomName API 返回全局原⼦字符串GlobalHandle API 将全局指针转换为句柄GlobalLock API 锁定内存对象并返回⼀个指针GlobalMemoryStatus API 检查内存状态GlobalReAlloc API 修改全局内存块⼤⼩/属性GlobalSize API 返回全局内存块⼤⼩GlobalUnWire APIGlobalUnfix APIGlobalUnlock API 开锁全局内存块GlobalWire APIGrayString API 在指定位置画灰⾊⽂本GetDir 返回指定驱动器的当前⽬录GetHeapStatus 返回内存管理器的当前状态GetMem 建⽴⼀指定⼤⼩的动态变量,并将指针指向该处GetMemoryManager 返回内存管理器的⼊⼝点Glyph 函数按钮上的图象。
delphi trystrtodatetime 参数
![delphi trystrtodatetime 参数](https://img.taocdn.com/s3/m/aefae944ae1ffc4ffe4733687e21af45b307fea3.png)
delphi trystrtodatetime 参数Delphi TryStrToDateTime 函数用于将字符串转换为日期时间格式。
该函数的主要参数是一个字符串,它包含了一个日期/时间值。
此外,它还有一个可选的日期/时间格式字符串参数,用于指定输入字符串的格式。
以下是关于 Delphi TryStrToDateTime 函数参数的详细阐述:步骤一:字符串参数字符串参数是必须的,它包含要转换的日期/时间值。
该参数可以是一个常规字符串,也可以是一个变量或表达式。
需要注意的是,该字符串必须符合指定的日期/时间格式。
步骤二:日期/时间格式字符串参数日期/时间格式字符串参数是可选的,它用于指定输入字符串的格式。
如果省略该参数,则函数将使用本地计算机设置中的默认格式。
该参数的语法类似于Delphi的FormatDateTime 函数。
日期/时间格式字符串参数中的特定字符被替换为输入字符串的实际值。
例如,字符'd'替换为输入字符串中的日,字符'm'替换为输入字符串中的月,字符'y'替换为输入字符串中的年等等。
下面是一些常用的日期/时间格式字符串:- 'dd.mm.yyyy':该标识符表示日期的格式,以点分隔天,月和年。
- 'hh:nn:ss':该标识符表示时间的格式,以冒号分隔小时、分钟和秒。
- 'dd/mm/yyyy hh:nn:ss':该标识符表示日期和时间的组合格式,以斜杠和冒号分隔日期和时间的各个部分。
步骤三:返回值Delphi TryStrToDateTime 函数的返回值为一个Boolean类型的值。
如果转换成功,函数将返回True。
如果输入字符串无法转换为日期/时间值,则函数将返回False。
此时,输出参数 ADateTime 将设置为0,表示无效时间值。
如果转换成功,函数还将在输出参数 ADateTime 中返回转换后的日期/时间值。
我的Delphi语法笔记1
![我的Delphi语法笔记1](https://img.taocdn.com/s3/m/9868de7e5acfa1c7aa00cc2d.png)
我的Delphi語法筆記1发表:2004-3-13 19:06:05 出处:你的博客网()--------------------------------------------------------------------------------单元程序头:uses(子句列出了那些链接到程序的单元),block(声明,命令语句)一个程序包括:• 一个程序头(program heading)• 一个uses 子句(可选),和• 一个包含声明和命令语句的块(block)一个单元以单元头(unit heading)开始,后面跟interface、implementation、initialization和finalization 部分,后面两个部分是可选的一个uses 子句可以出现在:• 程序或库的工程文件• 单元的接口部分,和• 单元的实现部分在单元声明以及uses 子句中(尤其是在Linux 下),单元名称必须和文件名大小写一致。
在其它情况(比如使用限定符的标志符),单元名是大小写无关的。
要避免在单元引用中出现问题,要明确指出单元文件:uses MyUnit in "myunit.pas";如果像上面这样在工程文件中明确引用一个单元,在其它源文件中就可以像下面那样简单地引用它,而不必考虑大小写问题:uses Myunit;uses 子句给编译器提供各模块间的依赖信息,因为这些信息是存于模块自身的,所以,Object Pascal程序不需要makefile 文件、头文件以及include 预处理指令(这些概念你可能要参考C 语言)。
每当一个工程调入IDE 时,Project Manager 创建一个makefile,但只有在包含多个工程的工程组中才保存这些文件。
Delphi中参数的传递和函数值的返回
![Delphi中参数的传递和函数值的返回](https://img.taocdn.com/s3/m/60e907c085254b35eefdc8d376eeaeaad1f316a9.png)
Delphi中参数的传递和函数值的返回关于Delphi中参数的传递和函数值的返回前⾔:⾼⼿们应该早知道了,不屑于写出来⽽已。
真正的⾼⼿⼀个⽐⼀个潜的深,只剩下偶这样的⼩菜写些菜⽂给更⼩的菜。
⾼⼿看时还请捂好⼤⽛,多多指点。
不知各位⼩菜同胞对破解DELPHI程序有什么看法,反正我的感觉就⼀个字:怪。
各位最先遇到的问题恐怕都是:我下了GetDlgItemInt、GetDlgItemText、GetWindowText....怎么什么也断不下来,甚⾄连Hmemcpy都不起作⽤?呵呵,从这⾥就能看出宝蓝的那批⼈成⼼想跟M$对着⼲,⾮搞出些新鲜的东东不可。
这回我们就来看看DLEPHI中对函数(过程)参数的传递是如何进⾏的。
我们知道WinAPI采⽤的调⽤约定是StdCall,也就是调⽤⼀个函数Func(arg1,agr2,agr3,arg4),你需要push arg4,push arg3,push arg2,push arg1,call Func 。
在VC++⾥也是这种形式,所以⼀个函数有⼏个参数,可以⾮常直观地看出来。
可是在DELPHI中就很奇怪了,在⼀个CALL前⾯你可能⼀个PUSH也看不到,怎么回事呢?听我慢慢道来。
DELPHI中的调⽤约定有StdCall,Cdecl,Safecall,Pascal和Register等⼏种⽅式,⽽DELPHI的默认⽅式是Register(为什么不是Pascal?)Register⽅式就是尽可能地使⽤寄存器来传递参数,减少堆栈的操作来提⾼速度。
具体情况是怎样呢,看个例⼦先:在FORM上放⼀个BUTTON,双击写代码如下:代码:function add1(a:Integer):Integer; //⼀个参数beginadd1:=a+a;end;function add2(a,b:Integer):Integer; //两个参数beginadd2:=a+b;end;function add3(a,b,c:Integer):Integer; //三个参数beginadd3:=a+b+c;end;function add4(a,b,c,d:Integer):Integer; //四个参数beginadd4:=a+b+c+d;end;function add5(a,b,c,d,e:Integer):Integer; //五个参数beginadd5:=a+b+c+d+e;end;function add6:Integer; //加⼊⼀些局部变量var local1,local2,local3,local4,local5:Integer;beginlocal1:=1;local2:=2;local3:=3;local4:=4;local5:=5;add6:=local1+local2+local3+local4+local5;end;function add7(a,b,c,d,e:Integer):Integer; //利⽤result来返回beginresult:=a+b+c+d+e;end;function add8(a,b,c,d,e:Integer):Integer;StdCall;//StdCall调⽤⽅式beginadd8:=a+b+c+d+e;end;procedure TForm1.Button1Click(Sender: TObject);var a,b,c,d,e:Integer;s1,s2,s3,s4,s5,s6,s7,s8,s:Integer;begina:=1; b:=2; c:=3; d:=4; e:=5;s1:=add1(a);s2:=add2(a,b);s3:=add3(a,b,c);s4:=add4(a,b,c,d);s5:=add5(a,b,c,d,e);s6:=add6;s7:=add7(a,b,c,d,e);s8:=add8(a,b,c,d,e);s:=s1+s2+s3+s4+s5+s6+s7+s8; //必须要有这么⼏句MessageDlg(IntToStr(s),mtConfirmation,[mbOK],0); //不然编译器根本不去处理返回值end;⽤DEDE反⼀下看看,这个Button1Click的内容:代码:004403EC 55 push ebp004403ED 8BEC mov ebp, esp004403EF 83C4D8 add esp, -$28 ;空出地⽅放局部变量004403F2 53 push ebx004403F3 56 push esi004403F4 57 push edi004403F5 33C9 xor ecx, ecx004403F7 894DD8 mov [ebp-$28], ecx004403FA 33C0 xor eax, eax004403FC 55 push ebp* Possible String Reference to: '関-?腽_^[嬪]?|004403FD 68E9044400 push $004404E9***** TRY|00440402 64FF30 push dword ptr fs:[eax] ;这是DELPHI的例⾏公事00440405 648920 mov fs:[eax], esp ;据我观察只要调⽤VCL库的都要SEH00440408 BB01000000 mov ebx, $00000001 ;a:=10044040D BE02000000 mov esi, $00000002 ;b:=200440412 BF03000000 mov edi, $00000003 ;c:=300440417 C745FC04000000 mov dword ptr [ebp-$04], $00000004 ;d:=40044041E C745F805000000 mov dword ptr [ebp-$08], $00000005 ;e:=5可以看出DELPHI的确不⼀样,把EBX,ESI,EDI能⽤的寄存器全都⽤上了,实在不⾏了才⽤[ebp-xx],从下⾯的分析中也能看出这⼀点,DELPHI在能⽤寄存器时决不⽤堆栈。
delphi常用函数1
![delphi常用函数1](https://img.taocdn.com/s3/m/9fd6c66db84ae45c3b358cc6.png)
Label1.Caption := IntToStr(YearOf(Date)); 假设当前日期为2005年1月2日,那么Label将显示为2005。
end;
2. MkDir
创建一个新的子目录(文件夹)。
参考实例:
MkDir('C:\MyFolder'); // 在C盘根目录中创建了一个名叫MyFolder的文件夹。
需要注意的是,如果在本身不存在的目录中创建子目录将会失败。比如C盘根本不存在Flash文件夹,
写成MkDir('C:\Flash\MyFolder');这样将不能成功创建MyFolder文件夹。
end;
9.MonthOf(所在单元:DateUtils)
功能说明:根据指定的日期,返回月份。
参考实例:
Label1.Caption := IntToStr(MonthOf(Date));
假设当前日期为2005年1月2日,那么Label将显示为1。
10.Now
功能说明:返回当前日期及时间。
Floor(-1.0) = -1
4.Int
功能说明:返回参数中的整数部分。
参考实例:
var
R: Real;
begin
R := Int(123.456); // R等于 123.0
R := Int(-123.456); // R等于 -123.0
end;
5.Max(所在单元:Math)
功能说明:比较两个数字,并返回最大的一个数字。
参考实例:
var
k: Integer;
begin
k := Max(10, 20); // k将为20
Delphi常用函数和过程
![Delphi常用函数和过程](https://img.taocdn.com/s3/m/e51909b8dd3383c4bb4cd297.png)
8.1 数据类型转化类本节所列函数和过程一般都定义在System 或者SysUtils 单元。
8.1.1 数值和字符串的相互转化procedure Str(X [: Width [: Decimals ]]; var S);将数值X 按照一定格式转化为字符串S。
Width 指定S 的总长度,如果X 是实数,Decimals 指定小数点后的位数。
如:varS: String;beginStr(12.2:6:2,S); {S=’ 12.20’}end;procedure Val(S; var V; var Code: Integer);将字符串S 转化为数值V。
如果不能转化,则Code 返回第一个非法字符的位置。
如:varV,Code: Integer;beginVal(’12.00’, V, Code); {没能成功转化,Code返回’.’的位置3}end;8.1.2 整数和字符串的相互转化function IntToStr(Value: Integer): string; overload;function IntToStr(Value: Int64): string; overload;第一个用于32Bit 整数的转化,第二个用于64Bit 整数的转化。
因为Cardinal、Longword 等和Integer 是兼容的(即是说一个Integer 变量总是可以无损失地存储一个Cardinal 或者Longword 变量的值,因为Integer 的取值范围完全包含了它们的取值范围)。
function StrToInt(const S: string): Integer;function StrToInt64(const S: string): Int64;将一个字符串转化为整数。
如果S 包含非数字字符(如“ 1A”、“ 1.2”),则运行时产生异常。
但是S 也可以是十六进制表示方法,如“ $A”,那么会返回十进制数10。
delphi过程函数传递参数的几种方法[精彩]
![delphi过程函数传递参数的几种方法[精彩]](https://img.taocdn.com/s3/m/bd72f17ea55177232f60ddccda38376baf1fe020.png)
Delphi过程函数传递参数的几种方式在Delphi过程、函数中传递参数几个修饰符为Const、Var、Out。
另一种不加修饰符的为默认按值传递参数。
一、默认方式以值方式传递参数procedure TForm1.ProcNormal(Value: string);beginOrigNum:=Value+' Me';lblReturn.Caption:=OrigNum;//OrigNum为'Hello Me'lblOrig.Caption:=Value;//Value为'Hello'end;调用:OrigNum:='Hello';ProcNormal(OrigNum);二、以Const方式传递参数,这个参数在调用过程中不能改变,并且这种方式会被编译器优化,一般建议尽可能地使用这种方式。
procedure TForm1.ProcConst(const Value: string);beginOrigNum:=Value+' Me';lblReturn.Caption:=OrigNum;//为'Hello Me‘lblOrig.Caption:=Value;//为'Hello'end;三、按引用方式传递参数procedure TForm1.ProcRef(var value: string);beginOrigNum:=Value+' Me';lblReturn.Caption:=OrigNum;//为'Hello Me‘lblOrig.Caption:=Value;//为'Hello Me'end;四、按Out方式传递参数,这个方式传递参数时,参数可以不被初始化,即使有值也被忽视,它一般用于输出,它可以实现在一个过程中返回多个值,我们通常在分布式对象模型,如COM中使用它。
DELPHI(PASCAL)的函数手册
![DELPHI(PASCAL)的函数手册](https://img.taocdn.com/s3/m/71a57d77ddccda38376baf98.png)
delphi(pascal)的函册名称类型说明----------------------------------------------------------------------------------Abort函数引起放弃的意外处理Abs函数绝对值函数AddExitProc函数将一过程添加到运行时库的结束过程表中Addr函数返回指定对象的地址AdjustLineBreaks函数将给定字符串的行分隔符调整为CR/LF序列Align属性使控件位于窗口某部分Alignment属性控件标签的文字位置AllocMem函数在堆栈上分配给定大小的块AllowGrayed属性允许一个灰度选择AnsiCompareStr函数比较字符串(区分大小写)AnsiCompareText函数比较字符串(不区分大小写)AnsiLowerCase函数将字符转换为小写AnsiUpperCase函数将字符转换为大写Append函数以附加的方式打开已有的文件ArcTan函数余切函数AssignFile函数给文件变量赋一外部文件名Assigned函数测试函数或过程变量是否为空AutoSize属性自动控制标签的大小BackgroundColor属性背景色BeginThread函数以适当的方式建立用于内存管理的线程BevelInner属性控件方框的内框方式BevelOuter属性控件方框的外框方式BevelWidth属性控件方框的外框宽度BlockRead函数读一个或多个记录到变量中BlockWrite函数从变量中写一个或多个记录BorderStyle属性边界类型BorderWidth属性边界宽度Break命令终止for、while、repeat循环语句Brush属性画刷Caption属性标签文字的内容ChangeFileExt函数改变文件的后缀ChDir函数改变当前目录Checked属性确定复选框选中状态Chr函数返回指定序数的字符CloseFile命令关闭打开的文件Color属性标签的颜色Columns属性显示的列数CompareStr函数比较字符串(区分大小写)Concat函数合并字符串Continue命令继续for、while、repeat的下一个循环Copy函数返回一字符串的子串Cos函数余弦函数Ctl3D属性是否具有3D效果Cursor属性鼠标指针移入后的形状Date函数返回当前的日期DateTimeToFileDate函数将DELPHI的日期格式转换为DOS的日期格式DateTimeToStr函数将日期时间格式转换为字符串DateTimeToString函数将日期时间格式转换为字符串DateToStr函数将日期格式转换为字符串DayOfWeek函数返回星期的数值Dec函数递减变量值DecodeDate函数将日期格式分解为年月日DecodeTime函数将时间格式分解为时、分、秒、毫秒Delete函数从字符串中删除子串DeleteFile命令删除文件DiskFree函数返回剩余磁盘空间的大小DiskSize函数返回指定磁盘的容量Dispose函数释放动态变量所占的空间DisposeStr函数释放字符串在堆栈中的内存空间DitherBackground属性使背景色的色彩加重或减少50%DragCursor属性当鼠标按下时光标的形状DragMode属性按动的作用方式DropDownCount属性容许的显示数据项的数目EditMask属性编辑模式Enabled属性是否使标签呈现打开状态EncodeDate函数将年月日合成为日期格式EncodeTime函数将时、分、秒、毫秒合成为时间格式EndMargin属性末尾边缘Eof函数对有类型或无类型文件测试是否到文件尾Eoln函数返回文本文件的行结束状态Erase命令删除外部文件ExceptAddr函数返回引起当前意外的地址Exclude函数从集合中删除一些元素ExceptObject函数返回当前意外的索引Exit命令立即从当前的语句块中退出Exp函数指数函数ExpandFileName函数返回包含绝对路径的字符串ExtendedSelect属性是否允许存在选择模式,True时,MultiSelect才有意义ExtractFileDir函数返回驱动器和路径ExtractFileExt函数返回文件的后缀ExtractFileName函数返回文件名ExtractFilePath函数返回指定文件的路径FileAge函数返回文件已存在的时间FileClose命令关闭指定的文件FileCreate命令用指定的文件名建立新文件FileDateToDateTime函数将DOS的日期格式转换为DELPHI的日期格式FileExists函数检查文件是否存在FileGatAttr函数返回文件的属性FileGetDate函数返回文件的DOS日期时间标记FileOpen命令用指定的存取模式打开指定的文件FilePos函数返回文件的当前指针位置FileRead命令从指定的文件读取FileSearch命令在目录中搜索指定的文件FileSeek函数改变文件的指针FileSetAttr函数设置文件属性FileSetDate函数设置文件的DOS日期时间标记FileSize函数返回当前文件的大小FileWrite函数对指定的文件做写操作FillChar函数用指定的值填充连续字节的数{e.gGetMem(R,SizeOf(TMyRecord));FillChar(R^,SizeOf(TMyRecord),#0);SetLength(R.S,$FFFF);FreeMem(R);//不会释放R.S内存空间!!}FindClose命令终止FindFirst/FindNext序列FindFirst命令对指定的文件名及属性搜索目录FindNext命令返回与文件名及属性匹配的下一入口FloatToDecimal函数将浮点数转换为十进制数FloatToStrF函数将浮点数转换为字符串FloatToStr函数将浮点数转换为字符串FloatToText函数将给定的浮点数转换为十进制数FloatToTextFmt函数将给定的浮点数转换为十进制数Flush函数将缓冲区的内容刷新到输出的文本文件中FmtLoadStr函数从程序的资源字符串表中装载字符串FmtStr函数格式化一系列的参数,其结果以参数Result返回Font属性设置字体Format函数格式化一系列的参数并返回Pascal字符串FormatBuf函数格式化一系列的参数FormatDateTime函数用指定的格式来格式化日期和时间FormatFloat函数指定浮点数格式Frac函数返回参数的小数部分FreeMem函数按给定大小释放动态变量所占的空间GetDir返回指定驱动器的当前目录GetHeapStatus返回内存管理器的当前状态GetMem(var P:Pointer;Size:Integer);{(建立一指定大小的动态变量)分配一个指定大小的内存块(连续),并将指针指向该处}GetMemoryManager返回内存管理器的入口点Glyph函数按钮上的图象Halt停止程序的执行并返回到操作系统Hi返回参数的高地址位High返回参数的上限值Hint属性提示信息Int返回参数的整数部分Include添加元素到集合中Insert在字符串中插入子串IntToHex(,)将整型数转换为十六进制数。
delphi常用函数中文说明
![delphi常用函数中文说明](https://img.taocdn.com/s3/m/b58dbd0190c69ec3d5bb7531.png)
Font 属性 设置字体
Format 函数 格式化一系列的参数并返回Pascal字符串
FormatBuf 函数 格式化一系列的参数
FormatDateTime 函数 用指定的格式来格式化日期和时间
FormatFloat 函数 指定浮点数格式
FloatToStrF 函数 将浮点数转换为字符串
FloatToStr 函数 将浮点数转换为字符串
FloatToText 函数 将给定的浮点数转换为十进制数
FloatToTextFmt 函数 将给定的浮点数转换为十进制数
Flush 函数 将缓冲区的内容刷新到输出的文本文件中
FmtLoadStr 函数 从程序的资源字符串表中装载字符串
ExtractFileDir 函数 返回驱动器和路径
ExtractFileExt 函数 返回文件的后缀
ExtractFileName 函数 返回文件名
ExtractFilePath 函数 返回指定文件的路径
FileAge 函数 返回文件已存在的时间
FileClose 命令 关闭指定的文件
OnClick 事件 单击窗体空白区域触发
OnDblClick 事件 双击窗体空白区域触发
OnCloseQuery 事件 使用者试图关闭窗体触发
OnClose 事件 窗体关闭后才触发
OnCreate 事件 窗体第一次创建时触发
OnDeactivate 事件 用户切换到另一应用程序触发
OnDragDrop 事件 鼠标拖放操作结束时触发
FileWrite 函数 对指定的文件做写操作
delphi 参数
![delphi 参数](https://img.taocdn.com/s3/m/9d27c35a9a6648d7c1c708a1284ac850ac020464.png)
delphi 参数Delphi是一种广泛应用于Windows平台的集成开发环境(IDE),它使用Object Pascal语言编写。
作为一种高级编程语言,Delphi具有许多强大的特性和功能,使得开发人员能够快速构建出高质量的应用程序。
本文将从不同角度介绍Delphi的参数及其相关内容。
一、Delphi的参数类型Delphi中有多种参数类型,包括值参数、引用参数和常量参数。
值参数是一种传递参数的方式,它将参数的值复制给函数或过程的局部变量。
引用参数是将参数的地址传递给函数或过程,从而可以在函数或过程中修改参数的值。
常量参数是一种特殊类型的值参数,它在函数或过程中不能被修改。
二、Delphi中的参数传递方式在Delphi中,参数可以通过值传递、引用传递和常量传递的方式进行传递。
值传递是指将参数的值复制给函数或过程的局部变量,这样在函数或过程内部对参数的修改不会影响到原始的参数。
引用传递是将参数的地址传递给函数或过程,使得函数或过程可以直接修改参数的值。
常量传递是指将参数的值传递给函数或过程,但在函数或过程内部不能修改参数的值。
三、Delphi中的参数默认值Delphi允许为函数或过程的参数设置默认值,这样在调用函数或过程时可以省略相应的参数。
当省略参数时,函数或过程将使用参数的默认值。
通过设置参数的默认值,可以使函数或过程在不同的情况下具有不同的行为。
四、Delphi中的参数数组Delphi中可以使用数组作为函数或过程的参数,称为参数数组。
参数数组可以包含任意类型的元素,并且可以指定数组的长度。
通过使用参数数组,可以简化函数或过程的调用,提高代码的可读性和可维护性。
五、Delphi中的可变参数Delphi中的可变参数是一种特殊类型的参数,可以接受不定数量的参数。
通过使用可变参数,可以在调用函数或过程时传递任意数量的参数,而不需要提前指定参数的数量。
可变参数在处理不确定数量的参数时非常有用,可以使函数或过程更加灵活和通用。
在Delphi中编写参数个数可变的函数
![在Delphi中编写参数个数可变的函数](https://img.taocdn.com/s3/m/9b79f07a302b3169a45177232f60ddccda38e684.png)
在Delphi中编写参数个数可变的函数在Delphi中编写参数个数可变的函数变体开发数组参数允许向单个过程或函数传递不同类型表达式的数组。
要定义含有变体开放数组参数的例程,需要指定array of const 作为参数类型。
如,procedure DoSomething(A: array of const);这里声明了一个叫做DoSomething的过程,该过程可以操作不同种类的数组。
array of const结构等价于array of TVarRec。
TVarRec,在单元System中声明,用于表示一个记录,记录中有一个可以保存多种值(整数、布尔、字符、实数、串、指针、类、类引用、接口、变体等)的变体部分。
TVarRec中的VType字段表示数组中每个元素的类型。
一些类型作为指针传递而不传递值;特别是长串,作为指针传递并且必需转换为string类型。
下面的例子在函数中使用了变体开放数组参数,该函数对接受的每个元素创建一个串表示法,最后连接成一个串。
该函数中调用的串处理例程都定义在SysUtils单元中。
function MakeStr(const Args: array of const): string;constBoolChars: array[Boolean] of Char = ('F', 'T');varI: Integer;beginResult := '';for I := 0 to High(Args) dowith Args[I] docase VType ofvtInteger: Result := Result + IntToStr(VInteger); vtBoolean: Result := Result + BoolChars[VBoolean]; vtChar: Result := Result + VChar;vtExtended: Result := Result + FloatT oStr(VExtended^); vtString: Result := Result + VString^;vtPChar: Result := Result + VPChar;vtObject: Result := Result + VObject.ClassName; vtClass: Result := Result + VClass.ClassName;vtAnsiString: Result := Result + string(VAnsiString);vtCurrency: Result := Result + CurrT oStr(VCurrency^);vtVariant: Result := Result + string(VVariant^);vtInt64: Result := Result + IntToStr(VInt64^);end;end;可以用一个开放数组构造器(见开放数组构造器)来调用该函数。
delphi函数定义及实现
![delphi函数定义及实现](https://img.taocdn.com/s3/m/321b2678842458fb770bf78a6529647d26283454.png)
delphi函数定义及实现Delphi函数定义及实现Delphi是一种面向对象的编程语言,它的函数定义和实现是非常重要的部分。
在Delphi中,函数是一种可重用的代码块,它可以接受参数并返回一个值。
在本文中,我们将讨论Delphi函数的定义和实现。
在Delphi中,函数定义由函数名、参数列表和返回类型组成。
下面是一个简单的函数定义示例:function AddNumbers(a, b: Integer): Integer;在这个函数定义中,函数名是AddNumbers,它接受两个整数参数a和b,并返回一个整数值。
在函数定义中,参数列表用括号括起来,参数之间用逗号分隔。
返回类型在函数名后面用冒号指定。
函数实现函数实现是函数定义的具体实现。
在Delphi中,函数实现由函数体组成。
函数体是一组语句,它们定义了函数的操作。
下面是一个简单的函数实现示例:function AddNumbers(a, b: Integer): Integer;beginResult := a + b;end;在这个函数实现中,函数体由一个begin和end语句块组成。
在begin和end之间,我们定义了一个操作,它将a和b相加,并将结果存储在Result变量中。
最后,函数返回Result变量的值。
函数调用函数调用是使用函数的过程。
在Delphi中,函数调用由函数名和参数列表组成。
下面是一个简单的函数调用示例:vara, b, c: Integer;begina := 1;b := 2;c := AddNumbers(a, b);end;在这个函数调用中,我们定义了三个整数变量a、b和c。
然后,我们将a和b的值分别设置为1和2。
最后,我们调用AddNumbers函数,并将a和b作为参数传递。
函数返回的结果存储在c变量中。
总结在Delphi中,函数定义和实现是非常重要的部分。
函数定义由函数名、参数列表和返回类型组成,而函数实现由函数体组成。
Delphi必熟的基本函数
![Delphi必熟的基本函数](https://img.taocdn.com/s3/m/33fff76e168884868762d6fb.png)
Delphi必须掌握的基本函数:数值函数:Abs 函数绝对值函数。
Abs(-1) = 1;Exp 函数指数函数。
Odd 函数测试参数是否为奇数。
odd(1) = TruePi 函数返回圆周率Pi。
Random 函数返回一随机函数。
(产生一个大于0小于1的小数);Randomize 函数用一随机数初始化内置的随机数生成器。
Sqr 函数平方函数。
Sqr(3) =9Sqrt 函数平方根函数。
Sryt(9) 3Frac 函数返回参数的小数部分。
Frac(3.14) = 0.14Int 函数返回参数的整数部分。
int(3.6) = 3Round 函数将实数值四舍五入取整型值。
Round(3.6) = 4Trunc 函数将实型值截取为整型值。
//Ceil 函数直接往大的取整,比如Ceil(-123.55) = -123,Ceil(123.55) = 124。
需要引用单元Math.pas。
Floor 函数直接往小的取整,比如Floor(-123.55) = -124,Floor(123.55) = 123。
需要引用单元Math.pas。
ReverseString 翻转字符串倒序输出来ReverseString(abcd)=dcba字符串函数:CompareStr 函数比较字符串(区分大小写)。
StrComp 函数比较两个字符串(区分大小写)。
StrIComp 函数比较两个字符串(不区分大小写)。
Concat 函数合并字符串。
Copy 函数返回一字符串的子串。
Delete 函数从字符串中删除子串。
Insert 函数在字符串中插入子串。
Pos 函数在字符串中搜索子串。
Format 函数格式化一系列的参数并返回Pascal字符串。
FormatDateTime 函数用指定的格式来格式化日期和时间。
formatdatetime('c', Now)字符c以短时间格式显示时间,即全部是数字的表示。
d对应时间中的日期,dd是输出两位的日期。
delphi中的常用数学函数【转载】
![delphi中的常用数学函数【转载】](https://img.taocdn.com/s3/m/61b9f8dac0c708a1284ac850ad02de80d4d806bc.png)
delphi中的常⽤数学函数【转载】delphi中的常⽤数学函数定义:function Power(X,Y): (Same type as parameter);说明:X可以是整型,也可以是实型;返回值实型例⼦:vari:integer;begini := Power(3,4); { 81}end.求绝对值函数abs(x)定义:function Abs(X): (Same type as parameter);说明:X可以是整型,也可以是实型;返回值和X的类型⼀致例⼦:varr: Real;i: Integer;beginr := Abs(-2.3); { 2.3 }i := Abs(-157); { 157 }end.取整函数int(x)定义:function Int(X: Real): Real; 注意:X是实型数,返回值也是实型的;返回的是X的整数部分,也就是说,X被截尾了(⽽不是四舍五⼊)例⼦:var R: Real;beginR := Int(123.567); { 123.0 }R := Int(-123.456); { -123.0 }end.截尾函数trunc(x)定义:function Trunc(X: Real): Longint; 注意:X是实型表达式. Trunc 返回Longint型的X的整数部分例⼦:beginWriteln(1.4, ' becomes ', Trunc(1.4)); { 1 }Writeln(1.5, ' becomes ', Trunc(1.5)); { 1 }Writeln(-1.4, 'becomes ', Trunc(-1.4)); { -1 }Writeln(-1.5, 'becomes ', Trunc(-1.5)); { -1 }end.四舍五⼊函数round(x)定义:function Round(X: Real): Longint; 注意:X是实型表达式. Round 返回Longint型的X的四舍五⼊值.如果返回值超出了Longint的表⽰范围,则出错. 例⼦:beginWriteln(1.4, ' rounds to ', Round(1.4)); { 1 }Writeln(1.5, ' rounds to ', Round(1.5)); { 2 }Writeln(-1.4, 'rounds to ', Round(-1.4));{ -1 }Writeln(-1.5, 'rounds to ', Round(-1.5));{ -2 }end.取⼩数函数frac(x)定义:function Frac(X: Real): Real; 注意:X 是实型表达式. 结果返回 X 的⼩数部分; 也就是说,Frac(X) = X - Int(_X). 例⼦:varR: Real;beginR := Frac(123.456); { 0.456 }R := Frac(-123.456); { -0.456 }end.求平⽅根函数sqrt(x)和平⽅函数sqr(x)定义:平⽅根:function Sqrt(X: Real): Real;注意:X 是实型表达式. 返回实型的X的平⽅根. 平⽅:function Sqr(X): (Same type as parameter);注意:X 是实型或整型表达式.返回值的类型和X的类型⼀致,⼤⼩是X的平⽅,即X*X.例⼦:beginWriteln('5 squared is ', Sqr(5)); { 25 }Writeln('The square root of 2 is ',Sqrt(2.0)); { 1.414 }Pascal函数实例标准数据类型的含义及符号(1)整型数的取值范围:-32768<=n<=32768;整型运算操作:+、-、*、div、mod;整型关系操作:=、<>、>=、<=,结果为布尔型;有关整型的标准函数:整型函数函数名函数值例前接函数 pred(x) x-1 pred(4)=3后继函数 succ(x) x+1 succ(-3)=-2绝对值函数abs(x) |x| abs(-1)=1平⽅函数sqr(x) x^2 sqr(-5)=25奇函数 odd(x) x为奇数时值为True odd(1)=truex为偶数时值为False odd(16)=false字符函数chr(x) 序号为x的ASCII字符 chr(65)=\'\'a\'\'a对应的序号65(2)实型数的绝对值取值范围:1E-38~1E+38;计算机实数的表⽰标准形式往往类如1.2E-8,-1234.56E+3等形式;实数范围⽐整数⼤,但实型数的运算速度⽐整形数慢,另外实型数在存储时会出现⼩的误差;实型的运算操作:+、-、*、/。
Delphi 中 函数参数中的 const 修饰符的本质以及注意事项
![Delphi 中 函数参数中的 const 修饰符的本质以及注意事项](https://img.taocdn.com/s3/m/92a563d2524de518964b7daa.png)
Delphi 中函数参数中的const 修饰符的本质以及注意事项分类:Delphi2010-07-28 22:33 882人阅读评论(2) 收藏举报很多书籍中说函数参数如果是String类型的,如果在函数内部不改变参数的值,使用const 修饰符会加快程序的执行速度,至于如何加快的?有的人说是因为const 函数保证了参数字符串不会被复制。
以前也没有对这个问题深入研究,但是在不修改函数参数的时候,总是习惯加上const 修饰符,前几天在csdn论坛上解答某个人的问题是,发现程序产生的结果和预期的不一样,检查了一遍代码,发现没有什么问题,按理不应该出现错误。
于是跟踪调试,发现是用const 修饰的一个String 类型的函数参数在该函数中被意外地更改了其内容,这很奇怪啊,因为在函数内部没有修改其值的地方,况且用const 修饰的参数,如果存在修改其内容的语句,编译都过不去,更何谈执行了。
于是,就跟踪代码,查找原因,这一跟踪,发现了一个问题:跟踪测试代码如下:[delphi]view plaincopy1.var2. SS: String;3.4.procedure test1(const s: String);5.begin6.try7. SS := '你好';8. ShowMessage(s);9.except10.end;11.end;12.13.procedure TfrmMain.btnTestClick(Sender: TObject);14.begin15. SS := 'Hello';16. test1(SS);17.end;代码很简单,按照程序逻辑,ShowMessage(s) 的结果应该显示"Hello",有些人看了前面的描述,可能会觉得,好像应显示"你好",这些都不对,显示的是乱码!呵呵,吓一跳吧!好了,下面我就来解释下,为什么会显示乱码:首先,看看加了const 修饰符到底会有什么不同:[delphi]view plaincopy1.procedure test1(const s: String);2.begin3.try4. SS := '你好';5. ShowMessage(s);6.except7.end;8.end;在Test1函数的begin处断开,然后看看汇编代码到底干了什么:上图是在begin 处加了断点后,程序运行到这里的汇编代码,其中,红色方框中的,就是在begin 到第一句语句try 处执行的代码。
Delphi函数大全
![Delphi函数大全](https://img.taocdn.com/s3/m/6e25b67ccbaedd3383c4bb4cf7ec4afe04a1b193.png)
Delphi函数大全Delphi函数大全首部function Languages: TLanguages; $[功能返回系统语言对象说明通过此函数可以得到系统的语言环境参考type例子12a12c12a12c.参考例子:= IsValidIdent;━━━━━━━━━━━━━━━━━━━━━首部function IntT oStr(Value: Integer): string; overload; $[首部function IntT oStr(Value: Int64): string; overload; $[功能返回整数Value转换成字符串说明Format('%d', [Value])参考function例子:= IntToStr;━━━━━━━━━━━━━━━━━━━━━首部function IntT oHex(V alue: Integer; Digits: Integer): string; overload; $[首部function IntT oHex(V alue: Int64; Digits: Integer): string; overload; $[功能返回整数Value转换成十六进制表现结果;Format('%.*x', [Digits, Value]) 说明参数Digits指定字符最小宽度;最小宽度不足时将用0填充参考function例子:= IntToHex, ;━━━━━━━━━━━━━━━━━━━━━首部function StrToInt(const S: string): Integer; $[功能返回字符串S转换成整数说明字符串非整数表达时将引起异常参考procedure例子:= StrT oInt;━━━━━━━━━━━━━━━━━━━━━首部function StrT oIntDef(const S: string; Default: Integer): Integer; $[功能返回字符串S转换成整数说明字符串非整数表达时则返回默认值Default参考procedure例子:= StrT oIntDef, 0);━━━━━━━━━━━━━━━━━━━━━首部function TryStrToInt(const S: string; out Value: Integer): Boolean; $[功能返回字符串S转换成整数V alue是否成功说明字符串非整数表达时返回False并且Value将输出为0参考procedure例子..);打开失败则返回负数参考function例子xe'参考function ;function例子:= ExtractFileExt;━━━━━━━━━━━━━━━━━━━━━首部function ExpandFileName(const FileName: string): string; $[功能返回文件名的完整表示说明ExpandFileName('')='C:\Program Files\Borland\Delphi6\Projects\'参考function例子:= ExpandFileName;━━━━━━━━━━━━━━━━━━━━━首部function ExpandFileNameCase(const FileName: string; out MatchFound: TFilenameCaseMatch): string; $[功能分情况返回文件名的完整表示说明type TFilenameCaseMatch = (mkNone, mkExactMatch, mkSingleMatch, mkAmbiguous); 参考function ;function ;function 例子.;获取失败则返回-1参考function例子:= DiskFree;━━━━━━━━━━━━━━━━━━━━━首部function DiskSize(Drive: Byte): Int64; $[功能返回驱动器全部空间说明参数Drive为0表示当前路径,为1表示=A驱,为2表示=B 驱...;获取失败则返回-1参考function例子:= DiskSize;━━━━━━━━━━━━━━━━━━━━━首部function FileDateToDateTime(FileDate: Integer): TDateTime; $[功能返回将文件日期时间类型转换日期时间类型说明FileDate非法是将触发异常参考function ;function例子<参见FileAge>━━━━━━━━━━━━━━━━━━━━━首部function DateTimeToFileDate(DateTime: TDateTime): Integer; $[功能返回将日期时间类型转换文件日期时间类型说明年份在1980到2107之外则返回0参考function ;function例子<参见FileSetDate>━━━━━━━━━━━━━━━━━━━━━首部function GetCurrentDir: string; $[功能返回当前操作目录说明[注意]调用文件对话框会改变当前操作目录参考function例子:= GetCurrentDir;━━━━━━━━━━━━━━━━━━━━━首部function SetCurrentDir(const Dir: string): Boolean; $[ 功能返回设置当前操作目录是否成功说明[注意]调用文件对话框会改变当前操作目录参考function例子:= SetCurrentDir;━━━━━━━━━━━━━━━━━━━━━首部function CreateDir(const Dir: string): Boolean; $[功能返回创建目录是否成功说明不支持多级目录;已经存在则返回False参考function例子:= CreateDir;━━━━━━━━━━━━━━━━━━━━━首部function RemoveDir(const Dir: string): Boolean; $[ 功能返回删除目录是否成功说明必须是空目录参考function例子:= RemoveDir;━━━━━━━━━━━━━━━━━━━━━首部function StrLen(const Str: PChar): Cardinal; $[功能返回指针字符串的长度说明当指针字符串Str为nil时将触发异常参考例子:= StrLen(PChar);━━━━━━━━━━━━━━━━━━━━━首部function StrEnd(const Str: PChar): PChar; $[功能返回指针字符串的结尾说明当指针字符串Str为nil时将触发异常参考例子:= StrEnd(PChar) - ;━━━━━━━━━━━━━━━━━━━━━首部function StrMove(Dest: PChar; const Source: PChar; Count: Cardinal): PChar; $[ 功能返回将指针字符串Source指定内存数量Count复制覆盖到指针字符串Dest中说明Dest没有分配资源将触发异常s参考function例子255] of Char;beginStrECopy(StrECopy(vBuffer, PChar), PChar);:= vBuffer;end;255] of Char;beginStrLCopy(vBuffer, PChar, ;:= vBuffer;end;255] of Char;beginStrPCopy(vBuffer, PChar);:= vBuffer;end;255] of Char;beginStrPLCopy(vBuffer, , ;:= vBuffer;end;255] of Char;beginStrPCopy(vBuffer, ;StrCat(vBuffer, PChar);:= vBuffer;end;255] of Char;beginStrPCopy(vBuffer, ;StrLCat(vBuffer, PChar, ;:= vBuffer;end;2005-7-26 摘要] 类型Format('x=%d', [12]); 3f, []); f', [5, ]); d', [12]); x', [12]); 0000C255] of Char;E: Extended;beginE := StrToFloatDef, 0);:= FloatToText(vBuffer, E,fvExtended, ffNumber, , ;:= Copy(vBuffer, 1, ;end;0', 90) = '1,234,567,'参考function例子:= FormatFloat, StrToFloatDef, 0));━━━━━━━━━━━━━━━━━━━━━首部function FormatCurr(const Format: string; Value: Currency): string; $[功能返回货币类型以指定格式字符串Format转换成字符串说明FormatCurr(',.00', 90) = '1,234,567,'参考function例子:= FormatCurr, StrToCurrDef, 0));━━━━━━━━━━━━━━━━━━━━━首部function FloatToTextFmt(Buf: PChar; const Value; ValueType: TFloatValue; Format:PChar): Integer; $[功能返回浮点数以指定格式字符串Format转换成指针字符串的内存大小说明ValueType指定无类型参数Value的类型参考例子255] of Char;E: Extended;beginE := StrToFloatDef, 0);:= FloatToTextFmt(vBuffer, E,fvExtended, PChar);:= Copy(vBuffer, 1, ;end;7] of string =('星期天', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六');begin:= cWeekCn[DayOfWeek(Now)];end;2002-03-092002年03月09日255] of Char;beginExceptionErrorMessage(Self, Self, vBuffer, 255);Caption := vBuffer;end;, '') = 16参考function ;function例子:= LastDelimiter, ;━━━━━━━━━━━━━━━━━━━━━首部function AnsiCompareFileName(const S1, S2: string): Integer; $[功能返回比较两个文件名说明当S1>S2返回值>0;当S1<s2返回值< bdsfid="265" p=""></s2返回值<>例子:= AnsiCompareFileName, ;━━━━━━━━━━━━━━━━━━━━━首部function SameFileName(const S1, S2: string): Boolean; $[功能返回两个文件名是否相等说明区分大小写参考function例子:= SameFileName, ;━━━━━━━━━━━━━━━━━━━━━首部function AnsiLowerCaseFileName(const S: string): string; $[功能返回小写文件名说明在非多字节字符系统上相当于AnsiLowerCase参考function例子:= AnsiLowerCaseFileName;━━━━━━━━━━━━━━━━━━━━━首部function AnsiUpperCaseFileName(const S: string): string;$[功能返回大写文件名说明在非多字节字符系统上相当于AnsiUpperCase参考function例子:= AnsiUpperCaseFileName;━━━━━━━━━━━━━━━━━━━━━首部function AnsiPos(const Substr, S: string): Integer; $[功能返回子串Substr在字符中第一次出现的位置说明不存在则返回0参考例子:= AnsiPos, ;━━━━━━━━━━━━━━━━━━━━━首部function AnsiStrPos(Str, SubStr: PChar): PChar; $[功能返回指针子串Substr在指针字符中第一次出现的指针位置说明不存在则返回nil参考function例子:= AnsiStrPos(PChar, PChar);━━━━━━━━━━━━━━━━━━━━━首部function AnsiStrRScan(Str: PChar; Chr: Char): PChar; $[ 功能返回在指针字符串Str搜索字符Chr最后一个出现的地址说明支持多字节字符系统;AnsiStrRScan('', '.') = ''参考function例子:= AnsiStrScan(PChar, '.');━━━━━━━━━━━━━━━━━━━━━首部function AnsiStrScan(Str: PChar; Chr: Char): PChar; $[ 功能返回在指针字符串Str搜索字符Chr第一个出现的地址说明支持多字节字符系统;AnsiStrRScan('', '.') = '.'参考function例子:= AnsiStrScan(PChar, '.');━━━━━━━━━━━━━━━━━━━━━首部function StringReplace(const S, OldPattern, NewPattern: string; Flags: TReplaceFlags): string; $[功能返回替换后的字符串说明rfReplaceAll为替换全部内容;rfIgnoreCase为忽略大小写参考function ;function ;function例子///////Begin StringReplaceprocedure (Sender: TObject);begin'[]'] :=StringReplace, , , []);'[rfReplaceAll]'] :=StringReplace, , , [rfReplaceAll]);'[rfIgnoreCase]'] :=StringReplace, , , [rfIgnoreCase]);'[rfReplaceAll, rfIgnoreCase]'] :=StringReplace, , , [rfReplaceAll, rfIgnoreCase]);end;///////End StringReplace━━━━━━━━━━━━━━━━━━━━━首部function WrapText(const Line, BreakStr: string; const BreakChars: TSysCharSet; MaxCol: Integer): string; overload; $[ 首部function WrapText(const Line: string; MaxCol: Integer = 45): string; overload; $[功能返回对字符串自动换行说明Result := WrapText(Line, sLineBreak, [' ', '-', #9], MaxCol);参考function ;function例子:= WrapText, ;━━━━━━━━━━━━━━━━━━━━━首部function FindCmdLineSwitch(const Switch: string; constChars: TSysCharSet; IgnoreCase: Boolean): Boolean; overload; $[ 首部function FindCmdLineSwitch(const Switch: string): Boolean; overload; $[首部function FindCmdLineSwitch(const Switch: string; IgnoreCase: Boolean): Boolean; overload; $[功能返回程序命令参数是否找到说明Result := FindCmdLineSwitch(Switch, SwitchChars, True);参考function ;function ;function例子:= FindCmdLineSwitch;━━━━━━━━━━━━━━━━━━━━━首部procedure FreeAndNil(var Obj); $[功能释放对象Obj并赋为空说明如果对象已经释放资源将触发异常参考type例子///////Begin FreeAndNilprocedure (Sender: TObject);varTemp: TObject;beginTemp := ;;ShowMessage(Format('%p', [Pointer(Temp)]));Temp := ;FreeAndNil(Temp);ShowMessage(Format('%p', [Pointer(Temp)]));end;///////End FreeAndNil━━━━━━━━━━━━━━━━━━━━━首部function Supports(const Instance: IInterface; const IID:TGUID; out Intf): Boolean; overload; $[首部function Supports(const Instance: TObject; const IID: TGUID; out Intf): Boolean; overload; $[首部function Supports(const Instance: IInterface; const IID: TGUID): Boolean; overload; $[首部function Supports(const Instance: TObject; const IID: TGUID): Boolean; overload; $[首部function Supports(const AClass: TClass; const IID: TGUID): Boolean; overload; $[功能返回对象是否支持指定的接口说明Result := (IID) <> nil;参考type例子━━━━━━━━━━━━━━━━━━━━━首部function CreateGUID(out Guid: TGUID): HResult; $[功能返回创建全局标识是否成功说明返回S_OK表示成功参考function例子///////Begin CreateGUIDprocedure (Sender: TObject);varvGUID: TGUID;beginCreateGUID(vGUID);:= GUIDT oString(vGUID);end;///////End CreateGUID━━━━━━━━━━━━━━━━━━━━━首部function StringToGUID(const S: string): TGUID; $[功能返回字符串S转换成全局标识说明如果字符串非法将触发异常参考fuction例子:= GUIDT oString(StringT oGUID);━━━━━━━━━━━━━━━━━━━━━首部function GUIDToString(const GUID: TGUID): string; $[功能返回全局标识GUID转换成字符串说明参考fuction例子:= GUIDT oString(StringT oGUID);━━━━━━━━━━━━━━━━━━━━━首部function IsEqualGUID(const guid1, guid2: TGUID): Boolean; $[功能返回两个全局标识是否相同说明function IsEqualGUID; external '' name 'IsEqualGUID';参考例子:= IsEqualGUID(StringToGUID, StringToGUID);━━━━━━━━━━━━━━━━━━━━━首部function LoadPackage(const Name: string): HMODULE; $[功能返回载入包资源说明参考function ;function ;function例子━━━━━━━━━━━━━━━━━━━━━首部procedure UnloadPackage(Module: HMODULE); $[功能取消载入包资源说明参考function ;function例子━━━━━━━━━━━━━━━━━━━━━首部procedure GetPackageInfo(Module: HMODULE; Param: Pointer; var Flags: Integer; InfoProc: TPackageInfoProc); $[ 功能返回包的信息说明参考例子━━━━━━━━━━━━━━━━━━━━━首部function GetPackageDescription(ModuleName: PChar): string; $[功能返回包的描述说明参考function ;function例子━━━━━━━━━━━━━━━━━━━━━首部procedure InitializePackage(Module: HMODULE); $[功能初始化包说明参考function例子━━━━━━━━━━━━━━━━━━━━━首部procedure FinalizePackage(Module: HMODULE); $[功能终止化包说明参考function例子━━━━━━━━━━━━━━━━━━━━━首部procedure RaiseLastOSError; $[功能触发操作系统的最后一个异常说明如果没有出现异常则默认调用Api函数异常参考function例子RaiseLastOSError;━━━━━━━━━━━━━━━━━━━━━首部procedure RaiseLastWin32Error; deprecated; $[功能触发Win32系统的最后一个异常说明如果没有出现异常则默认调用Api函数异常参考function ;例子RaiseLastWin32Error;━━━━━━━━━━━━━━━━━━━━━首部function Win32Check(RetVal: BOOL): BOOL; platform; $[ 功能返回检测调用系统Api函数返回结果说明如果RetVal为False则触发异常参考function例子:= Win32Check;━━━━━━━━━━━━━━━━━━━━━首部procedure AddTerminateProc(TermProc: TTerminateProc); $[ 功能添加一个退出过程到系统中说明执行AddTerminateProc(nil)将导致系统异常参考const例子///////Begin AddT erminateProcfunction NewTerminateProc: Boolean;beginResult := True;ShowMessage('NewTerminateProc');end;procedure (Sender: TObject);beginAddTerminateProc(NewTerminateProc);end;///////End AddTerminateProc━━━━━━━━━━━━━━━━━━━━━首部function CallTerminateProcs: Boolean; $[功能返回调用退出过程是否成功说明不建议调用参考const例子CallTerminateProcs;━━━━━━━━━━━━━━━━━━━━━首部function GDAL: LongWord; $[功能说明参考例子━━━━━━━━━━━━━━━━━━━━━首部procedure RCS; $[说明参考例子━━━━━━━━━━━━━━━━━━━━━首部procedure RPR; $[功能说明参考例子━━━━━━━━━━━━━━━━━━━━━首部function SafeLoadLibrary(const Filename: string; ErrorMode: UINT = SEM_NOOPENFILEERRORBOX): HMODULE; $[功能返回安全方式载入动态连接库资源说明<参见LoadLibrary>参考function例子━━━━━━━━━━━━━━━━━━━━━首部function GetEnvironmentVariable(const Name: string): string; overload; $[功能返回过程环境变量说明配合SetEnvironmentVariable函数使用参考function例子:= GetEnvironmentVariable;///////Begin GetEnvironmentVariableprocedure (Sender: TObject);beginSetEnvironmentVariable(PChar, PChar);:= GetEnvironmentVariable;end;///////End GetEnvironmentVariable━━━━━━━━━━━━━━━━━━━━━首部function InterlockedIncrement(var I: Integer): Integer; $[ 功能说明Kylix函数参考例子━━━━━━━━━━━━━━━━━━━━━首部function InterlockedDecrement(var I: Integer): Integer; $[功能说明Kylix函数参考例子━━━━━━━━━━━━━━━━━━━━━首部function InterlockedExchange(var A: Integer; B: Integer): Integer; $[说明Kylix函数参考例子━━━━━━━━━━━━━━━━━━━━━首部function InterlockedExchangeAdd(var A: Integer; B: Integer): Integer; $[ 功能说明Kylix函数参考例子━━━━━━━━━━━━━━━━━━━━━。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Delphi内部函数--
参数传递
自定义过程procedure p1(a:integer,var b:real,const c:string)a,b,c 为形式参数
调用过程p1(a1, b1, c1 ) a1,b1,c1为实际参数
传递数值
定义过程定义过程或函数时,在形参前不加保留字或加const
Procedure swap1(a , b :integer) 或Procedure swap1(const a , b :integer)
var c :integer
begin c:=a;a:=b;b:=c; end;{a,b数值交换}
函数中用语句swap1(a1,b1)调用过程swap1(a , b :integer),实参a1,b1数值传递给形参a,b,然后a,b数值交换,但运算后实参a1,b1数值不变,不进行交换
传递地址
Procedure swap2(var a , b :integer) 或Procedure swap2(out a , b :integer)
var c :integer 即定义过程或函数时,在形参前加保留字var或out
begin begin c:=a;a:=b;b:=c; end;{a,b数值交换}
形参前加var后实参和形参公用内存地址,将实参的内存地址传递给形参,语句swap2(a2,b2)调用swap2(var a , b :integer)后内存中数值改变形参a,b数值交换,同时实参a2,b2的数值也交换
Delphi 参数作用范围
Project1
参数作用范围
从小到大:过程/函数级,单元级、程序级;
过程/函数级:在Function或Procedure内部定义的标示符,作用范围局限在该Function 或Procedure内,其它的Function或Procedure不能调用。
局部变量
单元级:在每个单元的Implementation部分声明的标示符,作用范围包括该单元的所有Function和Procedure,其它Unit的Function和Procedure不能调用。
单元全局变量
程序级:在每个单元的Interface部分声明的标示符,作用范围最大,可以被其它unit的Function和Procedure调用。
程序全局变量
调用方法如下:
如果在Unit A中访问Unit B在Interface部分声明的变量VarofUnitB,首先在UnitA的Uses子句中加入UnitB,其次在访问VarOfUnitB时,加上限定UnitB.VarOfUnitB,又称限定标示符,语法格式如下:
<单元名>.<标示符>。