(DELPHI)API函数大全
Delphi 常用API 函数
1.Delphi 常用API 函数2.3.AdjustWindowRect 给定一种窗口样式,计算获得目标客户区矩形所需的窗口大小4.AnyPopup 判断屏幕上是否存在任何弹出式窗口5.ArrangeIconicWindows 排列一个父窗口的最小化子窗口6.AttachThreadInput 连接线程输入函数7.BeginDeferWindowPos 启动构建一系列新窗口位置的过程8.BringWindowToTop 将指定的窗口带至窗口列表顶部9.CascadeWindows 以层叠方式排列窗口10.ChildWindowFromPoint 返回父窗口中包含了指定点的第一个子窗口的句柄11.12.ClientToScreen 判断窗口内以客户区坐标表示的一个点的屏幕坐标13.CloseWindow 最小化指定的窗口14.CopyRect 矩形内容复制15.DeferWindowPos 该函数为特定的窗口指定一个新窗口位置16.DestroyWindow 清除指定的窗口以及它的所有子窗口17.DrawAnimatedRects 描绘一系列动态矩形18.EnableWindow 指定的窗口里允许或禁止所有鼠标及键盘输入19.EndDeferWindowPos 同时更新DeferWindowPos调用时指定的所有窗口的位置及状态20.EnumChildWindows 为指定的父窗口枚举子窗口21.22.EnumThreadWindows 枚举与指定任务相关的窗口23.EnumWindows 枚举窗口列表中的所有父窗口24.EqualRect 判断两个矩形结构是否相同25.FindWindow 寻找窗口列表中第一个符合指定条件的顶级窗口26.FindWindowEx 在窗口列表中寻找与指定条件相符的第一个子窗口27.FlashWindow 闪烁显示指定窗口28.GetActiveWindow 获得活动窗口的句柄29.GetCapture 获得一个窗口的句柄,这个窗口位于当前输入线程,且拥有鼠标捕获(鼠标活动由它接收)30.GetClassInfo 取得WNDCLASS结构(或WNDCLASSEX结构)的一个副本,结构中包含了与指定类有关的信息31.32.GetClassLong 取得窗口类的一个Long变量条目33.GetClassName 为指定的窗口取得类名34.GetClassWord 为窗口类取得一个整数变量35.GetClientRect 返回指定窗口客户区矩形的大小36.GetDesktopWindow 获得代表整个屏幕的一个窗口(桌面窗口)句柄37.GetFocus 获得拥有输入焦点的窗口的句柄38.GetForegroundWindow 获得前台窗口的句柄39.GetLastActivePopup 获得在一个给定父窗口中最近激活过的弹出式窗口的句柄40.GetLastError 针对之前调用的api函数,用这个函数取得扩展错误信息41.42.GetParent 判断指定窗口的父窗口43.GetTopWindow 搜索内部窗口列表,寻找隶属于指定窗口的头一个窗口的句柄44.GetUpdateRect 获得一个矩形,它描叙了指定窗口中需要更新的那一部分45.GetWindow 获得一个窗口的句柄,该窗口与某源窗口有特定的关系46.GetWindowContextHelpId 取得与窗口关联在一起的帮助场景ID47.GetWindowLong 从指定窗口的结构中取得信息48.GetWindowPlacement 获得指定窗口的状态及位置信息49.GetWindowRect 获得整个窗口的范围矩形,窗口的边框、标题栏、滚动条及菜单等都在这个矩形内50.51.GetWindowText 取得一个窗体的标题(caption)文字,或者一个控件的内容52.GetWindowTextLength 调查窗口标题文字或控件内容的长短53.GetWindowWord 获得指定窗口结构的信息54.InflateRect 增大或减小一个矩形的大小55.IntersectRect 这个函数在lpDestRect里载入一个矩形,它是lpSrc1Rect与lpSrc2Rect两个矩形的交集56.InvalidateRect 屏蔽一个窗口客户区的全部或部分区域57.IsChild 判断一个窗口是否为另一窗口的子或隶属窗口58.59.IsIconic 判断窗口是否已最小化60.IsRectEmpty 判断一个矩形是否为空61.IsWindow 判断一个窗口句柄是否有效62.IsWindowEnabled 判断窗口是否处于活动状态63.IsWindowUnicode 判断一个窗口是否为Unicode窗口。
更全的Delphi函数参考大全
更全的Delphi函数参考⼤全Delphi函数参考⼤全⽥秧收集整理第1章字符串处理函数1.1 AdjustLineBreaks(S,Style) 返回将字符串的⾏分隔符调整为CR/LF序列1.2 AnsiCompareStr(S1,S2) 反回⽐较两个字符串1.3 AnsiCompareText(S1,S2) 反回⽐较两个字符串1.4 AnsiContainsStr(串1,串2) 返回字符串1是否包含⼦串21.5 AnsiContainsText(串1,串2) 返回字符串1是否包含⼦串21.6 AnsiDeQdStr(S,Q) 返回以字符Q为引号的表现形式原形1.7 AnsiEndsStr(串2,串1) 返回字符串1是否以⼦串2结尾1.8 AnsiEndsText(串2,串1) 返回字符串1是否以⼦串2结尾1.9 AnsiExtractQdStr(varSrc,Q) 返回以字符Q为引号的表现形式原形1.10 AnsiIndexStr(串1, 数组) 返回字符串1在字符串数组数组中的位置1.11 AnsiIndexText(串1, 数组) 返回字符串1在字符串数组数组中的位置1.12 AnsiLastChar(S) 返回字符串S的最后⼀个指针字符1.13 AnsiLowerCase(S) 返回字符串S的⼩写形式1.14 AnsiMatchStr(串1, 数组) 返回字符串数组数组中是否包含字符串11.15 AnsiMatchText(串1, 数组) 返回字符串数组数组中是否包含字符串11.16 AnsiQdStr(S,Q) 返回字符串S以字符Q为引号的表现形式1.17 AnsiReplaceStr(串1,串2,串3) 返回字符串1中⽤⼦串2替换成⼦串3的结果1.18 AnsiReplaceText(串1,串2,串3) 返回字符串1中⽤⼦串2替换成⼦串3的结果1.19 AnsiResemblesText(串1, 串2) 返回两个字符串是否相似1.20 AnsiSameStr(S1,S2) 返回两个字符串是否相等1.21 AnsiSameText(S1,S2) 返回两个字符串是否相等1.22 AnsiStartsStr(串2,串1) 返回字符串1是否以⼦串2开头1.23 AnsiStartsText(串2,串1) 返回字符串1是否以⼦串2开头1.24 AnsiStrComp(S1,S2) 返回⽐较两个指针字符串1.25 AnsiStrIComp(S1,S2) 返回⽐较两个指针字符串1.26 AnsiString 短字符串转为长字符串1.27 AnsiStrLastChar(P) 返回指针字符串P的最后⼀个指针字符1.28 AnsiStrLComp(S1,S2,N) 返回⽐较两个指针字符串指定长度1.29 AnsiStrLComp函数返回⽐较两个指针字符串指定长度1.30 AnsiStrLIComp(S1,S2,N) 返回⽐较两个指针字符串指定长度1.31 AnsiStrLower(Str) 返回指针字符串⼩写形式1.32 AnsiStrPos函数返回指针字符串Str2在Str1中第⼀个出现的地址1.33 AnsiStrRScan函数返回指针字符串Str2在Str1中最后⼀个出现的地址1.34 AnsiStrScan函数返回指针字符串Str2在Str1中第⼀个出现的地址1.35 AnsiStrUpper(Str) 返回指针字符串⼤写形式1.36 AnsiUpperCase(S) 返回字符串S的⼤写形式1.37 AppendStr(P, S) 在字符串P后追加字符串S1.38 AssignStr(P, S) 将字符串S更新给字符串指针P1.39 ByteToBin 字节转⼆进制串1.40 CompareMem(P1,P2,N) 返回⽐较两个内存指针1.41 CompareStr(S1,S2) 返回⽐较两个字符1.42 CompareText(S1,S2) 返回⽐较两个字符串1.43 Concat函数连接两个或多个字符串为⼀个字符串1.44 Copy函数返回字符串1从K开始的N个字符1.45 DecodeSoundexInt(AValue) 返回探测整数的解码1.46 DecodeSoundexWord(AValue) 返回探测⽂字数值的解码1.47 Delete(s,k,n)过程删除字符串中指定的字符串1.48 DisposeStr(P) 释放字符串指针P资源1.49 DupeString(串1,N) 返回字符串1的N个复本1.50 ExtractStrings函数1.51 GetHzPy 取汉字的拼⾳1.52 High(数组) 返回数组下标的最⼤值1.53 IfThen(AValue ATrue,AFalse) 返回指定的逻辑字符串1.54 Insert(s1,s2,n)过程插⼊⼀个字符(串)1.55 InStr 判断s1是否包含在s2中1.56 IntToByte 返回整数Value转换成字节数1.57 IntToHex(ValueDigits) 返回整数Value转换成⼗六进制表现结果1.58 IntToStr(Value) 返回整数Value转换成字符串1.59 IntToStrSp 带分隔符的整数-字符转换1.60 IsValidIdent(Ident) 返回字符串Ident是否是正确的标识符1.61 LeftStr(串1, N) 返回字符串1左边的N个字符1.62 Length函数返回指定字符串的长度1.63 LineStart函数1.64 LinesToStr 多⾏⽂本转单⾏(换⾏符转’\n’)1.65 Low(数组) 返回数组下标的最⼩值1.66 LowerCase(S) 返回字符串S的⼩写形式1.67 MidStr(串1,K,N) 返回字符串1从K开始的N个字符1.68 NewStr(S) 返回⼀个新的字符串指针地址1.69 Pchar(S)函数长字符串变量S转为指针类型1.70 PosEx函数返回指针字符串Str2在Str1中第⼀个出现的地址1.71 Pos函数返回指针字符串Str2在Str1中第⼀个出现的地址1.72 QdStr(S) 返回字符串S在pascal中的表现形式1.73 QuotedStr函数返回字符串S在pascal中的表现形式1.74 RandomFrom(数组) 随机返回字符串数组数组中的⼀个元素1.75 ReverseString(串1) 返回字符串1的反序1.76 RightStr(串1, N) 返回字符串1右边的N个字符1.77 SameText(S1,S2) 返回两个字符串是否相等1.78 SearchBuf() 返回第⼀个搜索到的指针位置1.79 SetLength(S,n)过程设置字符串或动态数组长度1.80 SetString过程1.81 ShortString 长字符串转为短字符串1.82 Soundex(串1,N) 返回探测字符串1.83 SoundexCompare(串1,串2,N) 返回⽐较两个字符串的探测字符串的结果1.84 SoundexInt(串1,N) 返回探测整数1.85 SoundexProc(串1,串2) 返回两个字符串的探测字符串是否相同1.86 SoundexSimilar(串1,串2,N) 返回两个字符串的探测字符串是否相同1.87 SoundexWord(串1) 返回探测⽂字数值1.88 Spc 返回空格串1.89 StrCat函数连接两个指针字符串1.90 StrComp函数⽐较两个指针字符串1.91 StrCopy函数将指针字符串2复制到指针字符串1中1.92 StrECopy函数将⼀个串复制到另⼀个串并返回结果字符串尾部的指针1.93 StrEnd函数返回指向字符串尾部的指针1.94 StringOfChar函数1.95 StringReplace函数返回字符串1中⽤⼦串2替换成⼦串3的结果1.96 StrLCat函数将⼀串中的字符附加到另⼀串尾并返回合并的字符串1.97 StrLComp函数返回⽐较两个指针字符串指定长度1.98 StrLCopy函数将指针字符串2指定长度n复制到指针字符串1中1.99 StrLen函数返回字符串中的字符数1.100 StrLIComp函数以最⼤长度⽐较两个字符串(不区分⼤⼩写)1.101 StrLower函数返回字符串S的⼩写形式1.102 StrMove函数将指针串2指定内存数量n复制覆盖到指针串1中1.103 StrPCopy函数返回将指针字符串2复制到指针字符串1中1.104 StrPLCopy函数将字符串2指定长度n复制到指针字符串1中1.105 StrPos函数返回指针字符串Str2在Str1中第⼀个出现的地址1.106 StrRScan函数返回指针字符串Str2在Str1中最后⼀个出现的地址1.107 StrScan函数返回指针字符串Str2在Str1中第⼀个出现的地址1.108 StrToBool(S) 返回字符串S转换成逻辑值1.109 StrToBoolDef(S, Default) 返回字符串S转换成逻辑值1.110 StrToInt(S) 返回字符串S转换成整数1.111 StrToInt64(S) 返回字符串S转换成六⼗四位整数1.112 StrToInt64Def(S, Default) 返回字符串S转换成六⼗四位整数1.113 StrToIntDef(S,Default) 返回字符串S转换成整数1.114 StrToLines 单⾏⽂本转多⾏(’\n’转换⾏符)1.115 StrUpper函数返回字符串S的⼤写形式1.116 Str过程将数值转换为字符串1.117 StuffString(串1,K,N, 串2) 返回嵌套字符串1.118 StuffString函数返回嵌套字符串1.119 SwapStr 交换字串1.120 Trim(S) 返回除去字符串S左右不可见字符1.121 TrimLeft(S) 返回除去字符串S左边不可见字符1.122 TrimRight(S) 返回除去字符串S右边不可见字符1.123 TryStrToBool(S,outValue) 返回字符串S转换成逻辑值Value是否成功1.124 TryStrToInt(S,outValue) 返回字符串S转换成整数Value是否成功1.125 TryStrToInt64(S,outValue) 返回字串S转换成六⼗四位整数值是否成功1.126 UpperCase(S) 返回字符串S的⼤写形式1.127 Val过程将字符串转换为整型值1.128 VarArrayCreate([0,n],类型) 创建⼀个指定类型的数组1.129 VarArrayHighBound(Array,1) 返回数组上标1.130 VarArrayLowBound(Array,1) 返回数组下标1.131 VarArrayOf(S1,S2...Sn) 变量转数组1.132 VarType(vS) 返回变体类型的类型代码1.133 WideCompareStr(S1,S2) 返回⽐较两个双字节字符串1.134 WideCompareText(S1,S2) 返回⽐较两个双字节字符串1.135 WideLowerCase(S) 返回双字节字符串的⼩写形式1.136 WideSameStr(S1,S2) 返回两个双字节字符串是否相同1.137 WideSameText(S1,S2) 返回两个双字节字符串是否相同1.138 WideUpperCase(S) 返回双字节字符串的⼤写形式第2章数学计算函数2.1 Abs函数绝对值2.2 Ceil(const X:Extended):Integer 返回最⼩整数>=X,|X|2.3 CompareValue函数浮点数⽐较2.4 DivMod过程16位整数除法⼀次调⽤得出结果和余数2.5 EnsureRange函数范围切断函数2.6 Exp函数e的X次⽅(e=1.7314626)2.7 Floor(const X:Extended):Integer 返回最⼤整数<=X,|X|2.8 Frac函数返回参数的⼩数部分2.9 InRange函数范围测试函数2.10 Int函数取整2.11 IsZero函数零测试,若值为0(或者是⾮常⾮常接近于0)则返回真2.12 Ldexp函数返回X*2^P 2.13 Ln函数⾃然对数函数2.14 Log10函数常⽤对数函数2.15 Log2函数基数为2的X对数2.16 LogN函数基数为N的X对数2.17 Max函数最⼤值2.18 Min函数最⼩值2.19 Pi函数返回圆周率Pi2.20 Poly(const X:Extended;constCoefficients:arrayofDouble):Extended 计算⼀元多项式A[0]+A[1]*X+...+A[N]*X^N在变量X时的值2.21 Power函数指数函数:任意基数的任意幂2.22 Randomize 随机种⼦2.23Random[(Range:Integer)] 整数参数返回0<=Random(Range)2.24 RoundTo函数如Frac(X)<0.5则返回X否则返回X+1,其缺省凑整到1/1002.25 SameValue函数浮点数⽐较:两数是否相等2.26 Sign函数符号函数2.27 Sqr函数平⽅函数2.28 Sqrt函数平⽅根函数2.29 Trunc函数将实型值截取为整型值2.30 VarComplexAbs函数2.31 VarComplexAbsSqr函数2.32 VarComplexAngle函数第3章序数函数3.1 Inc过程参数⾃加3.2 Odd函数判断是否是奇数3.3 Ord函数返回⼀序数类型所对应的序数值3.4 Pred函数返回序数的前者3.6 Succ函数返回序数的后者3.5 Dec 函数参数⾃减第4章、三⾓函数4.1 ArcCos函数返回余弦函数的反函数值4.2 ArcCosh函数返回余弦函数的反函数值4.3 ArcCot函数返回余切函数的反函数值4.4 ArcCoth函数返回余切函数的反函数值4.5 ArcCsc函数返回余割函数的反函数值4.6 ArcCsch函数返回余割函数的反函数值4.7 ArcSec函数返回正割函数的反函数值4.8 ArcSech函数返回正割函数的反函数值4.9 ArcSin函数返回正弦函数的反函数值4.1 ArcSinh函数返回正弦函数的反函数值4.1 ArcTan函数返回正切函数的反函数值4.1 ArcTan2函数返回正切函数的反函数值4.1 ArcTanh函数返回正切函数的反函数值4.1 Cos函数返回余弦函数值4.2 CoseCant函数返回余割函数值4.2 Cosh函数返回余弦函数值4.2 Cot函数返回余切函数值4.2 Cotan函数返回余切函数值4.2 Csc函数返回余割函数值4.2 Csch函数返回余割函数值4.2 Hypot函数返回余弦函数值4.2 Sec函数返回正割函数值4.2 Secant函数返回正割函数值4.2 Sech函数返回正割函数值4.3 Sin函数返回正弦函数值4.3 SinCos函数返回正余弦函数值4.3 Sinh函数返回正弦函数值4.3 Tan函数返回正切函数值4.3 Tanh函数返回正切函数值4.3 Coth函数返回余割函数值第5章、统计函数5.1 MaxIntValue函数返回Integer数组中最⼤整数5.2 MaxValue函数返回Double数组最⼤数5.3 Max函数返回参数组最⼤数5.4 MeanAndStdDev过程在⼀次调⽤中计算算术平均值(Mean)和标准偏差(StdDev)5.5 Mean函数算术平均值5.6 MinIntValue函数返回Integer数组中最⼩整数5.7 MinValue函数返回Double数组中最⼩数5.8 Min函数返回参数组最⼩数5.9 MomentSkewKurtosis函数计算统计分解的核⼼因数5.10 Norm函数欧⼏⾥得L2-范数5.11 PopnStdDev函数总体标准差5.12 PopnVariance函数总体⽅差5.13 StdDev函数样本标准偏差5.14 SumInt函数求Integer数和5.15 SumOfSquares函数求Double平⽅和5.16 SumsAndSquares过程返回Double总和、平⽅和5.17 Sum函数求Double数的和5.18 TotalVariance函数⽅差总合5.19 Variance函数采样⽅差(样品⽅差)5.20 TrimInt(N,Min,Max:Integer):Integer 输出限制在Min..Max之间5.21 InBound(N,Min,Max:Integer):Boolean 输出是否在0..255之间第6章、⾦融函数6.1 InterestPayment函数利息收⼊(IPAYMT)6.2 FutureValue函数未来值(终值(FVAL))6.3 Payment函数6.4 PeriodPayment函数⽀付周期6.5 NetPresentValue函数现在净价值,纯现值(NPV),需要现⾦流数组6.6 InternalRateOfReturn函数内部盈利率(利润率) (IRR)需要现⾦流数组6.7 DoubleDecliningBalance函数6.8 SYDDepreciation函数折旧{Sum-of-Years-Digitsdepreciation(SYD)} 6.9 SLNDepreciation函数直线折旧{StraightLinedepreciation(SLN)} 6.10 PresentValue函数现值6.11 InterestRate 利率(IRATE)6.12 NumberOfPeriods 周期数{NumberofPeriods(NPER)}第7章、随机数函数7.1 RandG函数产⽣⼀个随机数,随机数符合正态分布Mean数附近,⽤于模拟数据抽取样品误差7.2 Random函数由“种⼦”初始化的随机数出发,开始产⽣随机数序列7.3 RandomFrom函数随机返回字符串数组AValues中的⼀个元素7.4 Randomize过程⽤当前机器时间作为随机数“种⼦”初始化随机数发⽣器7.5 RandomRange函数返回指定整数范围内的随机整数7.6 RandSeed函数随机数发⽣的“种⼦”第8章、单位换算函数8.1 CelsiusToFahrenheit函数8.2 CompatibleConversionType函数8.3 CompatibleConversionTypes函数8.4 Convert函数数据类型转换8.5 ConvertFrom函数数据类型转换8.6 ConvertTo函数数据类型转换8.7 ConvFamilyToDescription函数8.8 ConvTypeToDescription函数8.9 ConvTypeToFamily函数8.10 ConvUnitAdd函数8.11 ConvUnitCompareValue函数8.12 ConvUnitDec函数8.13 ConvUnitDiff函数8.14 ConvUnitInc函数8.15 ConvUnitSameValue函数8.16 ConvUnitToStr函数8.17 ConvUnitWithinNext函数8.18 ConvUnitWithinPrevious函数8.19 CycleToDeg函数圆周转度数8.20 CycleToRad函数圆周转弧度8.21 CycleToGrad函数圆周转梯度8.22 DateTimeToJulianDate函数8.23 DateTimeToModifiedJulianDate函数8.24 DateTimeToUnix函数8.25 DegToCycle函数度数转圆周8.26 DegToGrad函数度数转梯度8.27 DegToRad函数度数转弧度8.28 DescriptionToConvFamily函数8.29 DescriptionToConvType函数8.30 FahrenheitToCelsius函数8.31 GetConvFamilies过程8.32 GetConvTypes过程8.33 GradToCycle函数梯度转圆周8.34 GradToDeg函数梯度转度数8.35 GradToRad函数梯度转弧数8.36 JulianDateToDateTime函数8.37 RadToCycle函数弧度转圆周8.38 RadToDeg函数弧度转度数8.39 RadToGrad函数弧度转梯数8.40RaiseConversionError过程8.41 RegisterConversionFamily函数8.42 RegisterConversionType函数8.43 StrToConvUnit函数8.44 TryConvTypeToFamily函数8.45 TryJulianDateToDateTime函数8.46 TryModifiedJulianDateToDateTime函数8.47 TryStrToConvUnit函数8.48 UnixToDateTime函数8.49 UnregisterConversionFamily过程8.50 UnregisterConversionType过程第9章、⽇期函数9.1 CheckSqlTimeStamp过程9.2 CompareDateTime函数⽐较两个⽇期时间9.3 CompareDate函数⽐较两个⽇期9.4 CompareTime函数⽐较两个时间9.5 CurrentYear函数返回当前年份9.6 DateOf函数返回当前的⽇期的时间部分9.7 DateTimeToFileDate函数将DELPHI的⽇期格式转换为DOS的⽇期格式9.8 DateTimeToSQLTimeStamp函数返回当前的⽇期9.9 DateTimeToString过程将⽇期时间格式转换为字符串9.10 DateTimeToStr函数将⽇期时间格式转换为字符串9.11 DateTimeToSystemTime过程⽇期时间类型转换成系统时间类型9.12 DateTimeToTimeStamp函数返回当前的⽇期9.13 DateToStr函数将⽇期格式转换为字符串9.14 Date函数返回当前的⽇期9.15 DayOfTheMonth函数⼀⽉的第⼏天9.16 DayOfTheWeek函数⼀周的第⼏天9.17 DayOfTheYear函数⼀年的第⼏天9.18 DayOfWeek函数返回星期的数值9.19 DayOf函数返回⽇为⼀年的第⼏天9.20 DaysBetween函数两个⽇期的差距天数9.21 DaysInAMonth函数该⽉份的总天数9.22 DaysInAYear函数得到该年份的总天数9.23 DaysInMonth函数该⽉份的总天数9.24 DaysInYear函数得到该年份的总天数9.25 DaySpan函数能得到在天数上的差距9.26 DecodeDateDay过程递减变量值9.27 DecodeDateFully函数递减变量值9.28 DecodeDateMonthWeek过程递减变量值9.29 DecodeDateTime过程递减变量值9.30 DecodeDateWeek过程递减变量值9.31 DecodeDate过程将⽇期格式分解为年⽉⽇9.32 DecodeDayOfWeekInMonth过程递减变量值9.33 DecodeTime过程将时间格式分解为时、分、秒、毫秒9.34 EncodeDateDay函数将年⽉⽇合成为⽇期格式9.35 EncodeDateMonthWeek函数将年⽉⽇合成为⽇期格式9.36 EncodeDateTime函数将年⽉⽇合成为⽇期格式9.37 EncodeDateWeek函数将年⽉⽇合成为⽇期格式9.38 EncodeDate函数将年⽉⽇合成为⽇期格式9.39 EncodeDayOfWeekInMonth函数9.40 EncodeTime函数将时、分、秒、毫秒合成为时间格式9.41 EndOfADay函数每⽇的结束的时间9.42 EndOfAMonth函数每⽉的结束的时间9.43 EndOfAWeek函数每周的结束的时间9.44 EndOfAYear函数每年的结束的时间9.45 EndOfTheDay函数每⽇的结束的时间9.46 EndOfTheMonth函数每⽉的结束的时间9.47 EndOfTheWeek函数每周的结束的时间9.48 EndOfTheYear函数每年的结束的时间9.49 FormatDateTime函数⽤指定的格式来格式化⽇期和时间9.50 GetDay(Date:TDate):Integer 取⽇期天数分量9.51 GetHour(Time:TTime):Integer 取时间⼩时分量9.52 GetMinute(Time:TTime):Integer 取时间分钟分量9.53 GetMonth(Date:TDate):Integer 取⽇期⽉份分量9.54 GetMSecond(Time:TTime):Integer 取时间毫秒分量9.55 GetSecond(Time:TTime):Integer 取时间秒分量9.56 GetTime函数返回当前的时间9.57 GetYear(Date:TDate):Integer 取⽇期年份分量9.58 HourOfTheDay函数9.59 HourOfTheMonth函数9.60 HourOfTheWeek函数9.61 HourOfTheYear函数9.62 HourOf函数返回⼩时为⼀年的第⼏⼩时9.63 HoursBetween函数得到两个⽇期在⼩时上差距数9.64 HourSpan函数得到这两个时间在⼩时上的差数9.65 IncAMonth函数N个⽉后的⽇期9.66 IncDay函数N天后的⽇期9.67 IncHour函数N⼩时后的⽇期时间9.68 IncMilliSecond函数N个⽉后的⽇期9.69 IncMinute函数N分钟后的⽇期时间9.70 IncMonth函数N个⽉后的⽇期9.71 IncSecond函数N秒后的⽇期时间9.72 IncWeek函数N周后的⽇期9.73 IncYear函数N年后的⽇期9.74 IsInLeapYear函数9.75 IsLeapYear函数判断指定的年份是否是闰年9.76 IsPM函数判断指定时间是⽩天还是⿊夜9.77 IsSameDay函数判断是不是同⼀天9.78 IsToday函数判断是不是今天9.79 IsValidDateDay函数判断时间是否合法9.80 IsValidDateMonthWeek函数判断时间是否合法9.81 IsValidDateTime函数判断时间是否合法9.82 IsValidDateWeek函数判断时间是否合法9.83 IsValidDate函数判断时间是否合法9.84 IsValidTime函数判断时间是否合法9.85 MilliSecondOfTheDay函数9.86 MilliSecondOfTheHour函数9.87 MilliSecondOfTheMinute函数9.88 MilliSecondOfTheMonth函数9.89 MilliSecondOfTheSecond函数9.90 MilliSecondOfTheWeek函数9.91 MilliSecondOfTheYear函数9.92 MilliSecondOf函数9.93 MilliSecondsBetween函数9.94 MilliSecondSpan函数9.95 MinuteOfTheDay函数最⼩值9.96 MinuteOfTheHour函数最⼩值9.97 MinuteOfTheMonth函数最⼩值9.98 MinuteOfTheWeek函数最⼩值9.99 MinuteOfTheYear函数最⼩值9.100 MinuteOf函数最⼩值9.101 MinutesBetween函数得到两个⽇期在秒上差距数9.102 MinuteSpan函数得到两个⽇期在秒上差距数9.103 MonthOfTheYear函数得到该年份的该⽉份数9.104 MonthOf函数得到该年份的该⽉份数9.105 MonthsBetween函数得到两个⽇期在⽉份上差距数9.106 MonthSpan函数得到两个时间在⽉上的差数9.107 Now函数返回当前的⽇期和时间9.108 NthDayOfWeek函数9.109 RecodeDateTime函数修改⽇期时间9.110 RecodeDate函数修改⽇期9.111 RecodeDay函数修改⽇数9.112 RecodeHour函数修改⼩时数9.113 RecodeMilliSecond函数修改毫秒数9.114 RecodeMinute函数修改秒数9.115 RecodeMonth函数修改⽉份9.116 RecodeSecond函数修改分钟数9.117 RecodeTime函数修改时间9.118 RecodeYear函数修改年度9.119 ReplaceDate过程使⽤新⽇期替换原⽇期部分,但不改变时间部9.120 ReplaceTime过程使⽤新时间替换原时间部分,但不改变⽇期部9.121 SameDateTime函数返回两个⽇期时间是否相等9.122 SameDate函数返回两个⽇期是否相等9.123 SameTime函数返回两个时间是否相等9.124 SecondOfTheDay函数得到该⽇期的分钟数字9.125 SecondOfTheHour函数9.126 SecondOfTheMinute函数9.127 SecondOfTheMonth函数9.128 SecondOfTheWeek函数9.129 SecondOfTheYear函数9.130 SecondOf函数得到该⽇期的分钟数字9.131 SecondsBetween函数得到这两个时间在分钟上的差数9.132 SecondSpan函数得到这两个时间在分钟上的差数9.133 SQLDayOfWeek函数9.134 SQLTimeStampToDateTime函数9.135 SQLTimeStampToStr函数9.136 StartOfADay函数每⽇的开始的时间9.137 StartOfAMonth函数每⽉的开始的时间9.138 StartOfAWeek函数每周的开始的时间9.139 StartOfAYear函数每年的开始的时间9.140 StartOfTheDay函数每⽇的开始的时间9.141 StartOfTheMonth函数每⽉的开始的时间9.142 StartOfTheWeek函数每周的开始的时间9.143 StartOfTheYear函数每年的开始的时间9.144 StrToDateDef函数将数值转换为字符串9.145 StrToDateTimeDef函数将数值转换为字符串9.146 StrToDateTime函数将字符串转换为⽇期/时间格式9.147 StrToDate函数将字符串转换为⽇期格式9.148 StrToSQLTimeStamp函数将数值转换为字符串9.149 StrToTimeDef函数将数值转换为字符串9.150 StrToTime函数将字符串转换为时间格式9.151 SystemTimeToDateTime函数系统⽇期时间类型转换成PASICL⽇期时间类9.152 TimeOf函数返回当前的时间9.153 TimeStampToDateTime函数返回当前的时间9.154 TimeStampToMSecs函数返回当前的时间9.155 TimeToStr函数将时间格式转换为字符串9.156 Time函数返回当前的时间9.157 Today函数今天:得到当前⽇期9.158 Tomorrow函数明天:得到当前⽇期的后⼀天的⽇期9.159 TryEncodeDateDay函数将年⽉⽇合成为⽇期格式是否成功9.160 TryEncodeDateMonthWeek函数将年⽉⽇合成为⽇期格式是否成功9.161 TryEncodeDateTime函数将年⽉⽇合成为⽇期格式是否成功9.162 TryEncodeDateWeek函数将年⽉⽇合成为⽇期格式是否成功9.163 TryEncodeDate函数将年⽉⽇合成为⽇期格式是否成功9.164 TryEncodeDayOfWeekInMonth函数将年⽉⽇合成为⽇期格式是否成功9.165 TryEncodeTime函数将年⽉⽇合成为⽇期格式是否成功9.166 TryRecodeDateTime函数将年⽉⽇合成为⽇期格式是否成功9.167 TryStrToDateTime函数将年⽉⽇合成为⽇期格式是否成功9.168 TryStrToDate函数将年⽉⽇合成为⽇期格式是否成功9.169 TryStrToSQLTimeStamp函数将年⽉⽇合成为⽇期格式是否成功9.170 TryStrToTime函数将年⽉⽇合成为⽇期格式是否成功9.171 WeekOfTheMonth函数得到该星期为该⽉的第⼏个星期9.172 WeekOfTheYear函数得到该星期为⼀年的第⼏个星期9.173 WeekOf函数得到该星期为⼀年的第⼏个星期9.174 WeeksBetween函数得到这两个时间在星期上的差数9.175 WeeksInAYear函数得到在该年份中共包含多少个星期9.176 WeeksInYear函数得到在该年份中共包含多少个星期9.177 WeekSpan函数得到这两个时间在星期上的差数9.178 WithinPastDays函数判断两个时间差是否在⼀个指定范围内9.179 WithinPastHours函数判断两个时间差是否在⼀个指定范围内9.180 WithinPastMilliSeconds函数判断两个时间差是否在⼀个指定范围内9.181 WithinPastMinutes函数判断两个时间差是否在⼀个指定范围内9.182 WithinPastMonths函数判断两个时间差是否在⼀个指定范围内9.183 WithinPastSeconds函数判断两个时间差是否在⼀个指定范围内9.184 WithinPastWeeks函数判断两个时间差是否在⼀个指定范围内9.185 WithinPastYears函数判断两个时间差是否在⼀个指定范围内9.186 YearOf函数得到该⽇期的年份数字9.187 YearsBetween函数得到两个⽇期在年份上差距数9.188 YearSpan函数得到两个时间在年上的差数9.189 Yesterday函数昨天:得到当前⽇期的前⼀天的⽇期第10章、类型转换函数10.1 AnsiString 短字符串转为长字符串10.2 BinToHex过程将⼆进制数转换为⼗六进制数10.3 BoolToStr函数将布尔型逻辑值转换为字符串10.4 Bounds函数边框10.5 CompToCurrency函数将实数Comp型转换为货币Currency型数据10.6 CompToDouble函数将实数Comp型转换为双精度实数Double型数据10.24 CurrToStrF函数将货币型数转换为字符串10.23 CurrToStr函数将货币型数转换为字符串10.25 DoubleToComp过程将双精度实数Double型转换为实数Comp型数据10.8 HexToBin函数将⼗六进制数转换为⼆进制数10.7 OffsetRect函数通过应⽤⼀个指定的偏移,从⽽让矩形移动起来10.9 Pchar(S)函数长字符串变量S转为指针类型10.10 Point函数画点10.11 Rect函数画矩形10.12 ShortString 长字符串转为短字符串10.13 SmallPoint函数最⼩指针10.15 StrToBoolDef函数返回字符串S转换成逻辑值或默认值10.14 StrToBool函数返回字符串S转换成逻辑值10.19 StrToInt64Def函数返回字符串S转换成六⼗四位整数或默认值10.18 StrToInt64函数返回字符串S转换成六⼗四位整数10.17 StrToIntDef函数将字符串转换为整型或默认值10.16 StrToInt函数将字符串转换为整型10.20 TryStrToBool函数返回字符串S转换成逻辑值Value是否成功10.22 TryStrToInt64函数返回字串S转换成六⼗四位整数值是否成功10.21 TryStrToInt函数返回字符串S转换成整数Value是否成功10.26 FormatCurr函数格式化货币型数据10.27 IntToHex函数将整型数转换为⼗六进制数10.28 IntToStr函数将整型数转换为字符串10.29 VarArrayOf(S1,S2...Sn) 变量转数组10.30 VarType(vS) 返回变体类型的类型代码第11章、异常处理函数11.1 ExceptAddr 返回引起当前意外的地址11.2 ExceptObject函数返回当前意外的错误索引代码信息11.3 ExceptionErrorMessage函数返回当前意外的信息11.4 OutOfMemoryError 引起OutOfMemory意外11.5 RaiseLastOSError过程引起操作系统最后出错11.6 ShowException过程显⽰意外消息与地址11.7 SysErrorMessage函数返回系统意外的信息11.8 RaiseConversionError过程引起类型转换错误11.9 AcquireExceptionObject函数获得当前意外的错误索引代码信息11.10 DatabaseError过程返回数据库意外的错误索引代码信息11.11 DatabaseErrorFmt过程返回数据库意外的错误索引代码信息第12章、⽂件处理函数12.1 AddDirSuffix ⽬录尾加’\’修正12.2 Append过程以附加的⽅式打开已有的⽂件12.3 AppPath 应⽤程序路径12.4 AssignFile过程给⽂件变量赋⼀外部⽂件名12.5 AssignPrn函数将打印机赋给⼀个变量12.6 BlockRead过程读⼀个或多个记录到变量中12.7 BlockWrite过程从变量中写⼀个或多个记录12.8 ChangeFileExt函数改变⽂件的后缀12.9 ChDir过程改变当前⽬录12.10 CloseFile过程关闭打开的⽂件12.11 CreateBakFile 创建备份⽂件12.12 CreateDir函数建⽴⼀⼦⽬录12.13 DeleteFile函数删除⽂件12.14 Deltree 删除整个⽬录12.15 DirectoryExists函数检查⽬录是否存在12.16 DiskFree函数返回剩余磁盘空间的⼤⼩12.17 DiskSize函数返回指定磁盘的容量12.18 Eof函数对有类型或⽆类型⽂件测试是否到⽂件尾12.19 Eoln函数返回⽂本⽂件的⾏结束状态12.20 Erase过程删除外部⽂件12.21 ExcludeTrailingBackslash函数12.22 ExcludeTrailingPathDelimiter12.23 ExpandFileName函数返回不包含绝对路径的⽂件名字符串12.24 ExpandUNCFileName函数从⽹络上返回不包含绝对路径的⽂件名字符串12.25 ExtractFileDir函数返回驱动器和路径12.26 ExtractFileDrive函数返回驱动器12.27 ExtractFileExt函数返回⽂件的后缀12.28 ExtractFileName函数返回⽂件名12.29 ExtractFilePath函数返回指定⽂件的路径12.30 ExtractRelativePath函数返回指定远程⽂件的路径12.31 ExtractShortPathName函数返回指定⽂件短的路径12.32 FileAge函数返回⽂件已存在的时间12.33 FileClose过程关闭指定的⽂件12.34 FileCreate函数⽤指定的⽂件名建⽴新⽂件12.35 FileDateToDateTime函数将DOS的⽇期格式转换为Delphi的⽇期格式12.36 FileExists函数检查⽂件是否存在12.37 FileGetAttr函数获取⽂件属性12.38 FileGetDate函数返回⽂件的编修⽇期12.39 FileIsReadOnly函数返回⽂件的是否是只读12.40 FileOpen函数⽤指定的存取模式打开指定的⽂件12.41 FilePos函数返回⽂件的当前指针位置12.42 FileProperties 打开⽂件属性窗⼝12.43 FileRead函数从指定的⽂件读取12.44 FileSearch函数在⽬录中搜索指定的⽂件12.45 FileSeek函数改变⽂件指针的当前位置12.46 FileSetAttr函数设置⽂件属性12.47 FileSetDate函数设置⽂件的DOS⽇期时间标记12.48 FileSetReadOnly函数设置⽂件为只读属性12.49 FileSize函数返回当前⽂件的⼤⼩12.50 FileTimeToLocalSystemTime ⽂件时间转本地时间12.51 FileWrite函数对指定的⽂件做写操作12.52 FindClose过程终⽌FindFirst/FindNext序列12.53 FindFile 查找指定⽬录下⽂件12.54 FindFirst函数搜索⽬录下的第⼀个⽂件,并创建内存空间使⽤12.55 FindNext函数返回与⽂件名及属性匹配的下⼀个⽂件12.56 Flush函数将缓冲区的内容刷新到输出的⽂本⽂件中12.57 ForceDirectories函数建⽴⼀⼦⽬录,若⽗⽬录不存在⾃动创建⽗⽬录12.58 GetCurrentDir函数获取当前⽬录12.59 GetDirFiles 取⽂件夹⽂件数12.60 GetDir过程返回指定驱动器的当前⽬录12.61 GetFileIcon 取得与⽂件相关的图标,成功返回True12.62 GetRelativePath 取两个⽬录的相对路径,注意串尾不能是’\’字符12.63 GetWindowsDir 取Windows系统⽬录12.64 GetWinTempDir 取临时⽂件⽬录12.65 IncludeTrailingBackslash函数12.66 IncludeTrailingPathDelimiter12.67 IOResult函数返回最新的I/O操作完成状态12.68 IsFileInUse 判断⽂件是否正在使⽤12.69 IsPathDelimiter函数12.70 LocalSystemTimeToFileTime 本地时间转⽂件时间12.71 MakePath ⽬录尾加’\’修正12.72 MatchesMask函数12.73 MinimizeName函数12.74 MkDir过程建⽴⼀⼦⽬录12.75 MoveFile 移动⽂件、⽬录,参数为源、⽬标名12.76 OpenDialog 打开⽂件对话框12.77 OpenWith ⽂件打开⽅式12.78 procedure 查找指定⽬录下⽂件的回调函数12.79 ProcessPath过程12.80 ReadLn过程⽂本⽂件,读⼀⾏到⼀个变量中12.81 Read过程对有格式的⽂件,读⼀⽂件组件到变量中; ⽂本⽂件,读⼀个或多个值到⼀个或多12.82 RemoveDir函数删除⼀个不包含⽂件的⽬录12.83 RenameFile函数对⽂件重命名12.84 Rename过程重命名外部⽂件12.85 Reset过程打开已有的⽂件12.86 Rewrite过程建⽴并打开⼀新的⽂件12.87 RmDir过程删除空的⼦⽬录12.88 RunFile 运⾏⼀个⽂件12.89 SeekEof函数返回⽂件的⽂件结束状态12.90 SeekEoln函数返回⽂件的⾏结束状态12.91 Seek过程将⽂件的当前指针移动到指定的组件上12.92 SetCurrentDir函数设置当前⽬录12.93 SetLineBreakStyle过程设置⾏中断的类型12.94 SetTextBuf过程给⽂本⽂件指定I/O缓冲区12.95 Truncate过程截去当前⽂件位置后的内容12.96 WinExecAndWait32 运⾏⼀个⽂件并等待其结束12.97 Write(for text files)过程向⽂本⽂件,写⼀个或多个值12.98 Write(for typed files)过程向格式⽂件写⼊信息12.99 WriteLn过程向⽂本⽂件,写⼀⾏第13章、图形计算与处理函数13.1 CharsetToIdent函数13.2 ColorToIdent函数13.3 ColorToRGB函数13.4 ColorToString函数13.5 CreateGrayMappedBmp函数13.6 CreateMappedBmp函数13.7 DrawButtonFace函数13.8 Frame3D过程13.9 GetCharsetValues过程13.10 GetColorValues过程13.11 GetDefFontCharSet函数13.12 GraphicExtension函数13.13 GraphicFilter函数13.14 MoveWindowOrg过程13.15 StringToColor函数13.16 CenterPoint函数13.17 IntersectRect函数13.18 InvalidPoint函数13.19 IsRectEmpty函数13.20 PointsEqual函数13.21 PtInRect函数13.22 UnionRect函数13.23 BitToAry(Image) 图⽚转换字符串赋值到F变量第14章格式化函数14.1 Format函数格式化⼀系列的参数,Format(‘XND=‘+’’’%S’’’,[IntToStr(y)])14.2 FmtStr函数格式化⼀系列的参数,其结果以参数Result返回14.3 StrFmt函数格式化⼀系列的参数14.4 StrLFmt函数格式化⼀系列的参数,并将结果指向⽬标缓冲区的指针14.5 FormatBuf函数格式化⼀系列的参数14.6 WideFormat函数14.7 WideFmtStr函数14.8 WideFormatBuf函数14.9 FormatFloat函数指定浮点数格式14.10 FormatCurr函数指定货币数格式14.11 FormatDateTime函数⽤指定的格式来格式化⽇期和时间,如:FormatDateTime(‘yyyy’’年’’mm’’⽉’’dd’’⽇’,ksrq)或FormatdateTime(‘dddddd’,now)FormatDateTime(‘hh’’时’’mm’’分’’ss’’秒’,now)14.12 FormatPath(Path,Width) 缩短显⽰不下的长路径名14.13 LongTimeFormat全局变量长⽇期格式14.14 ShortDateFormat全局变量短⽇期格式第15章、对话框函数15.1 CreateMessageDialog函数15.2 InputBox函数InputBox(‘标题’,’提⽰’,’默认值’)15.3 InputQuery函数15.4 IsAbortResult函数15.5 IsAnAllResult函数15.6 IsNegativeResult函数15.7 IsPositiveResult函数15.8 LoginDialog函数15.9 LoginDialogEx函数15.10 MessageBox函数MessageBox(窗⼝名/Handle,’提⽰’,’标题’,’信息类别’) 15.11 MessageDlg函数MessageDlg(‘提⽰’,类型,按钮类别,帮助句柄0)15.12 MessageDlgPos函数15.13 MessageDlgPosHelp函数15.14 PromptForFileName函数15.15 RegisterFilePreviewer过程15.16 RemoteLoginDialog函数15.17 SelectDirectory函数15.18 ShowMessage过程ShowMessage(‘提⽰’) 15.19 ShowMessageFmt过程15.20 ShowMessagePos过程15.21 StripAllFromResult函数15.22 UnregisterFilePreviewer过15.23 ForceCurrentDirectory过程15.24 InfoDlg 显⽰提⽰窗⼝15.25 InfoOk 显⽰提⽰确认窗⼝15.26 ErrorDlg 显⽰错误窗⼝15.27 WarningDlg 显⽰警告窗⼝15.28 QueryDlg 显⽰查询是否窗⼝第16章、打印机函数16.1 Printer函数打印机16.2 SetPrinter函数设置打印机第17章、COM实⽤函数17.1 CreateClassID函数17.2 CreateOleObject函数17.3 EnumDispatchProperties过程17.4 GetDispatchPropValue函数17.5 SetDispatchPropValue过程17.6 OleCheck过程17.7 ProgIDToClassID函数17.8 ClassIDToProgID函数17.9 ComClassManager函数17.10 CreateComObject函数17.11 CreateOleObject函数17.12 CreateRegKey过程17.13 CreateRemoteComObject函数17.14 CreateSharedPropertyGroup函数17.15 CreateSharedPropertyGroupManager函数17.16 DeleteRegKey过程17.17 DLLCanUnloadNow函数17.18 DLLGetClassObject函数17.19 DllRegisterServer函数17.20 DllUnregisterServer函数17.21 EnumDispatchproperties过程17.22 FontToOleFont函数17.23 GetActiveOleObject函数17.24 GetDispatchpropValue函数17.25 GetOleFont过程17.26 GetOlePicture过程17.27 GetOleStrings过程17.28 GetRegStringValue函数17.29 InterfaceConnect过程17.30 InterfaceDisconnect过程17.31 OleCheck过程17.32 OleError过程17.33 OleFontToFont过程17.34 OleStrToString函数17.35 OleStrToStrVar过程17.36 ParkingWindow函数17.37 ProglDToClassID函数17.38 RegisterComServer过程17.39 SafeRef函数17.40 SetDispatchPropValue过程17.41 SetOleFont过程17.42 SetOlePicture过程17.43 SetOleStrings过程17.44 StringToOleStr函数17.45 Supports函数第18章、窗⼝控制实⽤程序18.1 CheckToolMenuDropdown过程18.2 FindControl函数18.3 GetComCtlVersion函数18.4 GetParentForm函数18.5 SendAppMessage函数第19章、菜单函数19.1 AnsiSameCaption函数19.2 GetHotKey函数19.3 NewItem函数19.4 NewLine函数19.5 NewMenu函数19.6 NewPopupMenu函数19.7 NewSubMenu函数19.8 ShortCut函数19.9 ShortCutToKey过程19.1 ShortCutToText函数19.11 StripHotKey函数19.12 TextToShortCut函数19.13 WideSameCaption函数19.14 ValidmenuHotKeys函数第20章、向后兼容例程20.1 AddExitProc过程将⼀过程添加到运⾏时库的结束过程表中20.2 AppendStr过程在字符串P后追加字符串S20.3 AssignStr过程将字符串S更新给字符串指针P20.4 Close过程关闭⽂件20.5 DisposeStr过程释放字符串在堆栈中的内存空间20.6 ExitCode变量离开代码块20.7 LoadStr函数从应⽤程序的可执⾏⽂件中装载字符资源20.8 NewStr函数在堆栈上分配新的字符串20.9 StrAlloc函数给以NULL结束的字符串分配最⼤长度-1的缓冲区20.10 StrBufSize函数返回存储在由StrAlloc分配的字符缓冲区的最⼤字符数20.11 StrDispose过程释放堆栈上的字符串20.12 StrNew函数在堆栈上分配⼀个字符串20.13 StrPas函数将以NULL结束的字符串转换为PASCAL类的字符串20.14 Swap函数交换参数的⾼低地址位第21章、⾏为⽀持函数与过程21.1 CreateAction函数创建⼀个动作21.2 EnumRegisteredActions过程注册⼀个动作21.3 RegisterActions过程注册⼀个动作21.4 UnRegisterActions过程取消注册的⼀个动作第22章、Windows剪贴板函数22.1 Clipboard函数剪贴板函数22.2 SetClipboard函数设置剪贴板函数第23章、流程控制23.1 Abort 引起放弃的意外处理23.2 Break 终⽌for、while、repeat循环语句23.3 Continue 继续for、while、repeat的下⼀个循环23.4 Exit ⽴即从当前的语句块中退出23.5 RunError 停⽌程序的执⾏23.6 Halt 停⽌程序的执⾏并返回到操作系统23.7 Application.Terminate 停⽌程序的执⾏并返回到操作系统第24章、指针相关函数24.1 Addr(X):Pointer 返回指定对象的地址24.2 Assigned(var P):Boolean 测试函数或过程变量是否为空24.3 Cseg:Word 返回CS程序段缓存器的内容24.4 Dseg:Word 返回DS程序段缓存器的内容24.5 FreeAndNil24.6 Ofs(X):Word 返回参数的偏移地址24.7 Ptr(Seg,Ofs:Word):Pointer 将所指定的节段及偏移地址组合到⼀个指针24.8 Seg(X):Word 返回参数的节段地址。
Delphi_Api函数
WNetAddConnectionWNetAddConnection2WNetAddConnection3WNetCancelConnectionWNetCancelConnection2WNetCloseEnumWNetConnectionDialogWNetDisconnectDialogWNetEnumResourceWNetGetConnectionWNetGetLastErrorWNetGetUniversalNameWNetGetUserWNetOpenEnumBroadcastSystemMessageGetMessagePosGetMessageTimePostMessagePostThreadMessageRegisterWindowMessageReplyMessageSendMessageSendMessageCallbackSendMessageTimeoutSendNotifyMessageCloseHandleCompareFileTimeCopyFileCreateDirectoryCreateFileCreateFileMappingDeleteFileDeviceIoControlDosDateTimeToFileTimeFileTimeToDosDateTimeFileTimeToLocalFileTime 将一个FILETIME结构转换成本地时间 FileTimeToSystemTime 根据一个FILETIME结构的内容,装载一个SYSTEMTIME结构FindClose 关闭由FindFirstFile函数创FindFirstFile 根据文件名查找文件FindNextFile 根据调用FindFirstFile函数时指定的一个文件名查找下一个文件FlushFileBuffers 针对指定的文件句柄,刷新内部文件缓冲区FlushViewOfFile 将写入文件映射缓冲区的所有数据都刷新到磁盘GetBinaryType 判断文件是否可以执行GetCompressedFileSize 判断一个压缩文件在磁盘上实际占据的字节数GetCurrentDirectory 在一个缓冲区中装载当前目录GetDiskFreeSpace 获取与一个磁盘的组织有关的信息,以及了解剩余空间的容量 GetDiskFreeSpaceEx 获取与一个磁盘的组织以及剩余空间容量有关的信息GetDriveType 判断一个磁盘驱动器的类型GetExpandedName 取得一个压缩文件的全名GetFileAttributes 判断指定文件的属性GetFileInformationByHandle 这个函数提供了获取文件信息的一种机制GetFileSize 判断文件长度GetFileTime 取得指定文件的时间信息GetFileType 在给出文件句柄的前提下,判断文件类型GetFileVersionInfo 从支持版本标记的一个模块里获取文件版本信息GetFileVersionInfoSize 针对包含了版本资源的一个文件,判断容纳文件版本信息需要一个多大的缓冲GetFullPathName 获取指定文件的完整路径名GetLogicalDrives 判断系统中存在哪些逻辑驱动器字母GetLogicalDriveStrings 获取一个字串,其中包含了当前所有逻辑驱动器的根驱动器路径 GetOverlappedResult 判断一个重叠操作当前的状态GetPrivateProfileInt 为初始化文件(.ini文件)中指定的条目获取一个整数值 GetPrivateProfileSection 获取指定小节(在.ini文件中)所有项名和值的一个列表 GetPrivateProfileString 为初始化文件中指定的条目取得字串GetProfileInt 取得win.ini初始化文件中指定条目的一个整数值GetProfileSection 获取指定小节(在win.ini文件中)所有项名和值的一个列表GetProfileString 为win.ini初始化文件中指定的条目取得字串GetShortPathName 获取指定文件的短路径名GetSystemDirectory 取得Windows系统目录(即System目录)的完整路径名GetTempFileName 这个函数包含了一个临时文件的名字,它可由应用程序使用GetTempPath 获取为临时文件指定的路径GetVolumeInformation 获取与一个磁盘卷有关的信息GetWindowsDirectory 获取Windows目录的完整路径名hread 参考lreadhwrite 参考lwrite函数lclose 关闭指定的文件lcreat 创建一个文件llseek 设置文件中进行读写的当前位置LockFile 锁定文件的某一部分,使其不与其他应用程序共享LockFileEx 与LockFile相似,只是它提供了更多的功能lopen 以二进制模式打开指定的文件lread 将文件中的数据读入内存缓冲区lwrite 将数据从内存缓冲区写入一个文件LZClose 关闭由LZOpenFile 或 LZInit函数打开的一个文件LZCopy 复制一个文件LZInit 这个函数用于初始化内部缓冲区LZOpenFile 该函数能执行大量不同的文件处理,而且兼容于压缩文件LZRead 将数据从文件读入内存缓冲区LZSeek 设置一个文件中进行读写的当前位置MapViewOfFile 将一个文件映射对象映射到当前应用程序的地址空间MoveFile 移动文件OpenFile 这个函数能执行大量不同的文件操作OpenFileMapping 打开一个现成的文件映射对象QueryDosDevice 在Windows NT中,DOS设备名会映射成NT系统设备名。
delphiAPI设备场景函数
CombineTransform 驱动世界转换。它相当于依顺序进行两次转换
CreateCompatibleDC 创建一个与特定设备场景一致的内存设备场景
CreateDC 为专门设备创建设备场景
CreateEllipticRgn 创建一个椭圆
ExcludeUpdateRgn 从专用设备场景剪裁区去掉指定窗口的刷新区域
ExtCreateRegion 根据世界转换修改区域
ExtSelectClipRgn 将指定区域组合到设备场景的当前剪裁区
FillRgn 用指定刷子填充指定区域
FrameRgn 用指定刷子围绕指定区域画一个外框
InvalidateRgn 使窗口指定区域不活动,并将它加入窗口刷新区,使之可随后被重画
InvertRgn 通过颠倒每个像素值反转设备场景指定区域
LPtoDP 将点阵从指定设备场景逻辑坐标转换为设备坐标
ModifyWorldTransform 根据指定的模式修改世界转换
OffsetClipRgn 按指定量平移设备场景剪裁区
OffsetRgn 按指定偏移量平移指定区域
OffsetViewportOrgEx 平移设备场景视口区域
OffsetWindowOrgEx 平移指定设备场景窗口起点
PaintRgn 用当前刷子背景色填充指定区域
PtInRegion 确定点是否在指定区域内
PtVisible 确定指定点是否可见(即,点是否在设备场景剪裁区内)
RectInRegion 确定矩形是否有部分在指定区域内
RectVisible 确定指定矩形是否有部分可见(是否在设备场景剪裁区内)
API 图像函数(delphi)
WinAPI: ExtractIcon - 获取EXE、DLL 或ICO 文件中的图标//声明:ExtractIcon(hInst: HINST; {调用函数的程序实例}lpszExeFileName: PChar; {文件路径; 文件可以是 *.exe、*.dll、*.ico}nIconIndex: UINT {图标索引}): HICON; {返回图标句柄; 索引为 0 时返回第一个图标句柄; 索引为 #FFFFFFFF 时返回图标总数}//举例:unit Unit1;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls;typeTForm1 = class(TForm)Button1: TButton;procedure Button1Click(Sender: TObject);end;varForm1: TForm1;implementation{$R *.dfm}uses ShellAPI; {ExtractIcon 在其中声明}procedure TForm1.Button1Click(Sender: TObject);varico: TIcon;i,count,x,y,w,h: Integer;FilePath: string;begin{随便找了个路径, 如果缺失会退出}FilePath := 'C:\Program Files\Macromedia\Fireworks 8\Fireworks.exe';if not FileExists(FilePath) then begin ShowMessage('文件不存在'); Exit; en d;ico := TIcon.Create;x := 10; y := 10; w := 0; h := 0;Repaint;{先算出文件内的图标总数}count := ExtractIcon(HInstance, PChar(FilePath), HICON(-1));for i := 0to count - 1dobegin{循环提取图标}ico.Handle := ExtractIcon(HInstance, PChar(FilePath), i);{画出图标}Canvas.Draw(x,y,ico);{下面只是调整显示位置}if w < ico.Width then w := ico.Width;if h < ico.Height then h := ico.Height;x := x + ico.Width + 10;if x >= ClientWidth - w thenbeginunit Unit1;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, ComCtrls;typeTForm1 = class(TForm)TrackBar1: TTrackBar;procedure FormCreate(Sender: TObject);procedure FormPaint(Sender: TObject);procedure TrackBar1Change(Sender: TObject);procedure FormDestroy(Sender: TObject);end;varForm1: TForm1;implementation{$R *.dfm}varBit,BitBack: TBitmap;Transparency: Byte = 255; {透明度}procedure TForm1.FormCreate(Sender: TObject);begin{设定窗体背景}BitBack := TBitmap.Create;BitBack.LoadFromFile('c:\temp\Back.bmp');Brush.Bitmap := BitBack;{调入图片}Bit := TBitmap.Create;Bit.LoadFromFile('c:\temp\test.bmp');{给 TrackBar1 初始化}TrackBar1.Max := 255;TrackBar1.Min := 0;TrackBar1.ShowSelRange := False;TrackBar1.Position := TrackBar1.Max;end;procedure TForm1.FormPaint(Sender: TObject);varBlend: TBlendFunction; {定义 AlphaBlend 要使用的 TBlendFunction 结构}begin{给 TBlendFunction 结构赋值}Blend.BlendOp := AC_SRC_OVER;Blend.BlendFlags := 0;Blend.AlphaFormat := 0;Blend.SourceConstantAlpha := Transparency;Windows.AlphaBlend(Canvas.Handle, {因 VCL 有同名属性, 所以指定了是来自 Windows 单元}10,10,Bit.Width + 10,Bit.Height + 10,Bit.Canvas.Handle,0,0,Bit.Width,Bit.Height,Blend);end;Ellipse(MetaFileDC, 10, 10, 100, 60);HMetaFile := CloseEnhMetaFile(MetaFileDC);{在窗体上按原始大小绘制 EMF}PlayEnhMetaFile(Canvas.Handle, HMetaFile, Rect(10,10,100,60));DeleteObject(MetaFileDC);DeleteEnhMetaFile(HMetaFile);end;end.用GDI 操作EMF 文件[3]: GetEnhMetaFileunit Unit1;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;typeTForm1 = class(TForm)Button1: TButton;procedure Button1Click(Sender: TObject);end;varForm1: TForm1;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);constPath = 'C:\Temp\MyMetaFile.emf'; {假定这个文件还在}TForm1 = class(TForm)Button1: TButton;procedure FormCreate(Sender: TObject);procedure FormDestroy(Sender: TObject);procedure FormMouseDown(Sender: TObject; Button: TMouseButton;Shift: TShiftState; X, Y: Integer);procedure FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integ er);procedure FormMouseUp(Sender: TObject; Button: TMouseButton;Shift: TShiftState; X, Y: Integer);procedure Button1Click(Sender: TObject);end;varForm1: TForm1;implementation{$R *.dfm}varHMetaFile: HENHMETAFILE;f: Boolean;x1,y1: Integer;R: TRect;procedure TForm1.FormCreate(Sender: TObject);constPath = 'C:\Temp\MyMetaFile.emf';beginHMetaFile := GetEnhMetaFile(PChar(Path));end;procedure TForm1.FormDestroy(Sender: TObject);beginDeleteEnhMetaFile(HMetaFile);end;Left = 0Top = 0Caption = 'Form1'ClientHeight = 206ClientWidth = 339Color = clBtnFaceFont.Charset = DEFAULT_CHARSETFont.Color = clWindowTextFont.Height = -11 = 'Tahoma'Font.Style = []OldCreateOrder = FalsePosition = poDesktopCenterOnCreate = FormCreateOnDestroy = FormDestroyOnMouseDown = FormMouseDownOnMouseMove = FormMouseMoveOnMouseUp = FormMouseUpPixelsPerInch = 96TextHeight = 13object Button1: TButtonLeft = 256Top = 173Width = 75Height = 25Caption = 'Button1'TabOrder = 0OnClick = Button1Clickendend用GDI 操作EMF 文件[5]: GetEnhMetaFileDescription - 获取EMF 文件的说明文本再用CreateEnhMetaFile 函数建立EMF 文件时可以同时写入描述性说明;用GetEnhMetaFileDescription 函数可以读出EMF 文件的说明文本.本例给的说明文本非常简单, 不过标准的说明文本的格式应该是: 程序名#0文件标题#0#0unit Unit1;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;typeTForm1 = class(TForm)Button1: TButton;Button2: TButton;procedure FormCreate(Sender: TObject);procedure FormDestroy(Sender: TObject);procedure Button1Click(Sender: TObject);procedure Button2Click(Sender: TObject);end;varForm1: TForm1;implementation{$R *.dfm}varHMetaFile: HENHMETAFILE; {EMF 文件句柄}{建立带说明的 EMF 文件}procedure TForm1.FormCreate(Sender: TObject);constPath = 'C:\Temp\MyMeateFile.emf';Description = 'ABCDE'; {当作 EMF 文件的说明}varMetaFileDC: HDC;begin{建立并写入说明}MetaFileDC := CreateEnhMetaFile(0, PChar(Path), nil, PChar(Description)); {绘图}Rectangle(MetaFileDC, 11, 11, 111, 111);{结束编辑、保存文件, 并返回文件句柄}HMetaFile := CloseEnhMetaFile(MetaFileDC);{删除 DC}DeleteObject(MetaFileDC);end;{读取 EMF 文件的说明}procedure TForm1.Button1Click(Sender: TObject);varDescriptionSize: Integer; {说明段的大小}DescriptionBuf: PChar; {接受说明的内存指针}begin{获取大小}DescriptionSize := GetEnhMetaFileDescription(HMetaFile, 0, nil);{分配内存}GetMem(DescriptionBuf, DescriptionSize);{获取说明}GetEnhMetaFileDescription(HMetaFile, DescriptionSize, DescriptionBuf); {显示说明}ShowMessage(DescriptionBuf); {ABCDE}{释放内存}FreeMem(DescriptionBuf);end;{绘制在窗体}procedure TForm1.Button2Click(Sender: TObject);beginPlayEnhMetaFile(Canvas.Handle, HMetaFile, Rect(11,11,111,111));end;{删除 EMF 文件句柄}procedure TForm1.FormDestroy(Sender: TObject);beginDeleteEnhMetaFile(HMetaFile);end;end.用GDI 操作EMF 文件[6]: GetEnhMetaFileHeader - 获取EMF 的头文件//增强图元文件的头文件结构 TEnhMetaHeader:tagENHMETAHEADER = packed recordiType: DWORD; {记录类型}nSize: DWORD; {结构大小}rclBounds: TRect; {外接矩形(单位是像素)}rclFrame: TRect; {图片矩形(单位是 0.1 毫米)}dSignature: DWORD; {文件签名}nVersion: DWORD; {文件版本}nBytes: DWORD; {文件尺寸}nRecords: DWORD; {记录数}nHandles: Word; {句柄数}sReserved: Word; {保留}nDescription: DWORD; {说明文本的长度}offDescription: DWORD; {说明文本的偏移量}procedure FormDestroy(Sender: TObject);procedure Button1Click(Sender: TObject);procedure Button2Click(Sender: TObject);end;varForm1: TForm1;implementation{$R *.dfm}varHMetaFile: HENHMETAFILE; {EMF 文件句柄}{建立带说明的 EMF 文件}procedure TForm1.FormCreate(Sender: TObject);constPath = 'C:\Temp\MyMeateFile.emf';Description = 'ABCDE'; {当作 EMF 文件的说明}varMetaFileDC: HDC;begin{建立并写入说明}MetaFileDC := CreateEnhMetaFile(0, PChar(Path), nil, PChar(Description)); {绘图}Rectangle(MetaFileDC, 11, 11, 111, 111);{结束编辑、保存文件, 并返回文件句柄}HMetaFile := CloseEnhMetaFile(MetaFileDC);{删除 DC}DeleteObject(MetaFileDC);end;procedure TForm1.Button1Click(Sender: TObject);constn = #13#10;varMetaHeaderSize: Integer; {文件头大小}MetaHeader: PEnhMetaHeader; {文件头结构的指针}str: string;buf: array[Word] of Char;beginMetaHeaderSize := GetEnhMetaFileHeader(HMetaFile, 0, nil);GetMem(MetaHeader, MetaHeaderSize);GetEnhMetaFileHeader(HMetaFile, MetaHeaderSize, MetaHeader);str := 'iType: %d' + n +'nSize: %d' + n +'rclBounds: %d,%d,%d,%d' + n +'rclFrame: %d,%d,%d,%d' + n +'dSignature: %d' + n +'nVersion: %d' + n +'nBytes: %d' + n +'nRecords: %d' + n +'nHandles: %d' + n +//'sReserved: %d' + n +'nDescription: %d' + n +'offDescription: %d' + n +'nPalEntries: %d' + n +'szlDevice: %d,%d' + n +'szlMillimeters: %d,%d' + n +'cbPixelFormat: %d' + n +'offPixelFormat: %d' + n +'bOpenGL: %d';wvsprintf(buf, PChar(str), PChar(MetaHeader));ShowMessage(buf);FreeMem(MetaHeader);end;{绘制在窗体}procedure TForm1.Button2Click(Sender: TObject);beginPlayEnhMetaFile(Canvas.Handle, HMetaFile, Rect(11,11,111,111));end;{删除 EMF 文件句柄}procedure TForm1.FormDestroy(Sender: TObject);beginDeleteEnhMetaFile(HMetaFile);end;end.用GDI 操作EMF 文件[7]: EnumEnhMetaFile、PlayEnhMetaFileRecord - 枚举文件中的图形命令EnumEnhMetaFile(DC: HDC; {目标设备句柄; 如果回调函数不需要回放, 该参数为 0}Emf: HENHMETAFILE; {图元文件句柄}EnhMetaFunc: TFNEnhMFEnumProc; {回调函数指针; 回调函数格式见下}Data: Pointer; {自定义数据指针}const Rect: TRect {要输出的尺寸; 如果 DC=0 该参数会被忽略}): BOOL;//EnumEnhMetaFile 使用的回调函数格式及参数, PlayEnhMetaFileRecord 基本就是使用这些参数:function EnhMetaFunc(DisplaySurface: HDC; {目标设备句柄; 如果回调函数不需要回放, 该参数为 0}var MetafileTable: THandleTable; {句柄表数组指针, 数组包含 HGDIOBJ 对象(画var MetafileRecord: TEnhMetaRecord; {图元文件记录 TEnhMetaRecord 指针, TEnhM etaRecord 结构见下表}ObjectCount: Integer; {对象句柄数目, 即句柄表 MetafileTable 中图形对象的数目}var Data: Longint {自定义数据指针}): Integer; stdcall;//TEnhMetaRecord 结构:tagENHMETARECORD = packed recordiType: DWORD; {类型}nSize: DWORD; {尺寸}dParm: array[0..0] of DWORD; {参数数组}end;//TEnhMetaRecord.iType 的可能值:EMR_HEADER = 1;EMR_POLYBEZIER = 2;EMR_POLYGON = 3;EMR_POLYLINE = 4;EMR_POLYBEZIERTO = 5;EMR_POLYLINETO = 6;EMR_POLYPOLYLINE = 7;EMR_POLYPOLYGON = 8;EMR_SETWINDOWEXTEX = 9;EMR_SETWINDOWORGEX = 10;EMR_SETVIEWPORTEXTEX = 11;EMR_SETVIEWPORTORGEX = 12;EMR_SETBRUSHORGEX = 13;EMR_EOF = 14;EMR_SETPIXELV = 15;EMR_SETMAPPERFLAGS = $10;EMR_SETMAPMODE = 17;EMR_SETSTRETCHBLTMODE = 21; EMR_SETTEXTALIGN = 22; EMR_SETCOLORADJUSTMENT = 23; EMR_SETTEXTCOLOR = 24; EMR_SETBKCOLOR = 25; EMR_OFFSETCLIPRGN = 26; EMR_MOVETOEX = 27; EMR_SETMETARGN = 28; EMR_EXCLUDECLIPRECT = 29; EMR_INTERSECTCLIPRECT = 30; EMR_SCALEVIEWPORTEXTEX = 31; EMR_SCALEWINDOWEXTEX = 32; EMR_SAVEDC = 33; EMR_RESTOREDC = 34; EMR_SETWORLDTRANSFORM = 35; EMR_MODIFYWORLDTRANSFORM = 36; EMR_SELECTOBJECT = 37; EMR_CREATEPEN = 38; EMR_CREATEBRUSHINDIRECT = 39; EMR_DELETEOBJECT = 40; EMR_ANGLEARC = 41; EMR_ELLIPSE = 42; EMR_RECTANGLE = 43; EMR_ROUNDRECT = 44; EMR_ARC = 45; EMR_CHORD = 46; EMR_PIE = 47; EMR_SELECTPALETTE = 48; EMR_CREATEPALETTE = 49; EMR_SETPALETTEENTRIES = 50; EMR_RESIZEPALETTE = 51; EMR_REALIZEPALETTE = 52; EMR_EXTFLOODFILL = 53; EMR_LINETO = 54; EMR_ARCTO = 55;EMR_ENDPATH = 60; EMR_CLOSEFIGURE = 61; EMR_FILLPATH = 62; EMR_STROKEANDFILLPATH = 63; EMR_STROKEPATH = $40; EMR_FLATTENPATH = 65; EMR_WIDENPATH = 66; EMR_SELECTCLIPPATH = 67; EMR_ABORTPATH = 68; EMR_GDICOMMENT = 70; EMR_FILLRGN = 71; EMR_FRAMERGN = 72; EMR_INVERTRGN = 73; EMR_PAINTRGN = 74; EMR_EXTSELECTCLIPRGN = 75; EMR_BITBLT = 76; EMR_STRETCHBLT = 77; EMR_MASKBLT = 78; EMR_PLGBLT = 79; EMR_SETDIBITSTODEVICE = 80; EMR_STRETCHDIBITS = 81; EMR_EXTCREATEFONTINDIRECTW = 82; EMR_EXTTEXTOUTA = 83; EMR_EXTTEXTOUTW = 84; EMR_POLYBEZIER16 = 85; EMR_POLYGON16 = 86; EMR_POLYLINE16 = 87; EMR_POLYBEZIERTO16 = 88; EMR_POLYLINETO16 = 89; EMR_POLYPOLYLINE16 = 90; EMR_POLYPOLYGON16 = 91; EMR_POLYDRAW16 = 92; EMR_CREATEMONOBRUSH = 93; EMR_CREATEDIBPATTERNBRUSHPT = 94;varHMetaFile: HENHMETAFILE; {EMF 文件句柄}RadioGroupItemIndex: Integer = -1;//EnumEnhMetaFile 的回调函数function MyEnhMetaFunc(DisplaySurface: HDC; var MetafileTable: THandleTabl e;var MetafileRecord: TEnhMetaRecord; ObjectCount: Integer; var Data: Longin t): Integer; stdcall;varitype: Integer;begincase RadioGroupItemIndex of1: itype := EMR_RECTANGLE;2: itype := EMR_ELLIPSE;end;if MetafileRecord.iType = itype thenbeginPlayEnhMetaFileRecord(DisplaySurface, MetafileTable, MetafileRecord, Ob jectCount);Result := 1;end;end;procedure TForm1.FormCreate(Sender: TObject);varMetaFileDC: HDC;begin{文件建立在内存}MetaFileDC := CreateEnhMetaFile(0, nil, nil, nil);MoveToEx(MetaFileDC, 0, 0, nil);LineTo(MetaFileDC, 100, 100);{矩形}Rectangle(MetaFileDC, 10, 10, 30, 30);{椭圆}unit Unit1;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls;typeTForm1 = class(TForm)ColorBox1: TColorBox;ColorBox2: TColorBox;ComboBox1: TComboBox;procedure FormCreate(Sender: TObject);procedure FormDestroy(Sender: TObject);procedure FormPaint(Sender: TObject);procedure ColorBox1Change(Sender: TObject);procedure ColorBox2Change(Sender: TObject);procedure ComboBox1Change(Sender: TObject);end;varForm1: TForm1;implementation{$R *.dfm}varHMetaFile: HENHMETAFILE; {EMF 文件句柄}p: TPen;b: TBrush;//EnumEnhMetaFile 的回调函数function MyEnhMetaFunc(DisplaySurface: HDC; var MetafileTable: THandleTabl e;var MetafileRecord: TEnhMetaRecord; ObjectCount: Integer; var Data: Longin t): Integer; stdcall;begincase MetafileRecord.iType ofEMR_CREATEPEN: SelectObject(DisplaySurface, p.Handle);EMR_CREATEBRUSHINDIRECT: SelectObject(DisplaySurface, b.Handle);elsePlayEnhMetaFileRecord(DisplaySurface, MetafileTable, MetafileRecord, Ob jectCount);Result := 1;end;end;procedure TForm1.FormCreate(Sender: TObject);varMetaFileDC: HDC;begin{文件建立在内存}MetaFileDC := CreateEnhMetaFile(0, nil, nil, nil);p := TPen.Create;b := TBrush.Create;p.Color := clRed;b.Style := bsCross;b.Color := clSilver;SelectObject(MetaFileDC, p.Handle);SelectObject(MetaFileDC, b.Handle);MoveToEx(MetaFileDC, 0, 0, nil);LineTo(MetaFileDC, 80, 80);{矩形}Rectangle(MetaFileDC, 10, 10, 30, 50);{椭圆}Ellipse(MetaFileDC, 30, 30, 50, 70);HMetaFile := CloseEnhMetaFile(MetaFileDC);DeleteObject(MetaFileDC);maText :='bsSolid,bsClear,bsHorizontal,bsVertical,bsFDiagonal,bsBDiagonal,bsCros s,bsDiagCross';end;procedure TForm1.FormPaint(Sender: TObject);beginEnumEnhMetaFile(Canvas.Handle, HMetaFile, @MyEnhMetaFunc, nil, ClientRec t);end;procedure TForm1.ColorBox1Change(Sender: TObject);beginp.Color := ColorBox1.Selected;Repaint;end;procedure TForm1.ColorBox2Change(Sender: TObject);beginb.Color := ColorBox2.Selected;Repaint;end;procedure boBox1Change(Sender: TObject);beginb.Color := ColorBox2.Selected;case ComboBox1.ItemIndex of0: b.Style := bsSolid;1: b.Style := bsClear;2: b.Style := bsHorizontal;3: b.Style := bsVertical;4: b.Style := bsFDiagonal;5: b.Style := bsBDiagonal;6: b.Style := bsCross;Top = 16Width = 116Height = 22ItemHeight = 16TabOrder = 0OnChange = ColorBox1Changeendobject ColorBox2: TColorBoxLeft = 200Top = 44Width = 116Height = 22ItemHeight = 16TabOrder = 1OnChange = ColorBox2Changeendobject ComboBox1: TComboBoxLeft = 200Top = 72Width = 116Height = 21ItemHeight = 13TabOrder = 2Text = 'ComboBox1'OnChange = ComboBox1ChangeendendWinAPI: 测试BitBltBitBlt(DestDC: HDC; {目标 DC}X, Y, Width, Height: Integer; {目标位置与大小}SrcDC: HDC; {源 DC}XSrc, YSrc: Integer; {源起始位置}Rop: DWORD {光栅操作码, 也就是源像素与目标像素的混合方式}procedure FormCreate(Sender: TObject);procedure FormDestroy(Sender: TObject);procedure FormPaint(Sender: TObject);procedure ListBox1Click(Sender: TObject); end;varForm1: TForm1;implementation{$R *.dfm}varbit1,bit2: TBitmap;cvs1,cvs2,cvs3: TCanvas;procedure TForm1.FormCreate(Sender: TObject); beginwith ListBox1.Items dobeginAdd('SRCCOPY ');Add('SRCPAINT ');Add('SRCAND ');Add('SRCINVERT ');Add('SRCERASE ');Add('NOTSRCCOPY ');Add('NOTSRCERASE');Add('MERGECOPY ');Add('MERGEPAINT ');Add('PATCOPY ');Add('PATPAINT ');Add('PATINVERT ');Add('DSTINVERT ');Add('BLACKNESS ');Add('WHITENESS ');end;Panel1.Caption := '';Panel2.Caption := '';Panel3.Caption := '';bit1 := TBitmap.Create;bit1.Width := Panel1.ClientWidth;bit1.Height := Panel1.ClientHeight;bit2 := TBitmap.Create;bit2.Width := Panel2.ClientWidth;bit2.Height := Panel2.ClientHeight;cvs1 := TCanvas.Create;cvs2 := TCanvas.Create;cvs3 := TCanvas.Create;cvs1.Handle := GetDC(Panel1.Handle);cvs2.Handle := GetDC(Panel2.Handle);cvs3.Handle := GetDC(Panel3.Handle);end;procedure TForm1.FormDestroy(Sender: TObject);beginbit1.Free;bit2.Free;cvs1.Free;cvs2.Free;cvs3.Free;end;procedure TForm1.FormPaint(Sender: TObject);constColorArr: array[0..5] of TColor = (clRed, clGreen, clBlue, clYellow, clFuc hsia, clPurple);varwi,hi: Integer;I: Integer;beginwi := bit1.Width div4;hi := bit1.Height div4;bit1.Canvas.Pen.Width := 10;for I := 1to3dobeginbit1.Canvas.Pen.Color := ColorArr[i-1];bit1.Canvas.MoveTo(wi*i, 0);bit1.Canvas.LineTo(wi*i, bit1.Height);bit1.Canvas.Pen.Color := ColorArr[i+2];bit1.Canvas.MoveTo(0, hi*i);bit1.Canvas.LineTo(bit1.Width, hi*i);end;bit2.Canvas.Pen.Width := 15;bit2.Canvas.Ellipse(15, 15, bit2.Width-15, bit2.Height-15);cvs1.Draw(0, 0, bit1);cvs2.Draw(0, 0, bit2);end;procedure TForm1.ListBox1Click(Sender: TObject);varRop: Cardinal;beginRepaint;Rop := SRCCOPY;case ListBox1.ItemIndex of0 : Rop := SRCCOPY ;1 : Rop := SRCPAINT ;2 : Rop := SRCAND ;3 : Rop := SRCINVERT ;4 : Rop := SRCERASE ;5 : Rop := NOTSRCCOPY ;6 : Rop := NOTSRCERASE;PixelsPerInch = 96TextHeight = 13object Panel1: TPanelLeft = 8Top = 8Width = 180Height = 140Caption = 'Panel1'TabOrder = 0endobject Panel2: TPanelLeft = 194Top = 8Width = 119Height = 105Caption = 'Panel2'TabOrder = 1endobject Panel3: TPanelLeft = 8Top = 154Width = 180Height = 140Caption = 'Panel3'TabOrder = 2endobject ListBox1: TListBox Left = 194Top = 119Width = 119Height = 176ItemHeight = 13TabOrder = 3OnClick = ListBox1Click endend。
Delphi常用函数表
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 函数按钮上的图象。
API 窗口函数(delphi)
varh: HWND; {把句柄定义成全局变量以避免重复}{准备工作}procedure TForm1.FormCreate(Sender: TObject); beginMemo1.Align := alLeft;Memo1.ScrollBars := ssBoth;Timer1.Enabled := False;Timer1.Interval := 100;end;{启动与停止}procedure TForm1.Button1Click(Sender: TObject); beginTimer1.Enabled := not Timer1.Enabled;case Timer1.Enabled ofTrue : Text := '开始截获';False: Text := '停止截获';end;Memo1.Clear;end;{定时获取}procedure TForm1.Timer1Timer(Sender: TObject); varp: array[0..254] of Char;beginif h <> GetForegroundWindow thenbeginh := GetForegroundWindow;GetWindowText(h, p, 255);if p <> ''then Memo1.Lines.Add(p);{设定计算器的 Alpha 透明}procedure TForm1.Button1Click(Sender: TObject);varh: HWND;FormStyle: Integer;beginh := FindWindow('SciCalc', nil);FormStyle := GetWindowLong(Handle, GWL_EXSTYLE);SetWindowLong(h, GWL_EXSTYLE, FormStyle or WS_EX_LAYERED);SetLayeredWindowAttributes(h, 0, 128, LWA_ALPHA);end;{设定计算器中的白色透明}procedure TForm1.Button2Click(Sender: TObject);varh: HWND;FormStyle: Integer;beginh := FindWindow('SciCalc', nil);FormStyle := GetWindowLong(Handle, GWL_EXSTYLE);SetWindowLong(h, GWL_EXSTYLE, FormStyle or WS_EX_LAYERED);SetLayeredWindowAttributes(h, clWhite, 255, LWA_COLORKEY);end;end.获取窗口矩形的四种方法: GetClientRect、ClientRect、GetWindowRect、Boun dsRect其中GetClientRect、ClientRect 获取的是窗口的客户区矩形;GetWindowRect、BoundsRect 是获取窗口矩形;另外, 还有一个Windows.GetClientRect(使用方法同GetWindowRect, 它们都是API 函数), 这里使用的GetClientRect 是Forms.GetClientRect.procedure TForm1.FormPaint(Sender: TObject); conststr = 'L:%d; T:%d; R:%d; B:%d - ';varR1,R2,R3,R4: TRect;buf: array[Byte] of Char;x,y,h: Integer;beginR1 := GetClientRect;R2 := Self.ClientRect;GetWindowRect(Handle, R3);R4 := Self.BoundsRect;x := 10;y := 10;h := 10;Randomize;Canvas.Font.Color := Random($FFFFFF);wvsprintf(buf, str + 'GetClientRect', @R1);Canvas.TextOut(x, y, buf);y := y + h + Canvas.TextHeight(buf);wvsprintf(buf, str + 'Self.ClientRect', @R2); Canvas.TextOut(x, y, buf);y := y + h + Canvas.TextHeight(buf);Canvas.Font.Color := Random($FFFFFF);wvsprintf(buf, str + 'GetWindowRect', @R3);Canvas.TextOut(x, y, buf);y := y + h + Canvas.TextHeight(buf);wvsprintf(buf, str + 'Self.BoundsRect', @R4); Canvas.TextOut(x, y, buf);end;procedure TForm1.FormResize(Sender: TObject);。
delphi函数
Random(n)——取值范围为n, 即函数返回0至n-1之间的随机数.Randomize 过程----- 用它来重置随机数发生器.生成一个随机数.New(p)-----重新生成一个p(地址,动态分配内存.Dispose----例程释放你动态分配的内存。
Nil----表示空(指针).CheckBox1----选择框.ADD---表示加入. Listbox1.Items.Add(……….)Canvas----画板。
Canvas.Pen.Color---画板笔的颜色。
MessageDlg----对话框。
Dialog 对话RepeatK:=J MOD I;J:=I;I:=K;UNTIL I=0;(求最小公倍数)EOF(文件)(END OF FILE 是否到文件未)Listbox.items.count (表示列表框中的数量)Uppercase() 转化成大写Break 强制退出循环,continue 强制缩短循环,程序不往下进行,而是继续循环. EXIT 从当前代码块退出,如果代码块是主程序,则终止该程序,如果是函数或过程则立即退出该函数或过程. Halt 强制终止程序,语法格式为:procedure halt[(终止码:integer)];其中终止码可以省略runerrer 停止程序执行,并产生错误代码, 其语法为:procedure[(出错码:不byte)].Type TForm1{类的名称} = class(TForm{类的祖先,没有可以不写})Button1: TButton;{类的成员包括下面}btnchange: TButton;ListBox1: TListBox;有些是文本和数据输入的途径。
它们是Label(标签)、Edit(文本编辑)、MaskEdit(格式编辑)、Memo(备注)、List Box(列表框)、Combo Box(组合框)(一)控件与消息函数1、语法:AnyPopup: BOOL;单元:windows.pas(该单元DELPHI会自行在USES里加上,下同)作用:判断屏幕上是否存在任何弹出式窗口返回值:BOOL,如存在弹出式菜单,则返回T RUE注解:对该函数来说,弹出式菜单包含所有可见的包容顶级窗口,无论弹出式还是重叠窗口示例:procedure TForm1.Button1Click(Sender: TObject);beginif (AnyPopup) thenLabel1.Caption:=‘Pop-ups found: TRUE'elseLabel1.Caption:=‘Pop-ups found: FALSE';end;2、语法:EnableWindow(hWnd: HWND; bEnable: BOOL): BOOL;单元:windows.pas作用:指定的窗口里允许或禁止所有鼠标及键盘输入返回值:BOOL,如果返回真,WINDOWS已经禁止,否则返回假示例:procedure TForm1.Button1Click(Sender: TObject);beginif (IsWindowEnabled(Edit1.Handle)) thenbeginEnableWindow(Edit1.Handle,FALSE);Button1.Caption:=‘Enable Window';Edit1.Text:=‘This window is disabled';endelsebeginEnableWindow(Edit1.Handle,TRUE);Button1.Caption:=‘Disable Window';Edit1.Text:=‘This window is enabled';end;end;3、语法:FlashWindow(hWnd: HWND; bInvert: BOOL): BOOL;单元:windows.pas作用:闪烁显示指定窗口。
API绘图函数 Delphi
DrawState 为一幅图象或绘图操作应用各式各样的效果
Ellipse 描绘一个椭圆,由指定的矩形围绕
EndPath 停止定义一个路径
EnumEnhMetaFile 针对一个增强型图元文件,列举其中单独的图元文件记录
EnumMetaFile 为一个标准的windows图元文件枚举单独的图元文件记录
GetBrushOrgEx 判断指定设备场景中当前选定刷子起点
GetCurrentObject 获得指定类型的当前选定对象
GetCurrentPositionEx 在指定的设备场景中取得当前的画笔位置
GetEnhMetaFile 取得磁盘文件中包含的一个增强型图元文件的图元文件句柄
GetEnhMetaFileBits 将指定的增强型图元文件复制到一个内存缓冲区里
CreateDIBPatternBrush 用一幅与设备无关的位图创建一个刷子,以便指定刷子样式(图案)
CreateEnhMetaFile 创建一个增强型的图元文件设备场景
CreateHatchBrush 创建带有阴影图案的一个刷子
CreateMetaFile 创建一个图元文件设备场景
DeleteMetaFile 删除指定的图元文件
DeleteObject 删除GDI对象,对象使用的所有系统资源都会被释放
DrawEdge 用指定的样式描绘一个矩形的边框
DrawEscape 换码(Escape)函数将数据直接发至显示设备驱动程序
DrawFocusRect 画一个焦点矩形
CreatePatternBrush 用指定了刷子图案的一幅位图创建一个刷子
delphi常用函数(带使用实例)
delphi常用函数(带使用实例)//-------------------------------delphi 常用函数1.Abs功能说明:求绝对值。
参考实例:varr: Single;i: Integer;beginr := Abs(-2.8); // r等于 2.8i := Abs(-156); // I 等于 156end;2.AllocMem功能说明:分配内存空间并自动初始化为零。
如果不需要初始化为零,可以使用GetMem代替AllocMem。
参考实例:varBuffer: PChar;beginBuffer := AllocMem(256); // 分配大小为256个字节的内存空间end;3.Append功能说明:追加内容到文件中。
文件必须要存在。
参考实例:varS: String;F: TextFile;beginS := 'This is a book.';AssignFile(F, 'C:\MyFile.txt'); // 将C:\MyFile.txt文件与F变量建立连接,后面可以使用F变量对文件进行操作。
Append(F); // 以追加的方式打开文件Writeln(F, S); // 将S变量中的内容追加到文本尾后。
CloseFile(F); // 关闭文件end;4.AssignFile功能说明:与指定的文件建立连接。
参考实例:varF: TextFile; // 声明文本文件类型变量beginAssignFile(F, 'C:\MyFile.txt'); // 将C:\MyFile.txt文件与F变量建立连接,后面可以使用F变量对文件进行操作。
end;5.ChDir功能说明:改变当前目录(文件夹)。
参考实例:varsDir: String;beginsDir := 'C:\Windows';ChDir(sDir); // 此时,系统的当前目录则为C:\Windows目录。
Delphi函数大全
Delphi函数大全名称类型说明---------------------------------------------------------------------------------------------------------------------------------- Abort 函数引起放弃的意外处理Abs 函数绝对值函数AddExitProc 函数将一过程添加到运行时库的结束过程表中Addr 函数返回指定对象的地址AdjustLineBreaks 函数将给定字符串的行分隔符调整为CR/LF序列Align 属性使控件位于窗口某部分Alignment 属性控件标签的文字位置AllocMem 函数在堆栈上分配给定大小的块AllowGrayed 属性允许一个灰度选择AnsiCompareStr 函数比较字符串(区分大小写)AnsiCompareText 函数比较字符串(不区分大小写)AnsiLowerCase 函数将字符转换为小写AnsiUpperCase 函数将字符转换为大写Append 函数以附加的方式打开已有的文件ArcT an 函数余切函数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 函数用指定的值填充连续字节的数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 建立一指定大小的动态变量,并将指针指向该处GetMemoryManager 返回内存管理器的入口点Glyph 函数按钮上的图象Halt 停止程序的执行并返回到操作系统Hi 返回参数的高地址位High 返回参数的上限值Hint 属性提示信息Int 返回参数的整数部分Include 添加元素到集合中Insert 在字符串中插入子串IntT oHex 将整型数转换为十六进制数IntT oStr 将整型数转换为字符串IOResult 返回最新的I/O操作完成状态IsValidIdent 测试字符串是否为有效的标识符Items 属性默认显示的节点Kind 属性摆放样式LargeChange 属性最大改变值Layout 属性图象布局Length 函数返回字符串的动态长度Lines 属性缺省显示内容Ln 函数自然对数函数Lo 函数返回参数的低地址位LoadStr 函数从应用程序的可执行文件中装载字符资源LowerCase 函数将给定的字符串变为小写Low 函数返回参数的下限值Max 属性最大值MaxLength 属性最大长度Min 属性最小值MkDir 命令建立一子目录Move 函数从源到目标复制字节MultiSelect 属性允许同时选择几个数据项Name 属性控件的名字New 函数建立新的动态变量并设置一指针变量指向他NewStr 函数在堆栈上分配新的字符串Now 函数返回当前的日期和时间Odd 测试参数是否为奇数OnActivate 事件焦点移到窗体上时触发onClick 事件单击窗体空白区域触发OnDblClick 事件双击窗体空白区域触发OnCloseQuery 事件使用者试图关闭窗体触发OnClose 事件窗体关闭后才触发OnCreate 事件窗体第一次创建时触发OnDeactivate 事件用户切换到另一应用程序触发OnDragDrop 事件鼠标拖放操作结束时触发OnDragOver 事件有其他控件从他上面移过触发onMouseDown 事件按下鼠标键时触发onMouseUp 事件释放鼠标键时触发onMouseMove 事件移动鼠标时触发OnHide 事件隐藏窗体时触发onKeyDown 事件按下键盘某键时触发onKeyPress 事件按下键盘上的单个字符键时触发onKeyUp 事件释放键盘上的某键时触发OnPaint 事件窗体上有新部分暴露出来触发OnResize 事件重新调整窗体大小触发OnShow 事件在窗体实际显示之前瞬间触发Ord 返回序数类的序数OutlineStyle 属性类型OutOfMemoryError 引起OutOfMemory意外PageIndex 属性页索引Pages 属性页ParamCount 函数返回在命令行上传递给程序的参数数量ParamStr 函数返回指定的命令行参数Pen 属性画刷设置Pi 函数返回圆周率PiPicture 属性显示图象PictureClosed 属性设置Closed位图PictureLeaf 属性设置Leaf位图PictureMinus 属性设置Minus位图PictureOpen 属性设置Open位图PicturePlus 属性设置Plus位图Pos 函数在字符串中搜索子串Pred 函数返回先前的参数Random 函数返回一随机函数Randomize 函数用一随机数初始化内置的随机数生成器Read 函数对有格式的文件,读一文件组件到变量中;对文本文件,读一个或多个值到一个或多个变量中Readln 函数执行Read过程,然后跳到文件下一行ReadOnly 属性只读属性ReAllocMem 函数分配一动态变量Rename 函数重命名外部文件RenameFile 函数对文件重命名Reset 函数打开已有的文件Rewrite 函数建立并打开一新的文件RmDir 函数删除空的子目录Round 函数将实数值舍入为整型值RunError 函数停止程序的执行ScrollBars 属性滚动条状态Seek 函数将文件的当前指针移动到指定的组件上SeekEof 函数返回文件的文件结束状态SeekEoln 函数返回文件的行结束状态SelectedColor 属性选中颜色SetMemoryManager 函数设置内存管理器的入口点SetTextBuf 函数给文本文件指定I/O缓冲区Shape 属性显示的形状ShowException 函数显示意外消息与地址Sin 函数正弦函数SizeOf 函数返回参数所占的字节数SmallChange 属性最小改变值Sorted 属性是否允许排序Sqr 函数平方函数Sqrt 函数平方根函数StartMargin 属性开始边缘State 属性控件当前状态Str 函数将数值转换为字符串StrAlloc 函数给以NULL结束的字符串分配最大长度-1的缓冲区StrBufSize 函数返回存储在由StrAlloc分配的字符缓冲区的最大字符数StrCat 函数将一字符串附加到另一字符串尾并返回合并的字符串StrComp 函数比较两个字符串StrCopy 函数将一个字符串复制到另一个字符串中StrDispose 函数释放堆栈上的字符串StrECopy 函数将一字符串复制到另一个字符串并返回结果字符串尾部的指针StrEnd 函数返回指向字符串尾部的指针Stretch 属性自动适应控件的大小StrFmt 函数格式化一系列的参数StrIComp 函数比较两个字符串(不区分大小写)StringT oWideChar 函数将ANSI字符串转换为UNICODE字符串StrLCat 函数将一字符串中的字符附加到另一字符串尾并返回合并的字符串StrLComp 函数以最大长度比较两个字符串StrLCopy 函数将一个字符串中的字符复制到另一个字符串中StrLen 函数返回字符串中的字符数StrLFmt 函数格式化一系列的参数,其结果中包含有指向目标缓冲区的指针StrLIComp 函数以最大长度比较两个字符串(不区分大小写)StrLower 函数将字符串中的字符转换为小写StrMove 函数将一个字符串中的字符复制到另一个字符串中StrNew 函数在堆栈上分配一个字符串StrPas 函数将以NULL结束的字符串转换为PASCAL类的字符串StrPCopy 函数将PASCAL类的字符串复制为以NULL结束的字符串StrPLCopy 函数从PASCAL类的最大长度字符串复制为以NULL结束的字符串StrPos 函数返回一个字符串在另一个字符串中首次出现指针StrRScan 函数返回字符串中最后出现字符的指针StrScan 函数返回字符串中出现首字符的指针StrToDate 函数将字符串转换为日期格式StrToDateTime 函数将字符串转换为日期/时间格式StrToFloat 函数将给定的字符串转换为浮点数StrToInt 函数将字符串转换为整型StrToIntDef 函数将字符串转换为整型或默认值StrToTime 函数将字符串转换为时间格式StrUpper 函数将字符串中的字符转换为大写Style 属性类型选择Suce 函数返回后继的参数Swap 函数交换参数的高低地址位Tabs 属性标记每一项的内容TabIndex 属性标记索引Text 属性显示的文本TextToFloat 函数将字符串(以NULL结束的格式)转换为浮点数Time 函数返回当前的时间TimeToStr 函数将时间格式转换为字符串Trim 函数从给定的字符串中删除前导和尾部的空格及控制字符TrimLeft 函数从给定的字符串中删除首部的空格及控制字符TrimRight 函数从给定的字符串中删除尾部的空格及控制字符Trunc 函数将实型值截取为整型值Truncate 函数截去当前文件位置后的内容UnSelectedColor 属性未选中颜色UpCase 将字符转换为大写UpperCase 将给定的字符串变为大写Val 函数将字符串转换为整型值VarArrayCreate 函数以给定的界限和维数建立变体数组VarArrayDimCount 函数返回给定变体的维数VarArrayHighBound 函数返回给定变体数组维数的上界VarArrayLock 函数锁定给定的变体数组VarArrayLowBound 函数返回给定变体数组维数的下界VarArrayOf 函数返回指定变体的数组元素VarArrayRedim 函数通过改变上限来调整变体的大小VarArrayUnlock 函数解锁指定的变体数组VarAsType 函数将变体转换为指定的类型VarCase 函数将变体转换为指定的类型并保存他VarClear 函数清除指定的变体VarCopy 函数将指定的变体复制为指定的变体VarFormDateTime 函数返回包含日期时间的变体VarIsArray 函数测试变体是否为数组VarIsEmpty 函数测试变体是否为UNASSIGNEDVarIsNull 函数测试变体是否为NULLVarToDateTime 函数将给定的变体转换为日期时间VarType 函数将变体转换为指定的类型并保存他Visible 属性控件的可见性WantReturns 属性为True时,按回车键产生一个回车符;为False时,按下Ctrl+Enter才产生回车符Write 命令对有格式的文件,写一变量到文件组件中;对文本文件,写一个或多个值到文件中Writeln 命令执行WRITE过程,然后输出一行结束标志WideCharLenToString 函数将ANSI字符串转换为UNICODE字符串WideCharLenToStrWar 函数将UNICODE字符串转换为ANSI字符串变量WideCharToString 函数将UNICODE字符串转换为ANSI字符串WideCharToStrVar 函数将UNICODE字符串转换为ANSI字符串变量。
(DELPHI)API函数大全
(DELPHI)API函数大全1. API之网络函数WNetAddConnection 创建同一个网络资源的永久性连接WNetAddConnection2 创建同一个网络资源的连接WNetAddConnection3 创建同一个网络资源的连接WNetCancelConnection 结束一个网络连接WNetCancelConnection2 结束一个网络连接WNetCloseEnum 结束一次枚举操作WNetConnectionDialog 启动一个标准对话框,以便建立同网络资源的连接WNetDisconnectDialog 启动一个标准对话框,以便断开同网络资源的连接WNetEnumResource 枚举网络资源WNetGetConnection 获取本地或已连接的一个资源的网络名称WNetGetLastError 获取网络错误的扩展错误信息WNetGetUniversalName 获取网络中一个文件的远程名称以及/或者UNC (统一命名规范)名称WNetGetUser 获取一个网络资源用以连接的名字WNetOpenEnum 启动对网络资源进行枚举的过程2. API之消息函数BroadcastSystemMessage 将一条系统消息广播给系统中所有的顶级窗口GetMessagePos 取得消息队列中上一条消息处理完毕时的鼠标指针屏幕位置GetMessageTime 取得消息队列中上一条消息处理完毕时的时间PostMessage 将一条消息投递到指定窗口的消息队列PostThreadMessage 将一条消息投递给应用程序RegisterWindowMessage 获取分配给一个字串标识符的消息编号ReplyMessage 答复一个消息SendMessage 调用一个窗口的窗口函数,将一条消息发给那个窗口SendMessageCallback 将一条消息发给窗口SendMessageTimeout 向窗口发送一条消息SendNotifyMessage 向窗口发送一条消息3. API之文件处理函数CloseHandle 关闭一个内核对象。
DELPHI中使用API函数详解
DELPHI中使用API函数详解在Delphi中,可以使用API函数来实现一些特定的功能或操作,这些API函数可以直接调用Windows操作系统提供的功能。
本文将详细介绍如何在Delphi中使用API函数。
在Delphi中,可以使用以下方法来调用API函数:1. 声明API函数:首先需要在Delphi中声明API函数,可以在程序中的任何地方声明。
声明API函数的语法如下:```delphifunction 函数名(参数列表): 返回值类型; stdcall; external '库名.dll';```其中,函数名是API函数的名称,参数列表包含了API函数需要接收的参数,返回值类型是API函数的返回值类型,stdcall表示使用标准调用规范,external后面的字符串表示API函数所在的动态链接库文件。
例如,要声明一个在user32.dll库中的MessageBox函数,可以写成以下代码:```delphifunction MessageBox(hWnd: HWND; lpText: LPCWSTR; lpCaption: LPCWSTR; uType: UINT): Integer; stdcall; external 'user32.dll';```2.调用API函数:声明完API函数后,就可以在程序中直接调用了。
调用API函数的方法与调用普通函数类似,只需传递相应的参数即可。
例如,使用之前声明的MessageBox函数来显示一个消息框,可以写成以下代码:```delphibeginMessageBox(0, 'Hello World', '提示', MB_OK);end;```上述代码中,第一个参数0表示消息框的父窗口句柄,'Hello World'表示要显示的消息文本,'提示'表示消息框的标题,MB_OK表示消息框的样式。
怎样在DELPHI中使用API函数
怎样在DELPHI中使用API函数在Delphi中,可以使用API函数实现许多功能,例如文件操作、窗口管理、注册表操作、网络通信等。
以下是一些常见的示例:1.文件操作:在Delphi中,使用API函数可以执行各种文件操作,例如创建、移动、复制和删除文件。
以下是一个创建文件的示例代码:```pascalprocedure CreateFileExample;varhFile: THandle;beginhFile := CreateFile('C:\example.txt', GENERIC_WRITE, 0, nil, CREATE_NEW, FILE_ATTRIBUTE_NORMAL, 0);if hFile <> INVALID_HANDLE_VALUE thenbegin//文件创建成功,执行其他操作...CloseHandle(hFile);end;end;```2.窗口管理:使用API函数可以管理窗口,例如最大化、最小化、激活和关闭窗口。
以下是一个最大化窗口的示例代码:```pascalprocedure MaximizeWindowExample(hWnd: HWND);beginShowWindow(hWnd, SW_MAXIMIZE);end;```3.注册表操作:API函数可以用于读取和写入注册表项。
以下是一个读取注册表项的示例代码:```pascalprocedure ReadRegistryExample;varhKey: HKEY;RegValue: DWORD;beginif RegOpenKeyEx(HKEY_LOCAL_MACHINE,'Software\Microsoft\Windows', 0, KEY_READ, hKey) = ERROR_SUCCESS thenbeginbegin//注册表项读取成功,执行其他操作...end;RegCloseKey(hKey);end;end;```4.网络通信:API函数可以用于建立和管理网络连接,例如连接到远程服务器、发送和接收网络数据等。
Delphi_Api函数大全
llseek 设置文件中进行读写的当 前位置 LockFile 锁定文件的某一部分, 使其不与其他应用程序共享 LockFileEx 与LockFile相似,只 是它提供了更多的功能 lopen 以二进制模式打开指定的文 件 lread 将文件中的数据读入内存缓 冲区 lwrite 将数据从内存缓冲区写入 一个文件 LZClose 关闭由LZOpenFile 或 LZInit函数打开的一个文件 LZCopy 复制一个文件 LZInit 这个函数用于初始化内部 缓冲区 LZOpenFile 该函数能执行大量不 同的文件处理,而且兼容于压缩文 件 LZRead 将数据从文件读入内存缓 冲区 LZSeek 设置一个文件中进行读写 的当前位置 MapViewOfFile 将一个文件映射对 象映射到当前应用程序的地址空间 MoveFile 移动文件 OpenFile 这个函数能执行大量不 同的文件操作 OpenFileMapping 打开一个现成的 文件映射对象 QueryDosDevice 在Windows NT 中,DOS设备名会映射成NT系统设 备名。该函数可判断当前的设备映 射情况 ReadFile 从文件中读出数据 ReadFileEx 与ReadFile相似,只 是它只能用于异步读操作,并包含 了一个完整的回调 RegCloseKey 关闭系统注册表中的 一个项(或键) RegConnectRegistry 访问远程系 统的部分注册表 RegCreateKey 在指定的项下创建 或打开一个项
RegCreateKeyEx 在指定项下创建 新项的更复杂的方式。在Win32环 境中建议使用这个函数 RegDeleteKey 删除现有项下方一 个指定的子项 RegDeleteValue 删除指定项下方 的一个值 RegEnumKey 枚举指定项的子项。 在Win32环境中应使用 RegEnumKeyEx RegEnumKeyEx 枚举指定项下方的 子项 RegEnumValue 枚举指定项的值 RegFlushKey 将对项和它的子项作 出的改动实际写入磁盘 RegGetKeySecurity 获取与一个注 册表项有关的安全信息 RegLoadKey 从以前用RegSaveKey 函数创建的一个文件里装载注册表 信息 RegNotifyChangeKeyValue 注册表 项或它的任何一个子项发生变化 时,用这个函数提供一种通知机制 RegOpenKey 打开一个现有的注册 表项 RegOpenKeyEx 打开一个现有的项 。在win32下推荐使用这个函数 RegQueryInfoKey 获取与一个项有 关的信息 RegQueryValue 取得指定项或子项 的默认(未命名)值 RegQueryValueEx 获取一个项的设 置值 RegReplaceKey 用一个磁盘文件保 存的信息替换注册表信息;并创建 一个备份,在其中包含当前注册表 信息 RegRestoreKey 从一个磁盘文件恢 复注册表信息 RegSaveKey 将一个项以及它的所 有子项都保存到一个磁盘文件 RegSetKeySecurity 设置指定项的 安全特性 RegSetValue 设置指定项或子项的 默认值 RegSetValueEx 设置指定项的值
Delphi函数大全
Delphi procedure and function [标准函数和过程]首部 procedure Abort;$[SysUtils功能引起放弃的意外处理。
说明不显示任何错误信息。
首部 function Abs(N: <Number>): <Number>;$[System功能返回参数N的绝对值。
说明函数结果与参数有相同类型,参数可以是整型也可以是浮点型。
## Abs(-12) = 12;Abs(-12.03) = 12.03首部 procedure AddExitProc(Proc: TProcedure);$[SysUtils功能将旧版本某一过程添加到当前版本运行的库的结束过程表中。
说明只能向下兼容,不能用在当前使用版本的首部 function Addr(X): Pointer;$[System功能返回指定对象的内存地址。
说明地址运算符 @ 可以产生与Addr相同的结果。
首部 procedure AddTerminateProc(TermProc: TTerminateProc);$[SysUtils功能将一过程添加到运行时库的终止过程表中。
说明 Delphi 在程序结束时将终止该程序的全部进程,可以终止的进程都放在终止过程表中,程序通过结束终止过程表所有的进程来实现终止全部进程的目的。
首部 function AdjustLineBreaks(const S: string): string;$[SysUtils功能将给定字符串的行分隔符调整为Cr/Lf序列。
说明首部 function AllocMem(Size: Cardinal): Pointer;$[SysUtils功能在堆栈上分配给定大小为 Size字节的块,即在内存里开辟Size 大小的空间。
说明 Cardinal 0..4294967295 32位无符号整数首部 function AnsiCompareFileName(const S1, S2: string): Integer;$[SysUtils功能比较两个文件名的大小。
Delphi函数大全
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函数参考例子━━━━━━━━━━━━━━━━━━━━━。
API 进程与线程函数(delphi)
WinAPI: WinExec - 运行外部程序//声明WinExec(lpCmdLine: LPCSTR; {文件名和参数; 如没指定路径会按以下顺序查找: 程序目录/当前目录/S ystem32/Windows/PATH环境变量}uCmdShow: UINT {启动选项}): UINT;//返回值:大于31{调用成功}等于0{内存不足}ERROR_FILE_NOT_FOUND = 2; {文件名错误}ERROR_PATH_NOT_FOUND = 3; {路径名错误}ERROR_BAD_FORMAT = 11; {EXE 文件无效}//uCmdShow 参数可选值:SW_HIDE = 0; {隐藏, 并且任务栏也没有最小化图标}SW_SHOWNORMAL = 1; {用最近的大小和位置显示, 激活}SW_NORMAL = 1; {同 SW_SHOWNORMAL}SW_SHOWMINIMIZED = 2; {最小化, 激活}SW_SHOWMAXIMIZED = 3; {最大化, 激活}SW_MAXIMIZE = 3; {同 SW_SHOWMAXIMIZED}SW_SHOWNOACTIVATE = 4; {用最近的大小和位置显示, 不激活}SW_SHOW = 5; {同 SW_SHOWNORMAL}SW_MINIMIZE = 6; {最小化, 不激活}SW_SHOWMINNOACTIVE = 7; {同 SW_MINIMIZE}SE_ERR_SHARE = 26; {发生共享错误}SE_ERR_ASSOCINCOMPLETE = 27; {文件名不完全或无效}SE_ERR_DDETIMEOUT = 28; {超时}SE_ERR_DDEFAIL = 29; {DDE 事务失败}SE_ERR_DDEBUSY = 30; {正在处理其他 DDE 事务而不能完成该 DDE 事务} SE_ERR_NOASSOC = 31; {没有相关联的应用程序}//ShowCmd 参数可选值:SW_HIDE = 0; {隐藏}SW_SHOWNORMAL = 1; {用最近的大小和位置显示, 激活}SW_NORMAL = 1; {同 SW_SHOWNORMAL}SW_SHOWMINIMIZED = 2; {最小化, 激活}SW_SHOWMAXIMIZED = 3; {最大化, 激活}SW_MAXIMIZE = 3; {同 SW_SHOWMAXIMIZED}SW_SHOWNOACTIVATE = 4; {用最近的大小和位置显示, 不激活}SW_SHOW = 5; {同 SW_SHOWNORMAL}SW_MINIMIZE = 6; {最小化, 不激活}SW_SHOWMINNOACTIVE = 7; {同 SW_MINIMIZE}SW_SHOWNA = 8; {同 SW_SHOWNOACTIVATE}SW_RESTORE = 9; {同 SW_SHOWNORMAL}SW_SHOWDEFAULT = 10; {同 SW_SHOWNORMAL}SW_MAX = 10; {同 SW_SHOWNORMAL}//举例说明更多问题(别忘了 uses ShellAPI;):procedure TForm1.FormCreate(Sender: TObject);beginStringGrid1.Cells[0,0] := '当前线程虚拟句柄: ';StringGrid1.Cells[0,1] := '当前线程 ID: ';StringGrid1.Cells[0,2] := '当前进程虚拟句柄: ';StringGrid1.Cells[0,3] := '当前进程 ID: ';StringGrid1.Cells[1,0] := IntToStr(GetCurrentThread);StringGrid1.Cells[1,1] := IntToStr(GetCurrentThreadID);StringGrid1.Cells[1,2] := IntToStr(GetCurrentProcess);StringGrid1.Cells[1,3] := IntToStr(GetCurrentProcessId);{下面是显示格式的调整}StringGrid1.Align := alClient;StringGrid1.FixedRows := 0;StringGrid1.RowCount := 4;StringGrid1.ColCount := 2;StringGrid1.ColWidths[0] := StringGrid1.Canvas.TextWidth(StringGrid1.Cell s[0,0]) + 4;StringGrid1.ColWidths[1] := StringGrid1.Canvas.TextWidth(StringGrid1.Cell s[0,1]) + 4;end;end.//效果图:GetWindowThreadProcessId(Handle, @c);ShowMessage(IntToStr(c)); {2792; 随机的}{在本例中相同于 GetCurrentProcessID 的结果}c := GetCurrentProcessID;ShowMessage(IntToStr(c)); {2792}c := GetWindowThreadProcessId(Handle, nil);ShowMessage(IntToStr(c)); {2748}{在本例中相同于 GetCurrentThreadID 的结果}c := GetCurrentThreadID;ShowMessage(IntToStr(c)); {2748}end;end.WinAPI: OpenProcess、GetExitCodeProcess、TerminateProcess (测试强制关闭OICQ)//声明:{返回进程的句柄}OpenProcess(dwDesiredAccess: DWORD; {访问选项}bInheritHandle: BOOL; {能否继承; True 表示能用 CreateProcess 继承句柄创建新进程}dwProcessId: DWORD {指定进程 ID}): THandle; {成功会返回进程句柄; 失败返回 0}//dwDesiredAccess 可选值:PROCESS_TERMINATE = $0001; {允许 TerminateProcess 使用进程句柄来关闭进程}PROCESS_CREATE_THREAD = $0002; {允许 CreateRemoteThread 使用进程句柄来创建线程}PROCESS_VM_OPERATION = $0008; {允许 VirtualProtectEx 使用进程句柄来改变进程的虚拟内存}PROCESS_VM_READ = $0010; {允许 ReadProcessMemory 使用进程句柄从进程的虚拟内存中读取数据}PROCESS_VM_WRITE = $0020; {允许 WriteProcessMemory 使用进程句柄向进程的虚拟内存中写入数据}PROCESS_DUP_HANDLE = $0040; {允许 DuplicateHandle 把进程句柄当作源句柄或目标句柄进行复制}PROCESS_CREATE_PROCESS = $0080; {默认值}PROCESS_SET_QUOTA = $0100; {允许 SetProcessWorkingSetSize 使用进程句柄来来设置虚拟内存的上限值}PROCESS_SET_INFORMATION = $0200; {允许 SetPriorityClass 使用进程句柄来设置进程优先级}PROCESS_QUERY_INFORMATION = $0400; {允许 GetExitCodeProcess 或 GetPriorityCl ass 通过进程句柄读取进程信息}SYNCHRONIZE = $00100000; {允许任何等待的函数使用进程句柄}PROCESS_ALL_ACCESS = (STANDARD_RIGHTS_REQUIRED or SYNCHRONIZE or$FFF); {允许所有权限}{获取指定进程的退出码}GetExitCodeProcess(提示: #32770 是提前知道的类名, 获取方法可参见:/del/archive/2008/03/09/1097942.htmlGetWindowThreadProcessId函数请参见: /del/archive/2008/03/10/1098475.html//能不能获取记事本的句柄?varh: Cardinal;beginh := GetModuleHandle('notepad.exe');ShowMessage(IntToStr(h)); {0; 失败}{因为当前进程和记事本的进程是相互独立的; }{如果用能够冲破进程、面向全局的 dll 应该可以.}end;WinAPI: GetModuleFileName、GetModuleHandleunit Unit1;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;typeTForm1 = class(TForm)Button1: TButton;procedure FormCreate(Sender: TObject);procedure Button1Click(Sender: TObject);end;varForm1: TForm1;implementation{$R *.dfm}uses PsAPI; {GetModuleFileNameEx 函数需要它}{根据窗口句柄获取所在程序路径的函数}function GetProcessExePath(h: HWND): string;varpid: Cardinal;pHandle: THandle;buf: array[0..MAX_PATH] of Char;begin{先获取进程 ID}GetWindowThreadProcessId(h, @pid);{再获取进程句柄}pHandle := OpenProcess(PROCESS_ALL_ACCESS, False, pid); {获取进程路径}GetModuleFileNameEx(pHandle, 0, buf, Length(buf));CloseHandle(pHandle);Result := buf;end;{测试当前程序}procedure TForm1.Button1Click(Sender: TObject);varpath: string;beginpath := GetProcessExePath(Handle);ShowMessage(path);end;{测试记事本 - 需要随便打开一个记事本}procedure TForm1.Button2Click(Sender: TObject);varwh: HWND;path: string;。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(DELPHI)API函数大全1. API之网络函数WNetAddConnection 创建同一个网络资源的永久性连接WNetAddConnection2 创建同一个网络资源的连接WNetAddConnection3 创建同一个网络资源的连接WNetCancelConnection 结束一个网络连接WNetCancelConnection2 结束一个网络连接WNetCloseEnum 结束一次枚举操作WNetConnectionDialog 启动一个标准对话框,以便建立同网络资源的连接WNetDisconnectDialog 启动一个标准对话框,以便断开同网络资源的连接WNetEnumResource 枚举网络资源WNetGetConnection 获取本地或已连接的一个资源的网络名称WNetGetLastError 获取网络错误的扩展错误信息WNetGetUniversalName 获取网络中一个文件的远程名称以及/或者UNC (统一命名规范)名称WNetGetUser 获取一个网络资源用以连接的名字WNetOpenEnum 启动对网络资源进行枚举的过程2. API之消息函数BroadcastSystemMessage 将一条系统消息广播给系统中所有的顶级窗口GetMessagePos 取得消息队列中上一条消息处理完毕时的鼠标指针屏幕位置GetMessageTime 取得消息队列中上一条消息处理完毕时的时间PostMessage 将一条消息投递到指定窗口的消息队列PostThreadMessage 将一条消息投递给应用程序RegisterWindowMessage 获取分配给一个字串标识符的消息编号ReplyMessage 答复一个消息SendMessage 调用一个窗口的窗口函数,将一条消息发给那个窗口SendMessageCallback 将一条消息发给窗口SendMessageTimeout 向窗口发送一条消息SendNotifyMessage 向窗口发送一条消息3. API之文件处理函数CloseHandle 关闭一个内核对象。
其中包括文件、文件映射、进程、线程、安全和同步对象等CompareFileTime 对比两个文件的时间CopyFile 复制文件CreateDirectory 创建一个新目录CreateFile 打开和创建文件、管道、邮槽、通信服务、设备以及控制台CreateFileMapping 创建一个新的文件映射对象DeleteFile 删除指定文件DeviceIoControl 对设备执行指定的操作DosDateTimeToFileTime 将DOS日期和时间值转换成一个win32 FILETIME 值FileTimeToDosDateTime 将一个win32 FILETIME 值转换成DOS日期和时间值FileTimeToLocalFileTime 将一个FILETIME结构转换成本地时间FileTimeToSystemTime 根据一个FILETIME结构的内容,装载一个SYSTEMTIME结构FindClose 关闭由FindFirstFile函数创建的一个搜索句柄FindFirstFile 根据文件名查找文件FindNextFile 根据调用FindFirstFile函数时指定的一个文件名查找下一个文件FlushFileBuffers 针对指定的文件句柄,刷新内部文件缓冲区FlushViewOfFile 将写入文件映射缓冲区的所有数据都刷新到磁盘GetBinaryType 判断文件是否可以执行GetCompressedFileSize 判断一个压缩文件在磁盘上实际占据的字节数GetCurrentDirectory 在一个缓冲区中装载当前目录GetDiskFreeSpace 获取与一个磁盘的组织有关的信息,以及了解剩余空间的容量GetDiskFreeSpaceEx 获取与一个磁盘的组织以及剩余空间容量有关的信息GetDriveType 判断一个磁盘驱动器的类型GetExpandedName 取得一个压缩文件的全名GetFileAttributes 判断指定文件的属性GetFileInformationByHandle 这个函数提供了获取文件信息的一种机制GetFileSize 判断文件长度GetFileTime 取得指定文件的时间信息GetFileType 在给出文件句柄的前提下,判断文件类型GetFileVersionInfo 从支持版本标记的一个模块里获取文件版本信息GetFileVersionInfoSize 针对包含了版本资源的一个文件,判断容纳文件版本信息需要一个多大的缓冲区GetFullPathName 获取指定文件的完整路径名GetLogicalDrives 判断系统中存在哪些逻辑驱动器字母GetLogicalDriveStrings 获取一个字串,其中包含了当前所有逻辑驱动器的根驱动器路径GetOverlappedResult 判断一个重叠操作当前的状态GetPrivateProfileInt 为初始化文件(.ini文件)中指定的条目获取一个整数值GetPrivateProfileSection 获取指定小节(在.ini文件中)所有项名和值的一个列表GetPrivateProfileString 为初始化文件中指定的条目取得字串GetProfileInt 取得win.ini初始化文件中指定条目的一个整数值GetProfileSection 获取指定小节(在win.ini文件中)所有项名和值的一个列表GetProfileString 为win.ini初始化文件中指定的条目取得字串GetShortPathName 获取指定文件的短路径名GetSystemDirectory 取得Windows系统目录(即System目录)的完整路径名GetTempFileName 这个函数包含了一个临时文件的名字,它可由应用程序使用GetTempPath 获取为临时文件指定的路径GetVolumeInformation 获取与一个磁盘卷有关的信息GetWindowsDirectory 获取Windows目录的完整路径名hread 参考lreadhwrite 参考lwrite函数lclose 关闭指定的文件lcreat 创建一个文件llseek 设置文件中进行读写的当前位置LockFile 锁定文件的某一部分,使其不与其他应用程序共享LockFileEx 与LockFile相似,只是它提供了更多的功能lopen 以二进制模式打开指定的文件lread 将文件中的数据读入内存缓冲区lwrite 将数据从内存缓冲区写入一个文件LZClose 关闭由LZOpenFile 或LZInit函数打开的一个文件LZCopy 复制一个文件LZInit 这个函数用于初始化内部缓冲区LZOpenFile 该函数能执行大量不同的文件处理,而且兼容于压缩文件LZRead 将数据从文件读入内存缓冲区LZSeek 设置一个文件中进行读写的当前位置MapViewOfFile 将一个文件映射对象映射到当前应用程序的地址空间MoveFile 移动文件OpenFile 这个函数能执行大量不同的文件操作OpenFileMapping 打开一个现成的文件映射对象QueryDosDevice 在Windows NT中,DOS设备名会映射成NT系统设备名。
该函数可判断当前的设备映射情况ReadFile 从文件中读出数据ReadFileEx 与ReadFile相似,只是它只能用于异步读操作,并包含了一个完整的回调RegCloseKey 关闭系统注册表中的一个项(或键)RegConnectRegistry 访问远程系统的部分注册表RegCreateKey 在指定的项下创建或打开一个项RegCreateKeyEx 在指定项下创建新项的更复杂的方式。
在Win32环境中建议使用这个函数RegDeleteKey 删除现有项下方一个指定的子项RegDeleteValue 删除指定项下方的一个值RegEnumKey 枚举指定项的子项。
在Win32环境中应使用RegEnumKeyEx RegEnumKeyEx 枚举指定项下方的子项RegEnumValue 枚举指定项的值RegFlushKey 将对项和它的子项作出的改动实际写入磁盘RegGetKeySecurity 获取与一个注册表项有关的安全信息RegLoadKey 从以前用RegSaveKey函数创建的一个文件里装载注册表信息RegNotifyChangeKeyValue 注册表项或它的任何一个子项发生变化时,用这个函数提供一种通知机制RegOpenKey 打开一个现有的注册表项RegOpenKeyEx 打开一个现有的项。
在win32下推荐使用这个函数RegQueryInfoKey 获取与一个项有关的信息RegQueryValue 取得指定项或子项的默认(未命名)值RegQueryValueEx 获取一个项的设置值RegReplaceKey 用一个磁盘文件保存的信息替换注册表信息;并创建一个备份,在其中包含当前注册表信息RegRestoreKey 从一个磁盘文件恢复注册表信息RegSaveKey 将一个项以及它的所有子项都保存到一个磁盘文件RegSetKeySecurity 设置指定项的安全特性RegSetValue 设置指定项或子项的默认值RegSetValueEx 设置指定项的值RegUnLoadKey 卸载指定的项以及它的所有子项RemoveDirectory 删除指定目录SearchPath 查找指定文件SetCurrentDirectory 设置当前目录SetEndOfFile 针对一个打开的文件,将当前文件位置设为文件末尾SetFileAttributes 设置文件属性SetFilePointer 在一个文件中设置当前的读写位置SetFileTime 设置文件的创建、访问及上次修改时间SetHandleCount 这个函数不必在win32下使用;即使使用,也不会有任何效果SetVolumeLabel 设置一个磁盘的卷标(Label)SystemTimeToFileTime 根据一个FILETIME结构的内容,载入一个SYSTEMTIME结构UnlockFile 解除对一个文件的锁定UnlockFileEx 解除对一个文件的锁定UnmapViewOfFile 在当前应用程序的内存地址空间解除对一个文件映射对象的映射VerFindFile 用这个函数决定一个文件应安装到哪里VerInstallFile 用这个函数安装一个文件VerLanguageName 这个函数能根据16位语言代码获取一种语言的名称VerQueryValue 这个函数用于从版本资源中获取信息WriteFile 将数据写入一个文件WriteFileEx 与WriteFile类似,只是它只能用于异步写操作,并包括了一个完整的回调WritePrivateProfileSection 为一个初始化文件(.ini)中指定的小节设置所有项名和值WritePrivateProfileString 在初始化文件指定小节内设置一个字串WriteProfileSection 为Win.ini初始化文件中一个指定的小节设置所有项名和值WriteProfileString 在Win.ini初始化文件指定小节内设置一个字串4. API之打印函数AbortDoc 取消一份文档的打印AbortPrinter 删除与一台打印机关联在一起的缓冲文件AddForm 为打印机的表单列表添加一个新表单AddJob 用于获取一个有效的路径名,以便用它为作业创建一个后台打印文件。