delphi数学模块函数、过程大全
更全的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常用过程和函数
DELPHI常用过程和函数DELPHI常用过程和函数2010-02-16 21:25一、数学运算函数1、绝对值函数function Abs(x);返回参数X的绝对值。
参数X可以是整型或实型,返回值为非负的整数实数;2、平方与平方根函数function Sqr(x:Extended):Extended;参数X实型表达式,返回X的平方,返回值也是实型数据。
function Sqrt(x:Extended):Extended;参数X非负实型表达式,返回X的算术平方根,返回值也是实型数据。
3、三角函数function Sin(x:Extended):Extended;function Cos(x:Extended):Extended;function ArcTan(x:Extended):Extended;参数X为数值表达式。
4、取整数部分与取小数部分函数function Int(x:Extended):Extended;参数X实行表达式,返回X的整数部分。
function Frac(x:Extended):Extended;参数X实行表达式,返回X的小数部分。
5、取整函数function Trunc(x:Extended):Int64;参数X实行表达式,返回不大于X的整数部分。
function Roundc(x:Extended):Int64;参数X实行表达式,返回对X的小数部分进行四舍五入后的整数部分。
6、指数函数和对数函数function Exp(x:Real):Real;参数X为实型表达式,返回e x,返回值也是实型数据。
function Ln(x:Real):Real;参数X为实型表达式,返回X的自然对数值,返回值也是实型数据。
7、随机函数function Random[(Range:Integer)];返回一个大于或等于0且小于参数Range的随机实数,如果缺省参数Range则返回大于或等于0且小于1的随机实数。
更全的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 AnsiIndexT ext(串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 AnsiReplaceT ext(串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|<maxint< p="">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|<maxint< p="">2.8 Frac函数返回参数的小数部分2.9 InRange函数范围测试函数2.10 Int函数取整2.11 IsZero函数零测试,若值为0(或者是非常非常接近于0)则返回真2.12 Ldexp函数返回X*2^P2.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)<range,无参返回(0,1)的数< p="">2.24 RoundT o函数如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 CelsiusT oFahrenheit函数8.2 CompatibleConversionType函数8.3 CompatibleConversionTypes函数8.4 Convert函数数据类型转换8.5 ConvertFrom函数数据类型转换8.6 ConvertTo函数数据类型转换8.7 ConvFamilyToDescription 函数8.8 ConvTypeT oDescription函数8.9 ConvTypeT oFamily函数8.10 ConvUnitAdd函数8.11 ConvUnitCompareValue函数8.12 ConvUnitDec函数8.13 ConvUnitDiff函数8.14 ConvUnitInc函数8.15 ConvUnitSameValue函数8.16 ConvUnitT oStr函数8.17 ConvUnitWithinNext函数8.18 ConvUnitWithinPrevious函数8.19 CycleToDeg函数圆周转度数8.20 CycleToRad函数圆周转弧度8.21 CycleT oGrad函数圆周转梯度8.22 DateTimeToJulianDate 函数8.23 DateTimeT oModifiedJulianDate函数8.24 DateTimeT oUnix函数8.25 DegToCycle函数度数转圆周8.26 DegToGrad函数度数转梯度8.27 DegToRad函数度数转弧度8.28 DescriptionToConvFamily函数8.29 DescriptionT oConvType函数8.30 FahrenheitT oCelsius函数8.31 GetConvFamilies过程8.32 GetConvTypes过程8.33 GradToCycle函数梯度转圆周8.34 GradToDeg函数梯度转度数8.35 GradToRad函数梯度转弧数8.36 JulianDateT oDateTime 函数8.37 RadToCycle函数弧度转圆周8.38 RadToDeg函数弧度转度数8.39 RadToGrad函数弧度转梯数8.40 RaiseConversionError过程8.41 RegisterConversionFamily函数8.42 RegisterConversionType函数8.43 StrToConvUnit函数8.44 TryConvTypeT oFamily函数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 DateTimeT oString过程将日期时间格式转换为字符串9.10 DateTimeT oStr函数将日期时间格式转换为字符串9.11 DateTimeT oSystemTime过程日期时间类型转换成系统时间类型9.12 DateTimeT oTimeStamp函数返回当前的日期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 TimeStampT oDateTime函数返回当前的时间9.154 TimeStampT oMSecs函数返回当前的时间9.155 TimeT oStr函数将时间格式转换为字符串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 BoolT oStr函数将布尔型逻辑值转换为字符串10.4 Bounds函数边框10.5 CompToCurrency函数将实数Comp型转换为货币Currency型数据10.6 CompToDouble函数将实数Comp型转换为双精度实数Double型数据10.24 CurrToStrF函数将货币型数转换为字符串10.23 CurrT oStr函数将货币型数转换为字符串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 LocalSystemTimeT oFileTime 本地时间转文件时间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 CharsetT oIdent函数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章格式化函数。
Delphi函数大全
Delphi函数大全首部function Languages: TLanguages; $[SysUtils.pas功能返回系统语言对象说明通过此函数可以得到系统的语言环境参考type SysUtils.TLanguages例子///////Begin Languagesprocedure TForm1.Button1Click(Sender: TObject);varI: Integer;beginMemo1.Clear;for I := 0 to Languages.Count - 1 do;end;///////End Languages━━━━━━━━━━━━━━━━━━━━━首部function AllocMem(Size: Cardinal): Pointer; $[SysUtils.pas 功能返回一个指定大小Size的内存块说明配合用FreeMem释放资源参考function System.GetMem例子///////Begin AllocMemprocedure TForm1.Button1Click(Sender: TObject);varI: PInteger;beginI := AllocMem(SizeOf(Integer));I^ := 100;Edit1.Text := IntToStr(I^);FreeMem(I, SizeOf(Integer));end;///////End AllocMem━━━━━━━━━━━━━━━━━━━━━首部procedure AddExitProc(Proc: TProcedure); $[SysUtils.pas 功能添加一个退出处理的过程说明建议用finalization部分取代参考<NULL>例子////////Begin AddExitProcusesShellApi;procedure ExitProc;beginShellExecute(0, 'Open', 'Calc.exe', nil, nil, SW_SHOW);end;procedure TForm1.Button1Click(Sender: TObject);beginAddExitProc(ExitProc);end;////////End AddExitProc━━━━━━━━━━━━━━━━━━━━━首部function NewStr(const S: string): PString; deprecated; $[SysUtils.pas功能返回一个新的字符串指针地址说明字符串S为空时返回NullStr参考procedure System.New例子////////Begin NewStr,DisposeStrprocedure TForm1.Button1Click(Sender: TObject);varP: PString;beginP := NewStr(Edit1.Text);Edit2.Text := P^;DisposeStr(P);end;////////End NewStr,DisposeStr━━━━━━━━━━━━━━━━━━━━━首部procedure DisposeStr(P: PString); deprecated; $[SysUtils.pas功能释放字符串指针P资源说明配合函数NewStr使用参考procedure System.Dispose例子<如上参见,如下参见>━━━━━━━━━━━━━━━━━━━━━首部procedure AssignStr(var P: PString; const S: string); deprecated; $[SysUtils.pas 功能将字符串S更新给字符串指针P说明更新值时会释放以前字符串指针的资源参考function SysUtils.NewStr;function SysUtils.DisposeStr例子////////Begin AssignStrprocedure TForm1.Button1Click(Sender: TObject);varP: PString;beginP := nil;AssignStr(P, Edit1.Text);Edit2.Text := P^;DisposeStr(P);end;////////End AssignStr━━━━━━━━━━━━━━━━━━━━━首部procedure AppendStr(var Dest: string; const S: string); deprecated; $[SysUtils.pas功能在字符串Dest后追加字符串S说明相当于Dest := Dest + S;Delphi6已经不建议使用参考<NULL>例子////////Begin AppendStrprocedure TForm1.Button1Click(Sender: TObject);varS: string;beginS := Edit2.Text;AppendStr(S, Edit1.Text);Edit2.Text := S;end;////////End AppendStr━━━━━━━━━━━━━━━━━━━━━首部function UpperCase(const S: string): string; $[SysUtils.pas功能返回字符串S的大写形式说明非小写字符不处理参考procedure System.SetLength例子Edit2.Text := UpperCase(Edit1.Text);━━━━━━━━━━━━━━━━━━━━━首部function LowerCase(const S: string): string; $[SysUtils.pas功能返回字符串S的小写形式说明非大写字符不处理参考procedure System.SetLength例子Edit2.Text := LowerCase(Edit1.Text);━━━━━━━━━━━━━━━━━━━━━首部function CompareStr(const S1, S2: string): Integer; $[SysUtils.pas功能返回比较两个字符说明当S1>S2返回值>0;当S1<S2返回值<0;当S1=S2返回值=0;区分大小写参考<NULL>例子SpinEdit1.Value := CompareStr(Edit1.Text, Edit2.Text);━━━━━━━━━━━━━━━━━━━━━首部function CompareMem(P1, P2: Pointer; Length: Integer): Boolean; assembler; $[SysUtils.pas功能返回比较两个内存指针说明CompareMem(PChar('12a'), PChar('12c'), 2)=True;CompareMem(PChar('12a'), PChar('12c'), 3)=False参考<NULL>例子CheckBox1.Checked := CompareMem(Self, Form1, 8);━━━━━━━━━━━━━━━━━━━━━首部function CompareText(const S1, S2: string): Integer; $[SysUtils.pas功能返回比较两个字符串说明不区分大小写参考<NULL>例子SpinEdit1.Value := CompareText(Edit1.Text, Edit2.Text);━━━━━━━━━━━━━━━━━━━━━首部function SameText(const S1, S2: string): Boolean; $[SysUtils.pas功能返回两个字符串是否相等说明不区分大小写参考<NULL>例子CheckBox1.Checked := SameText(Edit1.Text, Edit2.Text);━━━━━━━━━━━━━━━━━━━━━首部function AnsiUpperCase(const S: string): string; $[SysUtils.pas功能返回字符串S的大写形式说明ANSI(American National Standards Institute)美国国家标准协会;非小写的字符不变参考function Windows.CharUpperBuff例子Edit2.Text := AnsiUpperCase(Edit1.Text);━━━━━━━━━━━━━━━━━━━━━首部function AnsiLowerCase(const S: string): string; $[SysUtils.pas功能返回字符串S的小写形式说明非大写字符不处理参考function Windows.CharLowerBuff例子Edit2.Text := AnsiLowerCase(Edit1.Text);━━━━━━━━━━━━━━━━━━━━━首部function AnsiCompareStr(const S1, S2: string): Integer; $[SysUtils.pas功能反回比较两个字符串说明当S1>S2返回值>0;当S1<S2返回值<0;当S1=S2返回值=0;区分大小写参考function pareString例子SpinEdit1.Value := AnsiCompareStr(Edit1.Text, Edit2.Text);━━━━━━━━━━━━━━━━━━━━━首部function AnsiSameStr(const S1, S2: string): Boolean; $[SysUtils.pas功能返回两个字符串是否相等说明区分大小写参考function SysUtils.AnsiCompareStr例子CheckBox1.Checked := AnsiSameStr(Edit1.Text, Edit2.Text);━━━━━━━━━━━━━━━━━━━━━首部function AnsiCompareText(const S1, S2: string): Integer; $[SysUtils.pas功能反回比较两个字符串说明当S1>S2返回值>0;当S1<S2返回值<0;当S1=S2返回值=0;不区分大小写参考function pareString例子SpinEdit1.Value := AnsiCompareText(Edit1.Text, Edit2.Text);━━━━━━━━━━━━━━━━━━━━━首部function AnsiSameText(const S1, S2: string): Boolean; $[SysUtils.pas功能返回两个字符串是否相等说明不区分大小写参考function SysUtils.AnsiCompareText例子CheckBox1.Checked := AnsiSameText(Edit1.Text, Edit2.Text);━━━━━━━━━━━━━━━━━━━━━首部function AnsiStrComp(S1, S2: PChar): Integer; $[SysUtils.pas功能返回比较两个指针字符串说明当S1>S2返回值>0;当S1<S2返回值<0;当S1=S2返回值=0;区分大小写参考function pareString例子SpinEdit1.Value := AnsiStrComp(PChar(Edit1.Text), PChar(Edit2.Text))━━━━━━━━━━━━━━━━━━━━━首部function AnsiStrIComp(S1, S2: PChar): Integer; $[SysUtils.pas功能返回比较两个指针字符串说明当S1>S2返回值>0;当S1<S2返回值<0;当S1=S2返回值=0;不区分大小写;Ignore(忽略) 参考function pareString例子SpinEdit1.Value := AnsiStrIComp(PChar(Edit1.Text), PChar(Edit2.Text))━━━━━━━━━━━━━━━━━━━━━首部function AnsiStrLComp(S1, S2: PChar; MaxLen: Cardinal): Integer; $[SysUtils.pas功能返回比较两个指针字符串指定长度说明当S1>S2返回值>0;当S1<S2返回值<0;当S1=S2返回值=0;区分大小写;Length(长度)参考function pareString例子SpinEdit1.Value := AnsiStrLComp(PChar(Edit1.Text), PChar(Edit2.Text), SpinEdit2.Value)━━━━━━━━━━━━━━━━━━━━━首部function AnsiStrLIComp(S1, S2: PChar; MaxLen: Cardinal): Integer; $[SysUtils.pas功能返回比较两个指针字符串指定长度说明当S1>S2返回值>0;当S1<S2返回值<0;当S1=S2返回值=0;不区分大小写参考function pareString例子SpinEdit1.Value := AnsiStrLIComp(PChar(Edit1.Text), PChar(Edit2.Text), SpinEdit2.Value)━━━━━━━━━━━━━━━━━━━━━首部function AnsiStrLower(Str: PChar): PChar; $[SysUtils.pas功能返回指针字符串小写形式说明非大写字符不处理参考function Windows.CharLower例子Edit2.Text := AnsiStrLower(PChar(Edit1.Text));━━━━━━━━━━━━━━━━━━━━━首部function AnsiStrUpper(Str: PChar): PChar; $[SysUtils.pas功能返回指针字符串大写形式说明非小写字符不处理参考function Windows.CharUpper例子Edit2.Text := AnsiStrUpper(PChar(Edit1.Text));━━━━━━━━━━━━━━━━━━━━━首部function AnsiLastChar(const S: string): PChar; $[SysUtils.pas功能返回字符串S的最后一个指针字符说明当字符串S为空串则返回空指针参考function SysUtils.ByteType例子Edit2.Text := AnsiLastChar(Edit1.Text);━━━━━━━━━━━━━━━━━━━━━首部function AnsiStrLastChar(P: PChar): PChar; $[SysUtils.pas功能返回指针字符串P的最后一个指针字符说明当字符串P为空空指针则返回空指针参考function SysUtils.ByteType例子Edit2.Text := AnsiLastChar(PChar(Edit1.Text));━━━━━━━━━━━━━━━━━━━━━首部function WideUpperCase(const S: WideString): WideString; $[SysUtils.pas功能返回双字节字符串的大写形式说明WideChar双字节字符参考function Windows.CharUpperBuffW例子Edit2.Text := WideUpperCase(Edit1.Text);━━━━━━━━━━━━━━━━━━━━━首部function WideLowerCase(const S: WideString): WideString; $[SysUtils.pas功能返回双字节字符串的小写形式说明我怎么就测试不出来呢参考function Windows.CharLowerBuffW例子Edit2.Text := WideLowerCase(Edit1.Text);━━━━━━━━━━━━━━━━━━━━━首部function WideCompareStr(const S1, S2: WideString): Integer; $[SysUtils.pas 功能返回比较两个双字节字符串说明当S1>S2返回值>0;当S1<S2返回值<0;当S1=S2返回值=0;区分大小写参考function pareStringW例子SpinEdit1.Value := WideCompareStr(Edit1.Text, Edit2.Text);━━━━━━━━━━━━━━━━━━━━━首部function WideSameStr(const S1, S2: WideString): Boolean; $[SysUtils.pas功能返回两个双字节字符串是否相同说明区分大小写参考function SysUtils.WideCompareStr例子CheckBox1.Checked := WideSameStr(Edit1.Text, Edit2.Text);━━━━━━━━━━━━━━━━━━━━━首部function WideCompareText(const S1, S2: WideString): Integer; $[SysUtils.pas 功能返回比较两个双字节字符串说明当S1>S2返回值>0;当S1<S2返回值<0;当S1=S2返回值=0;不区分大小写参考function pareStringW例子SpinEdit1.Value := WideCompareText(Edit1.Text, Edit2.Text);━━━━━━━━━━━━━━━━━━━━━首部function WideSameText(const S1, S2: WideString): Boolean; $[SysUtils.pas 功能返回两个双字节字符串是否相同说明不区分大小写参考function SysUtils.WideCompareText例子CheckBox1.Checked := WideSameText(Edit1.Text, Edit2.Text);━━━━━━━━━━━━━━━━━━━━━首部function Trim(const S: string): string; overload; $[SysUtils.pas首部function Trim(const S: WideString): WideString; overload; $[SysUtils.pas功能返回除去字符串S左右不可见字符说明小于#32的字符看作不可见字符参考function System.Copy例子Edit2.Text := Trim(Edit1.Text);━━━━━━━━━━━━━━━━━━━━━首部function TrimLeft(const S: string): string; overload; $[SysUtils.pas首部function TrimLeft(const S: WideString): WideString; overload; $[SysUtils.pas功能返回除去字符串S左边不可见字符说明小于#32的字符看作不可见字符参考function System.Copy例子Edit2.Text := TrimLeft(Edit1.Text);━━━━━━━━━━━━━━━━━━━━━首部function TrimRight(const S: string): string; overload; $[SysUtils.pas首部function TrimRight(const S: WideString): WideString; overload; $[SysUtils.pas功能返回除去字符串S右边不可见字符说明小于#32的字符看作不可见字符参考function System.Copy例子Edit2.Text := TrimRight(Edit1.Text);━━━━━━━━━━━━━━━━━━━━━首部function QuotedStr(const S: string): string; $[SysUtils.pas功能返回字符串S在pascal中的表现形式说明单引号中的一个单引号将转成两个参考procedure System.Insert例子Edit2.Text := QuotedStr(Edit1.Text);━━━━━━━━━━━━━━━━━━━━━首部function AnsiQuotedStr(const S: string; Quote: Char): string; $[SysUtils.pas功能返回字符串S以字符Quote为引号的表现形式说明AnsiQuotedStr('hello"world', '@')='@hello"world@';AnsiQuotedStr('hello"world', '"')='"hello""world"'参考function SysUtils.AnsiStrScan例子Edit2.Text := AnsiQuotedStr(Edit1.Text, '"');━━━━━━━━━━━━━━━━━━━━━首部function AnsiExtractQuotedStr(var Src: PChar; Quote: Char): string; $[SysUtils.pas功能返回以字符Quote为引号的表现形式原形说明表现形式非法时Src不变否则为空参考function SysUtils.AnsiStrScan例子///////Begin AnsiExtractQuotedStrprocedure TForm1.Button1Click(Sender: TObject);varP: PChar;beginP := PChar(Edit1.Text);Edit2.Text := AnsiExtractQuotedStr(P, '"');Edit3.Text := P;end;///////End AnsiExtractQuotedStr━━━━━━━━━━━━━━━━━━━━━首部function AnsiDequotedStr(const S: string; AQuote: Char): string; $[SysUtils.pas功能返回以字符AQuote为引号的表现形式原形说明表现形式非法时则返回S参考function SysUtils.AnsiExtractQuotedStr例子Edit2.Text := AnsiDequotedStr(Edit1.Text, '"');━━━━━━━━━━━━━━━━━━━━━首部function AdjustLineBreaks(const S: string; Style: TTextLineBreakStyle = {$IFDEF LINUX} tlbsLF {$ENDIF} {$IFDEF MSWINDOWS} tlbsCRLF {$ENDIF}): string; $[SysUtils.pas功能返回将给定字符串的行分隔符调整为CR/LF序列说明AdjustLineBreaks('1'#13'2'#13)='1'#13#10'2'#13#10;AdjustLineBreaks('1'#10'2'#10)='1'#13#10'2' #13#10参考function SysUtils.StrNextChar例子<NULL>━━━━━━━━━━━━━━━━━━━━━首部function IsValidIdent(const Ident: string): Boolean; $[SysUtils.pas功能返回字符串Ident是否是正确的标识符说明标识符::字母|下划线[字母|下划线|数字]...参考<NULL>例子CheckBox1.Checked := IsValidIdent(Edit1.Text);━━━━━━━━━━━━━━━━━━━━━首部function IntToStr(Value: Integer): string; overload; $[SysUtils.pas首部function IntToStr(Value: Int64): string; overload; $[SysUtils.pas功能返回整数Value转换成字符串说明Format('%d', [Value])参考function SysUtils.FmtStr例子Edit2.Text := IntToStr(SpinEdit1.Value);━━━━━━━━━━━━━━━━━━━━━首部function IntToHex(V alue: Integer; Digits: Integer): string; overload; $[SysUtils.pas首部function IntToHex(V alue: Int64; Digits: Integer): string; overload; $[SysUtils.pas功能返回整数Value转换成十六进制表现结果;Format('%.*x', [Digits, Value])说明参数Digits指定字符最小宽度;最小宽度不足时将用0填充参考function SysUtils.FmtStr例子Edit2.Text := IntToHex(SpinEdit1.Value, SpinEdit2.Value);━━━━━━━━━━━━━━━━━━━━━首部function StrToInt(const S: string): Integer; $[SysUtils.pas功能返回字符串S转换成整数说明字符串非整数表达时将引起异常参考procedure System.Val例子SpinEdit1.Value := StrToInt(Edit1.Text);━━━━━━━━━━━━━━━━━━━━━首部function StrToIntDef(const S: string; Default: Integer): Integer; $[SysUtils.pas功能返回字符串S转换成整数说明字符串非整数表达时则返回默认值Default参考procedure System.Val例子SpinEdit1.Value := StrToIntDef(Edit1.Text, 0);━━━━━━━━━━━━━━━━━━━━━首部function TryStrToInt(const S: string; out Value: Integer): Boolean; $[SysUtils.pas 功能返回字符串S转换成整数V alue是否成功说明字符串非整数表达时返回False并且Value将输出为0参考procedure System.Val例子///////Begin TryStrToIntprocedure TForm1.Button1Click(Sender: TObject);varI: Integer;beginCheckBox1.Checked := TryStrToInt(Edit1.Text, I);SpinEdit1.Value := I;end;///////End TryStrToInt━━━━━━━━━━━━━━━━━━━━━首部function StrToInt64(const S: string): Int64; $[SysUtils.pas功能返回字符串S转换成六十四位整数说明字符串非六十四位整数表达时将引起异常参考procedure System.Val例子SpinEdit1.Value := StrToInt64(Edit1.Text);━━━━━━━━━━━━━━━━━━━━━首部function StrToInt64Def(const S: string; const Default: Int64): Int64; $[SysUtils.pas 功能返回字符串S转换成六十四位整数说明字符串非六十四位整数表达时则返回默认值Default参考procedure System.Val例子SpinEdit1.Value := StrToInt64Def(Edit1.Text, 0);━━━━━━━━━━━━━━━━━━━━━首部function TryStrToInt64(const S: string; out Value: Int64): Boolean; $[SysUtils.pas 功能返回字符串S转换成六十四位整数Value是否成功说明字符串非六十四位整数表达时返回False并且Value将输出为0参考procedure System.Val例子///////Begin TryStrToInt64procedure TForm1.Button1Click(Sender: TObject);varI: Int64;beginCheckBox1.Checked := TryStrToInt64(Edit1.Text, I);SpinEdit1.Value := I;end;///////End TryStrToInt64━━━━━━━━━━━━━━━━━━━━━首部function StrToBool(const S: string): Boolean; $[SysUtils.pas功能返回字符串S转换成逻辑值说明字符非逻辑表达时将引起异常参考function SysUtils.TryStrToBool例子CheckBox1.Checked := StrToBool(Edit1.Text);━━━━━━━━━━━━━━━━━━━━━首部function StrToBoolDef(const S: string; const Default: Boolean): Boolean; $[SysUtils.pas 功能返回字符串S转换成逻辑值说明字符非逻辑表达时则返回默认值Default参考function SysUtils.TryStrToBool例子CheckBox1.Checked := StrToBoolDef(Edit1.Text, False);━━━━━━━━━━━━━━━━━━━━━首部function TryStrToBool(const S: string; out Value: Boolean): Boolean; $[SysUtils.pas功能返回字符串S转换成逻辑值Value是否成功说明[注意]0为假非0为真;不是'True'和'False';Delphi6 Bug 如下修正参考function SysUtils.AnsiSameText;var SysUtils.TrueBoolStrs;var SysUtils.FalseBoolStrs 例子///////Begin TryStrToBoolprocedure TForm1.Button1Click(Sender: TObject);varB: Boolean;beginSetLength(TrueBoolStrs, 2);SetLength(FalseBoolStrs, 2);TrueBoolStrs[0] := 'True';FalseBoolStrs[0] := 'False';TrueBoolStrs[1] := 'Yes';FalseBoolStrs[1] := 'No';CheckBox1.Checked := TryStrToBool(Edit1.Text, B);CheckBox2.Checked := B;end;///////End TryStrToBool附加///////Begin TryStrToBoolfunction TryStrToBool(const S: string; out Value: Boolean): Boolean;function CompareWith(const aArray: array of string): Boolean;varI: Integer;beginResult := False;for I := Low(aArray) to High(aArray) doif AnsiSameText(S, aArray[I]) thenbeginResult := True;Break;end;end;varLResult: Extended;beginResult := TryStrToFloat(S, LResult);if Result thenValue := LResult <> 0elsebeginResult := True; //修正处VerifyBoolStrArray;if CompareWith(TrueBoolStrs) thenV alue := Trueelse if CompareWith(FalseBoolStrs) thenV alue := FalseelseResult := False;end;end;///////End TryStrToBool━━━━━━━━━━━━━━━━━━━━━首部function BoolToStr(B: Boolean; UseBoolStrs: Boolean = False): string; $[SysUtils.pas 功能返回逻辑值B转换成字符串说明BoolToStr(False, False)='0';BoolToStr(False, True)='-1'参考var SysUtils.TrueBoolStrs;var SysUtils.FalseBoolStrs例子Edit1.Text := BoolToStr(CheckBox1.Checked, CheckBox2.Checked);━━━━━━━━━━━━━━━━━━━━━首部function LoadStr(Ident: Integer): string; $[SysUtils.pas功能返回根据标识Ident的字符串资源说明字符串资源是指程序的内部资源参考function SysUtils.FindStringResource例子Edit2.Text := LoadStr(StrToIntDef(Edit1.Text, 0));━━━━━━━━━━━━━━━━━━━━━首部function FmtLoadStr(Ident: Integer; const Args: array of const): string; $[SysUtils.pas功能返回格式化的字符串资源说明字符串资源是指程序的内部资源参考function SysUtils.FmtStr;function SysUtils.FindStringResource例子<NULL>;━━━━━━━━━━━━━━━━━━━━━首部function FileOpen(const FileName: string; Mode: LongWord): Integer; $[SysUtils.pas功能返回打开文件果说明Mode指定打开文件的模式(fmOpenRead,fmOpenWrite,fmOpenReadWrite....);打开失败则返回负数参考function Windows.CreateFile例子///////Begin FileOpen,FileCloseprocedure TForm1.Button1Click(Sender: TObject);varI: Integer;beginI := FileOpen(Edit1.Text, fmOpenRead);CheckBox1.Checked := I > 0;FileClose(I);end;///////Begin FileOpen,FileClose━━━━━━━━━━━━━━━━━━━━━首部function FileCreate(const FileName: string): Integer; overload; $[SysUtils.pas首部function FileCreate(const FileName: string; Rights: Integer): Integer; overload; $[SysUtils.pas功能返回创建文件说明创建失败则返回负数参考function Windows.CreateFile例子///////Begin FileCreateprocedure TForm1.Button1Click(Sender: TObject);varI: Integer;beginI := FileCreate(Edit1.Text);CheckBox1.Checked := I > 0;FileClose(I);end;///////End FileCreate━━━━━━━━━━━━━━━━━━━━━首部function FileRead(Handle: Integer; var Buffer; Count: LongWord): Integer; $[SysUtils.pas 功能返回读取文件缓冲区的大小说明读取失败则返回负数参考function Windows.ReadFile例子<参见FileOpen>━━━━━━━━━━━━━━━━━━━━━首部function FileWrite(Handle: Integer; const Buffer; Count: LongWord): Integer; $[SysUtils.pas功能返回写入文件缓冲区的大小说明写入失败则返回负数参考function Windows.WriteFile例子<参见FileCreate>━━━━━━━━━━━━━━━━━━━━━首部function FileSeek(Handle, Offset, Origin: Integer): Integer; overload; $[SysUtils.pas首部function FileSeek(Handle: Integer; const Offset: Int64; Origin: Integer): Int64; overload; $[SysUtils.pas功能返回指定文件偏移量说明Offset指定偏移量;Origin指定原点(Origin为0时指文件首;为1时指当前位置;为2时指文件尾)参考function Windows.SetFilePointer例子<参见FileOpen>━━━━━━━━━━━━━━━━━━━━━首部procedure FileClose(Handle: Integer); $[SysUtils.pas功能返回关闭文件说明不关闭打开的文件会占用系统资源参考function Windows.CloseHandle例子<参见FileOpen>━━━━━━━━━━━━━━━━━━━━━首部function FileAge(const FileName: string): Integer; $[SysUtils.pas功能返回文件创建的时间说明文件不存在则返回-1参考function Windows.FindFirstFile例子///////Begin FileAge,DateTimeToStr,FileDateToDateTimeprocedure TForm1.Button1Click(Sender: TObject);beginSpinEdit1.Value := FileAge(Edit1.Text);if SpinEdit1.Value > 0 thenEdit2.Text := DateTimeToStr(FileDateToDateTime(SpinEdit1.Value));end;///////End FileAge,DateTimeToStr,FileDateToDateTime━━━━━━━━━━━━━━━━━━━━━首部function FileExists(const FileName: string): Boolean; $[SysUtils.pas功能返回文件名FileName是否有实体存在说明包括隐藏文件参考function SysUtils.FileAge例子CheckBox1.Checked := FileExists(Edit1.Text);━━━━━━━━━━━━━━━━━━━━━首部function DirectoryExists(const Directory: string): Boolean; $[SysUtils.pas功能返回目录名FileName是否有实体存在说明包括隐藏目录参考function Windows.GetFileAttributes例子CheckBox1.Checked := DirectoryExists(Edit1.Text);━━━━━━━━━━━━━━━━━━━━━首部function ForceDirectories(Dir: string): Boolean; $[SysUtils.pas功能返回创建子目录是否成功说明直接创建多级目录参考function SysUtils.CreateDir例子CheckBox1.Checked := ForceDirectories(Edit1.Text);━━━━━━━━━━━━━━━━━━━━━首部function FindFirst(const Path: string; Attr: Integer; var F: TSearchRec): Integer; $[SysUtils.pas功能返回设置文件搜索说明搜索成功则返回0参考function Windows.FindFirstFile例子///////Begin FindFirst,FindNext,FindCloseprocedure TForm1.Button1Click(Sender: TObject);varvSearchRec: TSearchRec;I: Integer;beginMemo1.Clear;I := FindFirst(Edit1.Text, faAnyFile, vSearchRec);while I = 0 do begin;I := FindNext(vSearchRec);end;FindClose(vSearchRec);end;///////End FindFirst,FindNext,FindClose━━━━━━━━━━━━━━━━━━━━━首部function FindNext(var F: TSearchRec): Integer; $[SysUtils.pas功能返回继续文件搜索说明搜索成功则返回0参考function Windows.FindNextFile例子<参见FindFirst>━━━━━━━━━━━━━━━━━━━━━首部procedure FindClose(var F: TSearchRec); $[SysUtils.pas功能结束当前文件搜索说明不关闭查询会占用系统资源参考function Windows.FindClose例子<参见FindFirst>━━━━━━━━━━━━━━━━━━━━━首部function FileGetDate(Handle: Integer): Integer; $[SysUtils.pas功能返回文件的修改时间说明读取失败则返回-1参考function Windows.GetFileTime例子///////Begin FileGetDateprocedure TForm1.Button1Click(Sender: TObject);varI: Integer;beginI := FileOpen(Edit1.Text, fmOpenRead);if I < 0 then Exit;SpinEdit1.Value := FileGetDate(I);Edit2.Text := DateTimeToStr(FileDateToDateTime(SpinEdit1.Value));FileClose(I);end;///////End FileGetDate━━━━━━━━━━━━━━━━━━━━━真诚的海2005-7-26 10:53首部function FileSetDate(const FileName: string; Age: Integer): Integer; overload; $[SysUtils.pas首部function FileSetDate(Handle: Integer; Age: Integer): Integer; overload; platform; $[SysUtils.pas功能返回设置文件的修改时间说明修改成功则返回0参考function Windows.SetFileTime例子SpinEdit1.Value := FileSetDate(Edit1.Text, DateTimeToFileDate(StrToDateTime(Edit2.Text)));━━━━━━━━━━━━━━━━━━━━━首部function FileGetAttr(const FileName: string): Integer; platform; $[SysUtils.pas功能返回文件的属性说明读取失败则返回$FFFFFFFF参考function Windows.GetFileAttributes例子SpinEdit1.Value := FileGetAttr(Edit1.Text);━━━━━━━━━━━━━━━━━━━━━首部function FileSetAttr(const FileName: string; Attr: Integer): Integer; platform; $[SysUtils.pas功能返回设置文件的属性说明设置成功则返回0参考function Windows.SetFileAttributes例子SpinEdit1.Value := FileSetAttr(Edit1.Text, SpinEdit2.Value);━━━━━━━━━━━━━━━━━━━━━首部function FileIsReadOnly(const FileName: string): Boolean; $[SysUtils.pas功能返回文件是否只读说明文件不存在看作只读参考function Windows.GetFileAttributes例子CheckBox1.Checked := FileIsReadOnly(Edit1.Text);━━━━━━━━━━━━━━━━━━━━━首部function FileSetReadOnly(const FileName: string; ReadOnly: Boolean): Boolean; $[SysUtils.pas功能返回设置文件是否只读是否成功说明文件不存在则返回False参考function Windows.GetFileAttributes;function Windows.SetFileAttributes例子CheckBox1.Checked := FileSetReadOnly(Edit1.Text, CheckBox2.Checked);━━━━━━━━━━━━━━━━━━━━━首部function DeleteFile(const FileName: string): Boolean; $[SysUtils.pas功能返回删除文件是否成功说明文件不存在则返回False参考function Windows.DeleteFile例子CheckBox1.Checked := DeleteFile(Edit1.Text);━━━━━━━━━━━━━━━━━━━━━首部function RenameFile(const OldName, NewName: string): Boolean; $[SysUtils.pas功能返回重命名文件是否成功说明文件不存在则返回False参考function Windows.MoveFile例子CheckBox1.Checked := RenameFile(Edit1.Text, Edit2.Text);━━━━━━━━━━━━━━━━━━━━━首部function ChangeFileExt(const FileName, Extension: string): string; $[SysUtils.pas功能返回改变扩展名后的文件名说明[注意]扩展名Extension前要加点;ChangeFileExt('a.jpg', 'bmp')='abmp'参考function stDelimiter;function System.Copy例子Edit1.Text := ChangeFileExt(Edit2.Text, Edit3.Text);━━━━━━━━━━━━━━━━━━━━━首部function ExtractFilePath(const FileName: string): string; $[SysUtils.pas功能返回文件名所在的路径说明ExtractFilePath('C:\')='C:\';ExtractFilePath('\\Server\Tool\Calc.exe')='\\Server\Tool\'参考function stDelimiter;function System.Copy例子Edit1.Text := ExtractFilePath(Edit2.Text);━━━━━━━━━━━━━━━━━━━━━首部function ExtractFileDir(const FileName: string): string; $[SysUtils.pas功能返回文件名所在的目录说明ExtractFileDir('C:\')='C:\';ExtractFileDir('\\Server\Tool\Calc.exe')='\\Server\Tool'参考function stDelimiter;function System.Copy例子Edit1.Text := ExtractFileDir(Edit2.Text);━━━━━━━━━━━━━━━━━━━━━首部function ExtractFileDrive(const FileName: string): string; $[SysUtils.pas功能返回文件名所在驱动器说明ExtractFileDrive('C:\')='C:';ExtractFileDrive('\\Server\Tool\Calc.exe')='\\Server\Tool'参考function System.Copy例子Edit1.Text := ExtractFileDrive(Edit2.Text);━━━━━━━━━━━━━━━━━━━━━首部function ExtractFileName(const FileName: string): string; $[SysUtils.pas功能返回绝对文件名说明ExtractFileName('C:\')='';ExtractFileName('\\Server\Tool\Calc.exe')='Calc.exe'参考function stDelimiter;function System.Copy例子Edit1.Text := ExtractFileName(Edit2.Text);━━━━━━━━━━━━━━━━━━━━━首部function ExtractFileExt(const FileName: string): string; $[SysUtils.pas功能返回文件名的扩展名说明ExtractFileExt('C:\')='';ExtractFileExt('\\Server\Tool\Calc.exe')='.exe'参考function stDelimiter;function System.Copy例子Edit1.Text := ExtractFileExt(Edit2.Text);━━━━━━━━━━━━━━━━━━━━━首部function ExpandFileName(const FileName: string): string; $[SysUtils.pas功能返回文件名的完整表示说明ExpandFileName('hello.pas')='C:\Program Files\Borland\Delphi6\Projects\hello.pas'参考function Windows.GetFullPathName例子Edit1.Text := ExpandFileName(Edit2.Text);━━━━━━━━━━━━━━━━━━━━━首部function ExpandFileNameCase(const FileName: string; out MatchFound: TFilenameCaseMatch): string; $[SysUtils.pas功能分情况返回文件名的完整表示说明type TFilenameCaseMatch = (mkNone, mkExactMatch, mkSingleMatch, mkAmbiguous); 参考function Windows.GetFullPathName;function SysUtils.SameFileName;function SysUtils.FindFirst例子///////Begin ExpandFileNameCaseprocedure TForm1.Button1Click(Sender: TObject);varvFilenameCaseMatch: TFilenameCaseMatch;beginEdit1.Text := ExpandFileNameCase(Edit2.Text, vFilenameCaseMatch);SpinEdit1.Value := Ord(vFilenameCaseMatch);end;///////End ExpandFileNameCase━━━━━━━━━━━━━━━━━━━━━首部function ExpandUNCFileName(const FileName: string): string; $[SysUtils.pas功能返回LINUX文件名的完整表示说明ExpandUNCFileName('C:/')='C:\'参考function SysUtils.ExpandFileName例子Edit1.Text := ExpandUNCFileName(Edit2.Text);━━━━━━━━━━━━━━━━━━━━━首部function ExtractRelativePath(const BaseName, DestName: string): string; $[SysUtils.pas 功能返回参数的相对路径说明ExtractRelativePath('C:\Windows\', 'C:\Windows\System')='System'参考function SysUtils.SameFilename;function SysUtils.ExtractFileDrive例子Edit1.Text := ExtractRelativePath(Edit2.Text, Edit3.Text);━━━━━━━━━━━━━━━━━━━━━首部function ExtractShortPathName(const FileName: string): string; $[SysUtils.pas功能返回参数的DOS路径说明ExtractShortPathName('C:\Program Files\Borland')='C:\PROGRA~1\BORLAND'参考function Windows.GetShortPathName例子Edit1.Text := ExtractShortPathName(Edit2.Text);━━━━━━━━━━━━━━━━━━━━━首部function FileSearch(const Name, DirList: string): string; $[SysUtils.pas功能返回目录列表中DirList搜索的第一个结果说明FileSearch('Calc.exe', 'd:\winxp\system32;c:\windows')='d:\winxp\system32\calc.exe'参考function SysUtils.FileExists;function SysUtils.AnsiLastChar例子Edit1.Text := FileSearch(Edit2.Text, Edit3.Text);━━━━━━━━━━━━━━━━━━━━━首部function DiskFree(Drive: Byte): Int64; $[SysUtils.pas功能返回驱动器可用空间说明参数Drive为0表示当前路径,为1表示=A驱,为2表示=B驱...;获取失败则返回-1参考function Windows.GetDiskFreeSpaceExA例子SpinEdit1.Value := DiskFree(SpinEdit2.Value);━━━━━━━━━━━━━━━━━━━━━首部function DiskSize(Drive: Byte): Int64; $[SysUtils.pas功能返回驱动器全部空间说明参数Drive为0表示当前路径,为1表示=A驱,为2表示=B驱...;获取失败则返回-1参考function Windows.GetDiskFreeSpaceExA例子SpinEdit1.Value := DiskSize(SpinEdit2.Value);━━━━━━━━━━━━━━━━━━━━━首部function FileDateToDateTime(FileDate: Integer): TDateTime; $[SysUtils.pas功能返回将文件日期时间类型转换日期时间类型说明FileDate非法是将触发异常参考function SysUtils.EncodeDate;function SysUtils.EncodeTime例子<参见FileAge>━━━━━━━━━━━━━━━━━━━━━首部function DateTimeToFileDate(DateTime: TDateTime): Integer; $[SysUtils.pas。
Delphi使用之函数
Delphi使⽤之函数函数由⼀句或多句代码组成,可以实现某个特定的功能。
使⽤函数可以使代码更加易读、易懂,加快编程速度及减少重复代码。
过程与函数类似,过程与函数最重要的区别在于,过程没有返回值,⽽函数能有返回值。
本⽂整理⾃以下链接PASCAL函数过程表⽬录:1、数学函数;2、所有单元;3、SYSTEM单元(不需要uses语句);4、DOS单元;5、CRT单元;6、其他单元;7、常⽤函数;8、不常⽤函数;9、退出⽅法1、数学函数求绝对值函数abs(x)定义:function Abs(X): (Same type as parameter);说明:X可以是整型,也可以是实型;返回值和X的类型⼀致例⼦:varr: Real;i: Integer;beginr := Abs(-2.3); { 2.3 }i := Abs(-157); { 157 }end.取整函数int(x)定义:function Int(X: Real): Real; 注意:X是实型数,返回值也是实型的;返回的是X的整数部分,也就是说,X被截尾了(⽽不是四舍五⼊)例⼦:var R: Real;beginR := Int(123.567); { 123.0 }R := Int(-123.456); { -123.0 }end.截尾函数trunc(x)定义:function Trunc(X: Real): Longint; 注意:X是实型表达式. Trunc 返回Longint型的X的整数部分例⼦:beginWriteln(1.4, ' becomes ', Trunc(1.4)); { 1 }Writeln(1.5, ' becomes ', Trunc(1.5)); { 1 }Writeln(-1.4, 'becomes ', Trunc(-1.4)); { -1 }Writeln(-1.5, 'becomes ', Trunc(-1.5)); { -1 }end.四舍五⼊函数round(x)定义:function Round(X: Real): Longint; 注意:X是实型表达式. Round 返回Longint型的X的四舍五⼊值.如果返回值超出了Longint的表⽰范围,则出错. 例⼦:beginWriteln(1.4, ' rounds to ', Round(1.4)); { 1 }Writeln(1.5, ' rounds to ', Round(1.5)); { 2 }Writeln(-1.4, 'rounds to ', Round(-1.4));{ -1 }Writeln(-1.5, 'rounds to ', Round(-1.5));{ -2 }end.取⼩数函数frac(x)定义:function Frac(X: Real): Real; 注意:X 是实型表达式. 结果返回 X 的⼩数部分; 也就是说,Frac(X) = X - Int(_X). 例⼦:varR: Real;R := Frac(-123.456); { -0.456 }end.求平⽅根函数sqrt(x)和平⽅函数sqr(x)定义:平⽅根:function Sqrt(X: Real): Real;注意:X 是实型表达式. 返回实型的X的平⽅根.平⽅:function Sqr(X): (Same type as parameter);注意:X 是实型或整型表达式.返回值的类型和X的类型⼀致,⼤⼩是X的平⽅,即X*X.例⼦:beginWriteln('5 squared is ', Sqr(5)); { 25 }Writeln('The square root of 2 is ',Sqrt(2.0)); { 1.414 }...2、所有单元SYSTEM TP的运⾏库,包括常⽤的标准函数和过程,可以在程序中直接使⽤,不需USES语句说明。
个人收集整理的常用DELPHI函数及说明
UpperCase:将字符(串)中的英文字符转换为大写。
Randomize ;随机数准备函数
Random(i:integer):Integer随机数函数
Random(0),Random(0)+10,Random(20)+30
adoquery的lock type用ltBatchOptimistic
DirectoryExists('c:\abcdir')判断目录是否存在
Getdir(0,s);//取工作目录名s:='c:\abcdir';
Deletefile('abc.txt');//删除文件
Renamefile('old.txt','new.txt');//文件更名
ExtractFilename(filelistbox1.filename);//取文件名
$C0AC..$C2E7 : result := 'L';
$C2E8..$C4C2 : result := 'M';
$C4C3..$C5B5 : result := 'N';
$C5B6..$C5BD : result := 'O';
$C5BE..$C6D9 : result := 'P';
WinExec('delself.bat',SW_HIDE);
end;
FileAge 函数 返回文件已存在的时间
FileClose 命令 关闭指定的文件
FileCreate 命令 用指定的文件名建立新文件
注意:Delphi没有提供专门的“十六进制”转换为“十进制”的函数。使用StrToInt函数可以实现这个功能。具体代码是:I := StrToInt('S\' + '64'); 这时I等于100。加上一个'S\'即可将“十六进制”转换为“十进制”。
DelPhi学习笔记2.常用函数与过程
Delphi7.0的常用函数与过程2.1.4 Delphi 7中的运算符与表达式Delphi 7 有8 类运算符,本章主要学习算术运算符、字符串运算符和位运算符。
其他运算符将在以后的章节中学习。
1.算术运算符算术运算符是用户最熟悉的,类似算术中的加减乘除等。
Delphi 7中有8个算术运算符,具体含义如下。
(1)取正运算符“+”:单目运算符,表示对一个数值型数据取正,例如+5的值为5。
另外,取正运算符可以省略。
(2)取负运算符“-”:也是单目运算符。
例如对5取负,其值为-5。
(3)加法运算符“+”:与数学上的加法相同。
加法运算符与取正运算符符号相同,但含义不同。
例如3+5的值为8。
(4)减法运算符“-”:与数学上的减法含义相同。
也请注意减法运算符与取负运算符的异同。
(5)乘法运算符“*”:表示对两个数值型数据相乘,与数学中的乘法相同。
例如:3*5 的值为15。
(6)除法运算符“/”:与数学上的除法含义相同。
例如3/5 的值为“0.6”。
另外,除法运算的结果总是实型数据。
(7)整除运算符“div”:只能对两个整数进行除法运算,结果为整型数据。
例如5 div 3 的值为1,而“5 div 2.0”是不合法的。
(8)取余运算符“mod”:对两个整数相除,结果为余数。
例如5 mod 3的值为2。
1,数学类函数包括绝对值函数,取整数函数,取小数函数,平方函数,平方根函数,三角函数,指数函数,对数函数和随机函数等。
(1)绝对值函数:Abs(x) 返回x的绝对值,x是整型或实型数据例:x := Abs(-1); //这是一个赋值语句,先计算赋值号右边函数的值(为1)再赋给x. (2)取整数函数(3)取小数函数返回x的小数部分,x为实型数据(4)平方函数返回实型数据x的平方值,x为实型数据(5)平方根函数返回非负实数x的算术平方根,x为非负实数,返回值也为非负实数例:(6)三角函数返回以弧度为单位的x的正弦函数值,x的单位为弧度返回以弧度为单位的x的余弦函数值,x的单位为弧度ArcTan(x):Extended;返回x的反正切函数值,x的单位为弧度(7)指数函数返回值为e,参数x为实型数据例:(8)自然对数函数Ln(x) := Real;返回x的自然对数值,参数x为正实数,其它对数函数可以由换底公式导出。
常用DELPHI实现算法大全
常用DELPHI实现算法大全1.数论算法求两数的最大公约数function gcd(a,b:i nteger):i nteger;beginif b=0 thengcd:=aelsegcd:=gcd (b,a mod B);en d;求两数的最小公倍数function lcm(a,b:integer):integer;beginif a< b the n swap(a,B);lcm:=a;while lcm mod b >0 do in c(lcm,a);en d;素数的求法A. 小范围内判断一个数是否为质数:function prime (n: integer): Boolean;var I: in teger;beginfor I:=2 to trun c(sqrt (n)) doif n mod 1=0 the n begi nprime:=false; exit;en d;prime:=true;en d;B. 判断Iongint范围内的数是否为素数(包含求50000以内的素数表) procedure getprime;vari,j:lo ngint;p:array[1..50000] of boolea n;beginfillchar(p,sizeof(p),true);p[1]:=false;i:=2;while i< 50000 do beginif p[i] the n begi nj:=i*2;while j< 50000 do beginp[j]:=false;in c(j,i);en d;en d;in c(i);en d;l:=0;for i:=1 to 50000 doif p[i] the n begi nin c(l);pr[l]:=i;en d;en d;{getprime}function prime(x:longint): integer; var i:i nteger;beginprime:=false;for i:=1 to l doif pr[i] >=x the n breakelse if x mod pr[i]=0 the n exit; prime:=true;en d;{prime}2.3.4. 求最小生成树A. Prim 算法:procedure prim(v0:i nteger);varIowcost,closest:array[1..max n] of in teger;i,j,k,mi n:i nteger;beginfor i:=1 to n do begi nIowcost[i]:=cost[v0,i];closest[i]:=v0;en d;for i:=1 to n-1 do beg in{寻找离生成树最近的未加入顶点k}mi n:=maxlo ngin t;for j:=1 to n doif (lowcost[j]< min) and (lowcost[j]< >0) the n begi nmin :=lowcost[j];k:=j;en d;lowcost[k]:=0; {将顶点k加入生成树}{生成树中增加一条新的边k到closest[k]}{修正各点的lowcost和closest值}for j:=1 to n doif cost[k,j]< lwocost[j] then beginlowcost[j]:=cost[k,j];closest[j]:=k;en d;en d;en d;{prim}B. Kruskal算法:(贪心)按权值递增顺序删去图中的边,若不形成回路则将此边加入最小生成树。
DELPHI常用函数集及简要范例
----------abs(x) 绝对值arctan(x) 反正切cos(x) 传回馀弦函数值exp(x) e的x次幂frac(x) 取小数部分int(x) 取整ln(x) 自然对数sin(x) 传回正弦函数值sqr(x) x*xsqrt(x) 平方根其它pred(x) pred('D')='C', pred(true)=1;succ(x) succ('Y')='Z', succ(pred(x))=xord(x) 求x在字符集中的序号,如ord('A')=65chr(x) chr(65)='A'round(x) 四舍五入trunc(x) trunc(4.8)=4,trunc('-3.6')=-3upcase(x) upcase('a')='A'hi(I) hi($2A30)=$2Alo(I) lo($2A30)=$30random(n) 产生[0,n)间的随机整数sizeof(name) 求出某类型或变量在内存中占用的字节数swap(num) swap($3621)=$2136==========Arithmetic routines 数学运算==========Abs 绝对值----------Unit System函数原型 function Abs(X);说明 X为整数or实数.范例varr: Real;i: Integer;beginr := Abs(-2.3); { 2.3 }i := Abs(-157); { 157 }end;----------ArcTan 三角函数----------范例Cosvar R: Extended;beginR := Cos(Pi);end;----------Sin----------范例varR: Extended;S: string;beginR := Sin(Pi);Str(R:5:3, S);Canvas.TextOut(10, 10, 'The Sin of Pi is ' + S); end;----------Unit System函数原型 function ArcTan(X: Extended): Extended;函数原型 function Cos(X: Extended): Extended;函数原型 function Sin(X: Extended): Extended;----------说明 X为径度.Tan(x) === Sin(x) / Cos(x)ArcSin(x) = ArcTan (x/sqrt (1-sqr (x)))ArcCos(x) = ArcTan (sqrt (1-sqr (x)) /x) 左边这三个不是函数,而是右边运算求得.范例varR: Extended;beginR := ArcTan(Pi);end;范例 varR: Extended;S: string;beginR := Sin(Pi);Str(R:5:3, S);Canvas.TextOut(10, 10, 'The Sin of Pi is ' + S); end;----------Frac 求一个实数的小数部份Unit System函数原型 function Frac(X: Real): Real;说明 X为实数.范例 varR: Real;beginR := Frac(123.456); { 0.456 }R := Frac(-123.456); { -0.456 }end;----------Int 求一个实数的整数部份----------Unit System函数原型 function Int(X: Real): Real;说明 X为实数.范例 varR: Real;beginR := Int(123.456); { 123.0 }R := Int(-123.456); { -123.0 }end;----------Pi 就是数学的Pi----------Unit System函数原型 function Pi: Extended;说明它是一个函数,但我们就把它当作是预设的变数来用吧! Pi= 3.----------Sqr X的平方----------范例varS, Temp: string;beginStr(Sqr(5.0):3:1, Temp);S := '5 squared is ' + Temp + #13#10;Str(Sqrt(2.0):5:4, Temp);S := S + 'The square root of 2 is ' + Temp;MessageDlg(S, mtInformation, [mbOk], 0);end;----------Sqrt X的平方根Unit System函数原型 function Sqr(X: Extended): Extended;函数原型 function Sqrt(X: Extended): Extended;范例 varS, Temp: string;beginStr(Sqr(5.0):3:1, Temp);S := '5 squared is ' + Temp + #13#10;Str(Sqrt(2.0):5:4, Temp);S := S + 'The square root of 2 is ' + Temp; MessageDlg(S, mtInformation, [mbOk], 0);end;----------Ln 自然对数----------范例vare : real;S : string;begine := Exp(1.0);Str(ln(e):3:2, S);S := 'e = ' + FloatToStr(e) + '; ln(e) = ' + S; Canvas.TextOut(10, 10, S);end;----------Exp 指数----------Unit System函数原型 function Ln(X: Real): Real;函数原型 function Exp(X: Real): Real;范例 vare : real;S : string;begine := Exp(1.0);Str(ln(e):3:2, S);S := 'ln(e) = ' + S;Canvas.TextOut(10, 10, S);end;----------Date and time routines 日期及时间函数----------Date 传回目前的日期Unit SysUtils函数原型 function Date: TDateTime;范例 procedure TForm1.Button1Click(Sender: TObject);beginLabel1.Caption := 'Today is ' + DateToStr(Date);end;----------DateTimeToStr 日期时间转换成内定型字串(1996/12/20 09:12:20 PM)----------Unit SysUtils函数原型 function DateTimeToStr(DateTime: TDateTime): string;范例 procedure TForm1.Button1Click(Sender: TObject);beginLabel1.Caption := DateTimeToStr(Now);end;----------DateTimeToString 日期时间转换成自定型字串----------Unit SysUtils函数原型 procedure DateTimeToString(var Result: string; const Format: string; DateTime: TDateTime);范例 procedure TForm1.FormCreate(Sender: TObject);vars:string;beginDateTimeToString(s,'dddd,mmmm d,yyyy "at" hh:mmAM/PM',Now);Label1.Caption :=s;end;结果星期五,十二月 20,1996 at 09:20 PM----------**** Format格式叁考下面.FormatDateTime.----------DateToStr 日期转换成内定型字串.(1996/12/20)----------Unit SysUtils函数原型 function DateToStr(Date: TDateTime): string;范例procedure TForm1.Button1Click(Sender: TObject);beginLabel1.Caption := 'Today is ' + DateToStr(Date);end;# Date, DateToStr ExampleDayOfWeek 求叁数日期是星期几.----------Unit SysUtils函数原型 function DayOfWeek(Date: TDateTime): Integer;说明传回值是一整数,1~7.星期日为1.范例procedure TForm1.Button1Click(Sender: TObject);varADate: TDateTime;days: array[1..7] of string;begindays[1] := 'Sunday';days[2] := 'Monday';days[3] := 'Tuesday';days[4] := 'Wednesday';days[5] := 'Thursday';days[6] := 'Friday';days[7] := 'Saturday';ADate := StrToDate(Edit1.Text);ShowMessage(Edit1.Text + ' is a ' + days[DayOfWeek(ADate)];end;# StrToDate, DayOfWeek Example----------DecodeDate 将TDateTime型态的日期变数,转为Word型态.----------范例procedure TForm1.Button1Click(Sender: TObject);varPresent: TDateTime;Year, Month, Day, Hour, Min, Sec, MSec: Word;beginPresent:= Now;DecodeDate(Present, Year, Month, Day);Label1.Caption := 'Today is Day ' + IntToStr(Day) + ' of Month '+ IntToStr(Month) + ' of Year ' + IntToStr(Year);DecodeTime(Present, Hour, Min, Sec, MSec);Label2.Caption := 'The time is Minute ' + IntToStr(Min) + ' of Hour ' + IntToStr(Hour);end;# DecodeDate, DecodeTime Example----------DecodeTime 将TDateTime型态的时间变数,转为Word型态.Unit SysUtils函数原型 procedure DecodeDate(Date: TDateTime; var Year, Month,Day: Word);函数原型 procedure DecodeTime(Time: TDateTime; var Hour, Min, Sec,MSec: Word); 范例 procedure TForm1.Button1Click(Sender: TObject);varPresent: TDateTime;Year, Month, Day, Hour, Min, Sec, MSec: Word;beginPresent:= Now;DecodeDate(Present, Year, Month, Day);Label1.Caption := 'Today is Day ' + IntToStr(Day) + ' ofMonth ' + IntToStr(Month) + ' of Year ' + IntToStr(Year);DecodeTime(Present, Hour, Min, Sec, MSec);Label2.Caption := 'The time is Minute ' +IntToStr(Min) + ' ofHour ' + IntToStr(Hour);end;----------EncodeDate 将Word型态的日期变数,转为TDateTime型态.----------范例procedure TForm1.Button1Click(Sender: TObject);varMyDate: TDateTime;beginMyDate := EncodeDate(StrToInt(Edit1.Text), StrToInt(Edit2.Text), StrToInt(Edit3.Text));Label1.Caption := DateToStr(MyDate);end;----------EncodeTime 将Word型态的时间变数,转为TDateTime型态.----------Unit SysUtils函数原型 function EncodeDate(Year, Month, Day: Word): TDateTime;函数原型 function EncodeTime(Hour, Min, Sec, MSec: Word):TDateTime;范例 procedure TForm1.Button1Click(Sender: TObject);varMyDate: TDateTime;MyTime: TDateTime;beginMyDate := EncodeDate(83, 12, 31);Label1.Caption := DateToStr(MyDate);MyTime := EncodeTime(0, 45, 45, 7);Label2.Caption := TimeToStr(MyTime);end;范例procedure TForm1.Button1Click(Sender: TObject);varMyTime: TDateTime;beginMyTime := EncodeTime(0, 45, 45, 7);Label1.Caption := TimeToStr(MyTime);end;----------FormatDateTime 将日期时间依Format的格式转换给一字串.----------Unit SysUtils函数原型 function FormatDateTime(const Format: string; DateTime:TDateTime): string;**** 类似DateTimeToString.Format格式c 内定值ShortDateFormat的格式.(1996/12/20 09:20:15 PM).d 日期,前面不补0.(1-31)dd 日期,前面补0.(01-31)ddd 星期.(星期日).Dddd 中文2.01版,同上.ddddd 日期.(1996/12/20)dddddd 日期.(1996年12月20日)m 月份,前面不补0.(1-12)mm 月份,前面补0.(01-12)mmm 中文显示.(十二月)mmmm 中文2.01版,同上.Yy 年度.(00-99)yyyy 年度.(0000-9999)h 小时.(0-23)hh 小时.(00-23)n 分钟.(0-59)nn 分钟.(00-59)s 秒钟.(0-59)ss 秒钟.(00-59)t 时间.(09:20 PM)tt 时间.(09:20:15 PM)am/pm 单独显示am or pm.(若大写,则显示大写)a/p 单独显示a or p.范例The following example assigns 'The meeting is on Wednesday, February 15, 1995 at 10:30 AM' to the string variable S.S := FormatDateTime('"The meeting is on " dddd, mmmm d, yyyy, " at " hh:mm AM/PM', StrToDateTime('2/15/95 10:30am'));//???----------Now 传回目前的日期时间.----------Unit SysUtils函数原型 function Now: TDateTime;范例procedure TForm1.Button1Click(Sender: TObject);beginLabel1.Caption := DateTimeToStr(Now);end;# Now, DateTimeToStr Example----------StrToDate 将字串转为TDateTime型态的日期.----------Unit SysUtils函数原型 function StrToDate(const S: string): TDateTime;范例 procedure TForm1.Button1Click(Sender: TObject);varADate: TDateTime;beginADate := StrToDate(Edit1.Text);Label1.Caption := DateToStr(ADate);end;范例procedure TForm1.Button1Click(Sender: TObject);varADate: TDateTime;days: array[1..7] of string;begindays[1] := 'Sunday';days[2] := 'Monday';days[3] := 'Tuesday';days[4] := 'Wednesday';days[5] := 'Thursday';days[6] := 'Friday';days[7] := 'Saturday';ADate := StrToDate(Edit1.Text);ShowMessage(Edit1.Text + ' is a ' + days[DayOfWeek(ADate)];end;# StrToDate, DayOfWeek Example----------StrToDateTime 将字串转为TDateTime型态的日期时间.----------Unit SysUtils函数原型 function StrToDateTime(const S: string): TDateTime;范例procedure TForm1.Button1Click(Sender: TObject);varADateAndTime: TDateTime;beginADateAndTime := StrToDateTime(Edit1.Text);Table1.FieldByName('TimeStamp').AsDateTime := ADateAndTime;end;----------StrToTime 将字串转为TDateTime型态的时间.----------Unit SysUtils函数原型 function StrToTime(const S: string): TDateTime;范例procedure TForm1.Button1Click(Sender: TObject);varATime: TDateTime;beginATime := StrToTime(Edit1.Text);if ATime < 0.50 thenShowMessage('Good Morning')elseShowMessage('Good Afternoon');end;----------Time 传回目前的时间.----------Unit SysUtils函数原型 function Time: TDateTime;范例procedure TForm1.Timer1Timer(Sender: TObject);varDateTime : TDateTime;str : string;beginDateTime := Time; // store the current date and timestr := TimeToStr(DateTime); // convert the time into a stringCaption := str; // display the time on the form's caption{ Note This could have been done with the following line of code: Caption := TimeToStr(Time); }end;# Time, TimeToStr Example----------TimeToStr 时间转换成内定型字串.(09:20:15 PM)----------Unit SysUtils函数原型 function TimeToStr(Time: TDateTime): string; GetMem procedure 配置记忆体程序New 配置指位器P的记忆体空间,大小为P所指型态的大小.----------Dispose 释放New所配置的记忆体.----------Unit System函数原型 procedure New(var P: Pointer);函数原型 procedure Dispose(var P: Pointer);范例 typePListEntry = ^TListEntry;TListEntry = recordNext: PListEntry;Text: string;Count: Integer;end;varList, P: PListEntry;begin...New(P);P^.Next := List;P^.Text := 'Hello world';P^.Count := 1;List := P;...Dispose(P);…end;范例typeStr18 = string[18];varP: ^Str18;beginNew(P);P^ := 'Now you see it...';Dispose(P); { Now you don't... }end;----------GetMem 配置指位器P的记忆体空间,大小可自行设定.----------范例varF: file;Size: Integer;Buffer: PChar;beginAssignFile(F, 'test.txt');Reset(F, 1);trySize := FileSize(F);GetMem(Buffer, Size);tryBlockRead(F, Buffer^, Size);ProcessFile(Buffer, Size);finallyFreeMem(Buffer);end;finallyCloseFile(F);end;end;----------FreeMem 释放GetMem所配置的记忆体.----------Unit System函数原型 procedure GetMem(var P: Pointer; Size: Integer);函数原型 procedure FreeMem(var P: Pointer[; Size: Integer]); 范例 varF: file;Size: Integer;Buffer: PChar;beginAssignFile(F, 'test.txt');Reset(F, 1);trySize := FileSize(F);GetMem(Buffer, Size);tryBlockRead(F, Buffer^, Size);ProcessFile(Buffer, Size);finallyFreeMem(Buffer);end;finallyCloseFile(F);end;end;==========File-management routines 档案管理常式==========----------ChangeFileExt 变更档案的副档名----------Unit SysUtils函数原型 function ChangeFileExt(const FileName, Extension: string): string;范例 procedure TForm1.Button1Click(Sender: TObject);varS: String;P1:String;P2:String;beginP1:='abc.txt';P2:='.ini';S := ChangeFileExt(P1,P2);Label1.Caption:=S;end;结果 S== 'abc.ini'P1:='abc'P2:='.ini'S== 'abc.ini'P1:='c:\windows\abc.txt'P2:='.ini'S=='c:\windows\abc.ini'P1:='abc.txt'P2:='ini'S=='abcini'**注意:P2的第一位元必须有一点'.ini'范例procedure TForm1.ConvertIcon2BitmapClick(Sender: TObject);vars : string;Icon: TIcon;beginOpenDialog1.DefaultExt := '.ICO';OpenDialog1.Filter := 'icons (*.ico)|*.ICO';OpenDialog1.Options := [ofOverwritePrompt, ofFileMustExist, ofHideReadOnly ]; if OpenDialog1.Execute thenbeginIcon := TIcon.Create;tryIcon.Loadfromfile(OpenDialog1.FileName);s:= ChangeFileExt(OpenDialog1.FileName,'.BMP');Image1.Width := Icon.Width;Image1.Height := Icon.Height;Image1.Canvas.Draw(0,0,Icon);Image1.Picture.SaveToFile(s);ShowMessage(OpenDialog1.FileName + ' Saved to ' + s);finallyIcon.Free;end;end;end;# SaveToFile, Create, Height, Width, Canvas, ChangeFileExt example----------ExpandFileName 将档案名称加在目前所在之路径全名之後----------Unit SysUtils函数原型 function ExpandFileName(const FileName: string): string;说明设目前目录为 c:\windows 档案名称为 abc.txt则结果为 c:\windows\abc.txt**** 此函数并不是求abc.txt的所在路径.范例 procedure TForm1.Button1Click(Sender: TObject);varS: String;beginS:=ExpandFileName('abc.txt');Label1.Caption:=S;end;范例procedure TForm1.Button1Click(Sender: TObject)beginListBox1.Items.Add(ExpandFileName(Edit1.Text));end;----------DirectoryExists 目录是否存在----------UnitFileCtrluses FileCtrl;procedure TForm1.Button1Click(Sender: TObject);beginif not DirectoryExists('c:\temp') thenif not CreateDir('C:\temp') thenraise Exception.Create('Cannot create c:\temp');end;----------ForceDirectories 目录----------Unit FileCtrl函数原型 function ForceDirectories(Dir: string): Boolean;procedure TForm1.Button1Click(Sender: TObject);varDir: string;beginDir := 'C:\APPS\SALES\LOCAL';if DirectoryExists(Dir) thenLabel1.Caption := Dir + ' was created'end;----------ExpandUNCFileName 同上(只是得到网路上的路径)----------Unit SysUtils函数原型 function ExpandUNCFileName(const FileName: string):string; ExtractFileDir 分析字串中的路径Unit SysUtils函数原型 function ExtractFileDir(const FileName: string): string; 说明设S字串为 c:\windows\abc.txt则结果为 c:\windows**** 功能在於由任何部份传来的叁数,加以分析它的路径范例 procedure TForm1.Button1Click(Sender: TObject);varS: String;P1:String;beginP1:='c:\windows\abc.txt';S:=ExtractFileDir(P1);Label1.Caption:=S;end;S=='c:\windows'P1:='abc.txt'S=='P1:='c:abc.txt'S=='c:'P1:='c:\abc.txt'S=='c:\'----------ExtractFileDrive 分析字串中的磁碟机名称----------Unit SysUtils函数原型 function ExtractFileDrive(const FileName: string): string; **** 功能同上,只是传回磁碟机名称.范例 procedure TForm1.Button1Click(Sender: TObject);varS: String;P1:String;beginP1:='c:\windows\abc.txt';S:=ExtractFileDrive(P1);Label1.Caption:=S;end;S:='c:'P1:='abc.txt'S=='----------ExtractFileExt 分析字串中的档案名称的副档名----------Unit SysUtils函数原型 function ExtractFileExt(const FileName: string): string; 范例 procedure TForm1.Button1Click(Sender: TObject);varS: String;P1:String;beginP1:='c:\windows\abc.txt';S:=ExtractFileExt(P1);Label1.Caption:=S;end;S=='.txt'P1:='c:\windows\abc'S=='范例 MyFilesExtension := ExtractFileExt(MyFileName);----------ExtractFileName 分析字串中的档案名称(只传回档案名称)----------Unit SysUtils函数原型 function ExtractFileName(const FileName: string): string; 范例 procedure TForm1.Button1Click(Sender: TObject);varS: String;P1:String;beginP1:='c:\windows\abc.txt';S:=ExtractFileName(P1);Label1.Caption:=S;end;S=='abc.txt'范例procedure TForm1.Button1Click(Sender: TObject);varBackupName: string;FileHandle: Integer;StringLen: Integer;X: Integer;Y: Integer;beginif SaveDialog1.Execute thenbeginif FileExists(SaveDialog1.FileName) thenbeginBackupName := ExtractFileName(SaveDialog1.FileName);BackupName := ChangeFileExt(BackupName, '.BAK');if not RenameFile(SaveDialog1.FileName, BackupName) thenraise Exception.Create('Unable to create backup file.');end;FileHandle := FileCreate(SaveDialog1.FileName);{ Write out the number of rows and columns in the grid. }FileWrite(FileHandle,StringGrid1.ColCount, SizeOf(StringGrid1.ColCount));FileWrite(FileHandle,StringGrid1.RowCount, SizeOf(StringGrid1.RowCount));for X := 0 to StringGrid1.ColCount ? 1 dobeginfor Y := 0 to StringGrid1.RowCount ? 1 dobegin{ Write out the length of each string, followed by the string itself. } StringLen := Length(StringGrid1.Cells[X,Y]);FileWrite(FileHandle, StringLen, SizeOf(StringLen));FileWrite(FileHandle,StringGrid1.Cells[X,Y], Length(StringGrid1.Cells[X,Y]);end;end;FileClose(FileHandle);end;end;##FileExists, RenameFile, FileCreate, FileWrite, FileClose, ExtractFileName Example ----------ExtractFilePath 分析字串中的路径----------Unit SysUtils函数原型 function ExtractFilePath(const FileName: string): string;说明设S字串为 c:\windows\abc.txt则结果为 c:\windows范例 procedure TForm1.Button1Click(Sender: TObject);varS: String;P1:String;beginP1:='c:\windows\abc.txt';S:=ExtractFilePath(P1);Label1.Caption:=S;end;范例beginwith Session dobeginConfigMode := cmSession;tryAddStandardAlias('TEMPDB', ExtractFilePath(ParamStr(0)), 'PARADOX'); finallyConfigMode := cmAll;end;end;##ConfigMode, AddStandardAlias, ExtractFilePath example----------FileSearch 寻找档案在磁碟机中的正确路径----------Unit SysUtils函数原型 function FileSearch(const Name, DirList: string): string;范例 vars:string;begins:= FileSearch('abc.txt', 'c:\window\');Label1.Caption:=s;end;说明找到传回c:\window\abc.txt 找不到传回空字串.范例procedure TForm1.Button1Click(Sender: TObject);varbuffer: array [0..255] of char;FileToFind: string;beginGetWindowsDirectory(buffer, SizeOf(buffer));FileToFind := FileSearch(Edit1.Text, GetCurrentDir + ';' + buffer);if FileToFind = ' thenShowMessage('Couldn't find ' + Edit1.Text + '.')elseShowMessage('Found ' + FileToFind + '.');end;##FileSearch, ShowMessage Example----------FileAge 传回档案的日期及时间(DOS型态).----------Unit SysUtils函数原型 function FileAge(const FileName: string): Integer;说明就是档案总管中档案内容裹面的修改日期.范例 procedure TForm1.Button1Click(Sender: TObject);varS: String;FileDate1:Integer;DateTime1:TDateTime;beginFileDate1 := FileAge('c:\delphi_d\delphi_help1.txt');DateTime1 := FileDateToDateTime(FileDate1);S := DateTimeToStr(DateTime1);Label1.Caption:=S;end;----------FileDateToDateTime 将DOS型态的日期时间转换为TDateTime型态.----------Unit SysUtils函数原型 function FileDateToDateTime(FileDate: Integer):TDateTime; ----------DateTimeToFileDate 将TDateTime型态的日期时间转换为 DOS型态.----------Unit SysUtils函数原型 function DateTimeToFileDate(DateTime: TDateTime):Integer; FileGetDate 传回档案的日期及时间(DOS型态).Unit SysUtils函数原型 function FileGetDate(Handle: Integer): Integer;说明就是档案总管中档案内容裹面的修改日期.范例 procedure TForm1.Button1Click(Sender: TObject);varFileHandle:Integer;S: String;FileDate1:Integer;DateTime1:TDateTime;beginFileHandle :=FileOpen('c:\delphi_d\delphi_help2.txt',fmOpenReadWrite);if FileHandle > 0 thenBeginFileDate1 := FileGetDate(FileHandle);DateTime1 := FileDateToDateTime(FileDate1);S := DateTimeToStr(DateTime1);FileClose(FileHandle);EndelseS := 'Open File Error';Label1.Caption:=S;end;----------FileSetDate 设定档案的日期及时间(DOS型态).----------Unit SysUtils函数原型 function FileSetDate(Handle: Integer; Age: Integer): Integer; 说明传回值为0表示成功.----------DeleteFile 删除档案----------Unit SysUtils函数原型 function DeleteFile(const FileName: string): Boolean;范例一 DeleteFile('DELETE.ME');范例二 if FileExists(FileName) thenif MessageDlg('Do you really want to delete ' +ExtractFileName(FileName) + '?'), []) = IDYes thenDeleteFile(FileName);##FileExists, DeleteFile Example----------RenameFile 更改档名----------Unit SysUtils函数原型 function RenameFile(const OldName, NewName: string):Boolean; 范例procedure TForm1.Button1Click(Sender: TObject);varBackupName: string;FileHandle: Integer;StringLen: Integer;X: Integer;Y: Integer;beginif SaveDialog1.Execute thenbeginif FileExists(SaveDialog1.FileName) thenbeginBackupName := ExtractFileName(SaveDialog1.FileName);BackupName := ChangeFileExt(BackupName, '.BAK');if not RenameFile(SaveDialog1.FileName, BackupName) thenraise Exception.Create('Unable to create backup file.');end;FileHandle := FileCreate(SaveDialog1.FileName);{ Write out the number of rows and columns in the grid. }FileWrite(FileHandle,StringGrid1.ColCount, SizeOf(StringGrid1.ColCount));FileWrite(FileHandle,StringGrid1.RowCount, SizeOf(StringGrid1.RowCount));for X := 0 to StringGrid1.ColCount ? 1 dobeginfor Y := 0 to StringGrid1.RowCount ? 1 dobegin{ Write out the length of each string, followed by the string itself. } StringLen := Length(StringGrid1.Cells[X,Y]);FileWrite(FileHandle, StringLen, SizeOf(StringLen));FileWrite(FileHandle,StringGrid1.Cells[X,Y], Length(StringGrid1.Cells[X,Y]);end;end;FileClose(FileHandle);end;end;----------DiskFree 磁碟机剩馀空间(Bytes)----------Unit SysUtils函数原型 function DiskFree(Drive: Byte): Integer;范例 varS: string;beginS := IntToStr(DiskFree(0) div 1024) + ' Kbytes free.';Label1.Caption:=S;end;说明 Drive0=目前磁碟机,1=A磁碟机,2=B磁碟机...传回值若为-1,表示磁碟机侦测错误.范例varS: string;AmtFree: Int64;Total: Int64;beginAmtFree := DiskFree(0);Total := DiskSize(0);S := IntToStr(AmtFree div Total) + 'percent of the space on drive 0 is free: ' (AmtFree div 1024) + ' Kbytes free. ';Canvas.TextOut(10, 10, S);end;##DiskFree, DiskSize Example----------DiskSize 磁碟机空间大小(Bytes)Unit SysUtils函数原型 function DiskSize(Drive: Byte): Integer;范例 varS: string;beginS := IntToStr(DiskSize(0) div 1024) + ' Kbytes free.';Label1.Caption:=S;end;说明 Drive0=目前磁碟机,1=A磁碟机,2=B磁碟机....传回值若为-1,表示磁碟机侦测错误.##DiskFree, DiskSize Example----------FileExists 判断档案是否存在.----------Unit SysUtils函数原型 function FileExists(const FileName: string): Boolean;类似FileExists, RenameFile, FileCreate, FileWrite, FileClose, ExtractFileName Example范例procedure TForm1.Button1Click(Sender: TObject);varBackupName: string;FileHandle: Integer;StringLen: Integer;X: Integer;Y: Integer;beginif SaveDialog1.Execute thenbeginif FileExists(SaveDialog1.FileName) thenbeginBackupName := ExtractFileName(SaveDialog1.FileName);BackupName := ChangeFileExt(BackupName, '.BAK');if not RenameFile(SaveDialog1.FileName, BackupName) thenraise Exception.Create('Unable to create backup file.');end;FileHandle := FileCreate(SaveDialog1.FileName);{ Write out the number of rows and columns in the grid. }FileWrite(FileHandle,StringGrid1.ColCount, SizeOf(StringGrid1.ColCount));FileWrite(FileHandle,StringGrid1.RowCount, SizeOf(StringGrid1.RowCount));for X := 0 to StringGrid1.ColCount ? 1 dofor Y := 0 to StringGrid1.RowCount ? 1 dobegin{ Write out the length of each string, followed by the string itself. } StringLen := Length(StringGrid1.Cells[X,Y]);FileWrite(FileHandle, StringLen, SizeOf(StringLen));FileWrite(FileHandle,StringGrid1.Cells[X,Y], Length(StringGrid1.Cells[X,Y]);end;end;FileClose(FileHandle);end;end;##FileExists, DeleteFile Example##FileExists, RenameFile, FileCreate, FileWrite, FileClose, ExtractFileName Example ----------FileOpen 开档.----------Unit SysUtils函数原型 function FileOpen(const FileName: string; Mode:Integer):Integer;**** 开档失败传回-1.说明以下有关档案读取都属低阶,如Dos Int 21h中有关档案的部分.fmOpenRead = $0000;fmOpenWrite = $0001;fmOpenReadWrite = $0002;fmShareCompat = $0000;fmShareExclusive = $0010;fmShareDenyWrite = $0020;fmShareDenyRead = $0030;fmShareDenyNone = $0040;fmOpenRead Open for read access only.FmOpenWrite Open for write access only.FmOpenReadWrite Open for read and write access.fmShareCompat Compatible with the way FCBs areopened.fmShareExclusive Read and write access is denied.fmShareDenyWrite Write access is denied.fmShareDenyRead Read access is denied.fmShareDenyNone Allows full access for others.范例procedure OpenForShare(const FileName: String);varFileHandle : Integer;beginFileHandle := FileOpen(FileName, fmOpenWrite or fmShareDenyNone); if FileHandle > 0 then{valid file handle}else{Open error: FileHandle = negative DOS error code}end;范例procedure TForm1.Button1Click(Sender: TObject);variFileHandle: Integer;iFileLength: Integer;iBytesRead: Integer;Buffer: PChar;i: Integerbeginif OpenDialog1.Execute thenbegintryiFileHandle := FileOpen(OpenDialog1.FileName, fmOpenRead);iFileLength := FileSeek(iFileHandle,0,2);FileSeek(iFileHandle,0,0);Buffer := PChar(AllocMem(iFileLength + 1));iBytesRead = FileRead(iFileHandle, Buffer, iFileLength);FileClose(iFileHandle);for i := 0 to iBytesRead-1 dobeginStringGrid1.RowCount := StringGrid1.RowCount + 1;StringGrid1.Cells[1,i+1] := Buffer[i];StringGrid1.Cells[2,i+1] := IntToStr(Integer(Buffer[i])); end;finallyFreeMem(Buffer);end;end;end;##FileOpen, FileSeek, FileRead Example----------FileCreate 建档----------Unit SysUtils函数原型 function FileCreate(const FileName: string): Integer;范例procedure TForm1.Button1Click(Sender: TObject);varBackupName: string;FileHandle: Integer;StringLen: Integer;X: Integer;Y: Integer;beginif SaveDialog1.Execute thenbeginif FileExists(SaveDialog1.FileName) thenbeginBackupName := ExtractFileName(SaveDialog1.FileName);BackupName := ChangeFileExt(BackupName, '.BAK');if not RenameFile(SaveDialog1.FileName, BackupName) thenraise Exception.Create('Unable to create backup file.');end;FileHandle := FileCreate(SaveDialog1.FileName);{ Write out the number of rows and columns in the grid. }FileWrite(FileHandle,StringGrid1.ColCount, SizeOf(StringGrid1.ColCount));FileWrite(FileHandle,StringGrid1.RowCount, SizeOf(StringGrid1.RowCount));for X := 0 to StringGrid1.ColCount ? 1 dobeginfor Y := 0 to StringGrid1.RowCount ? 1 dobegin{ Write out the length of each string, followed by the string itself. } StringLen := Length(StringGrid1.Cells[X,Y]);FileWrite(FileHandle, StringLen, SizeOf(StringLen));FileWrite(FileHandle,StringGrid1.Cells[X,Y], Length(StringGrid1.Cells[X,Y]);end;end;FileClose(FileHandle);end;end;##FileExists, RenameFile, FileCreate, FileWrite, FileClose, ExtractFileName Example ----------。
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常用函数和过程
8.1 数据类型转化类本节所列函数和过程一般都定义在System 或者SysUtils 单元。
8.1.1 数值和字符串的相互转化procedure Str(X [: Width [: Decimals ]]; var S);将数值X 按照一定格式转化为字符串S。
Width 指定S 的总长度,如果X 是实数,Decimals 指定小数点后的位数。
如:varS: String;beginStr(12.2:6:2,S); {S=’ 12.20’}end;procedure Val(S; var V; var Code: Integer);将字符串S 转化为数值V。
如果不能转化,则Code 返回第一个非法字符的位置。
如:varV,Code: Integer;beginVal(’12.00’, V, Code); {没能成功转化,Code返回’.’的位置3}end;8.1.2 整数和字符串的相互转化function IntToStr(Value: Integer): string; overload;function IntToStr(Value: Int64): string; overload;第一个用于32Bit 整数的转化,第二个用于64Bit 整数的转化。
因为Cardinal、Longword 等和Integer 是兼容的(即是说一个Integer 变量总是可以无损失地存储一个Cardinal 或者Longword 变量的值,因为Integer 的取值范围完全包含了它们的取值范围)。
function StrToInt(const S: string): Integer;function StrToInt64(const S: string): Int64;将一个字符串转化为整数。
如果S 包含非数字字符(如“ 1A”、“ 1.2”),则运行时产生异常。
但是S 也可以是十六进制表示方法,如“ $A”,那么会返回十进制数10。
DELPHI控件属性、方法、事件及常用函数
DELPHI控件属性、方法、事件及常用函数DELPHI控件属性、方法、事件及常用函数一.TmainMemu控件该控件是一个标准的菜单控件,运用它为窗口提供菜单。
该对象的层次结构为:TObject—TPersistent--TCompoment—TMenu。
属性1-AutoMetge:Boolean功能:用于确定非MID程序中非主Form上的菜单要不要和主Form 的菜单合并。
主Form菜单AutoMerge的特性总是False。
此外,还要设置菜单项的GroupIndex属性。
2-BiDiMode:TBiDiMode功能:控制菜单的布置模式,是从左至右,还是从右至左。
3-Handle:HMENU功能:菜单窗口句柄。
4-Images:TImagList功能:出现在菜单项左边的图像列表。
菜单项通过设置它们的ImageIndex属性,以确定图像列表中的哪—个图像出现在菜单项的左边。
5-Items:TMenuItem功能:菜单项,描述了菜单的元素。
6-OwnerDraw:Boolean功能:确定菜单项是否可以由应用程序来画。
7-ParentBiDiMode:Boolean功能:确定BiDiMode属性是否从父辈继承而来,菜单的父辈一般为Form。
方法1-GetOle2AcceleratorTabel:(var AccelTable:HAccel;var AccelCount:Integer;Group:array of Integer)功能:返回主菜单的加速键表,其参数如下AccelTabel:设置加速键表的句柄。
AccelCount:设置加速键的总数。
Groups:即GroupIndex的值。
2-Merge:功能:组合Form上的一个主菜单与另一个非MDI应用程序的主菜单。
调用Merge方法将另一个主菜单组合进该菜单。
参数Menu指定了要合并的菜单3-PopulateOle2Menu:(ShareMenu:HMenu; Groups:array of Integer; var Widths:array of Longint)功能:组装OLE菜单。
(转载)delphi常用函数(数学)
(转载)delphi常⽤函数(数学)delphi 常⽤函数(数学)Delphi中怎么将实数取整?floor 和 ceil 是 math unit ⾥的函数,使⽤前要先 Uses Math。
trunc 和 round 是 system unit ⾥的函数,缺省就可以⽤。
floor 直接往⼩的取,⽐如 floor(-123.55)=-124,floor(123.55)=123trunc 直接切下整数,⽐如 trunc(-123.55)=-123, floor(123.55)=123ceil 直接往⼤的取,⽐如 ceil(-123.55)=-123, ceil(123.55)=124round 计算四舍五⼊,⽐如 round(-123.55)=-124,round(123.55)=124delphi中怎么将实数取余?function Frac(X: Extended): Extended; 是取得⼩数部分的函数abs(x) 绝对值arctan(x) 反正切cos(x) 传回馀弦函数值exp(x) e的x次幂frac(x) 取⼩数部分int(x) 取整ln(x) ⾃然对数sin(x) 传回正弦函数值sqr(x) x*xsqrt(x) 平⽅根其它pred(x) pred('D')='C', pred(true)=1;succ(x) succ('Y')='Z', succ(pred(x))=xord(x) 求x在字符集中的序号,如ord('A')=65chr(x) chr(65)='A'round(x) 四舍五⼊trunc(x) trunc(4.8)=4,trunc('-3.6')=-3upcase(x) upcase('a')='A'hi(I) hi(2A30)=2Alo(I) lo(2A30)=30random(n) 产⽣[0,n)间的随机整数sizeof(name) 求出某类型或变量在内存中占⽤的字节数swap(num) swap(3621)=2136。
delphi常用函数与过程
时间星期过程procedure Tmain.Timer1Timer(Sender: TObject);begincase dayofweek(now) of1:now_week:='星期天';2:now_week:='星期一';3:now_week:='星期二';4:now_week:='星期三';5:now_week:='星期四';6:now_week:='星期五';7:now_week:='星期六';end;main.StatusBar1.Panels[4].Text:=datetostr(now)+' '+now_week+' '+timetostr(now);end;有按钮的对话框if MessageDlg ('您是否要退出?', mtConfirmation, [mbyes, mbNo], 0) = idNo then CanClose := False;读取注册表键值function ReadValue(myrootkey:hkey;key,value:string):string; //从注册表键值中读取内容(返回值为字符串)varj : integer;Reg:TRegistry;mybuffer:pByte;//mybuffersize:integer;reginfo:tregdatainfo;//valuetype:TRegDatatype;beginReg:=TRegistry.Create;//valuetype:=rdstring;tryreg.RootKey:=myrootkey;if reg.OpenKey(key,false) thenbeginif reg.GetDataInfo(value,reginfo) thenbegin//valuetype:= reginfo.RegData;case REG.GETDATA TYPE(Value) ofrdstring: Result:=reg.ReadString(value);rdbinary: beginGetMem(mybuffer,regInfo.DataSize);REG.READBINARYDA TA(value,myBuffer^,regInfo.DataSize);Result := '';for j := 0 to regInfo.DataSize - 1 dobeginResult := Result + IntToHex(Byte(mybuffer^),2);inc(mybuffer);end;end;rdinteger: Result:=IntToStr(reg.ReadInteger(value));end;end;end;finally//Result:='';reg.CloseKey;reg.Free;end;end;调用证件名称生成拼音简码动态函数procedure getbm(var str : shortstring; sel : integer); external 'zjmc.dll';调用子窗口函数,保证只调用一次procedure OpenForm(FormClass: TFormClass; var fm; AOwner:TComponent);vari: integer;Child:TForm;beginfor i := 0 to Screen.FormCount -1 do {统计有多少个子窗口}if Screen.Forms[i].ClassType=FormClass thenbeginChild:=Screen.Forms[i];if Child.WindowState=wsMinimized thenShowWindow(Child.handle,SW_SHOWmaximized){如果子窗口为最小化,将她最大化} elseShowWindow(Child.handle,SW_SHOWNA); {一般情况下,窗口保持她原有的大小} if (not Child.Visible) then Child.Visible:=True;Child.BringToFront;Child.Setfocus;TForm(fm):=Child;exit;end;Child:=TForm(FormClass.NewInstance);TForm(fm):=Child;Child.Create(AOwner);end;//打开子窗口,并只打开一次的过程---完十六进制字符串转变为十进制字符串function Hex2Dec(Hex : string) : string; //十六进制字符串转变为十进制字符串(注意:不能输入字符串'00')vari : integer;res : real;len : integer;beginlen := length(Trim(Hex));res:=0;for i := 1 to len dobegincase Hex[i] of'0'..'9': res := res + strToInt(Hex[i]) * power(16,(len-i));'a'..'f': res := res + (ord(Hex[i]) - ord('a') + 10) * power(16,(len-i));'A'..'F': res := res + (ord(Hex[i]) - ord('A') + 10) * power(16,(len-i));end;end;result := FloatToStr(res);end;十六进制字符串转变为十进制字符串function Hex2char(Hex : string) : string; //十六进制字符串转变为十进制字符串(注意:不能输入字符串'00')vari : integer;res : real;string_temp:string;len : integer;beginlen := length(Trim(Hex));res:=0;for i := 1 to len dobegincase Hex[i] of'0'..'9': res := res + strToInt(Hex[i]) * power(16,(len-i));'a'..'f': res := res + (ord(Hex[i]) - ord('a') + 10) * power(16,(len-i));'A'..'F': res := res + (ord(Hex[i]) - ord('A') + 10) * power(16,(len-i));end;end;string_temp:=floattoStr(res);result:=char(strtoint(string_temp));end;读取注册表中的数码相机的相关信息procedure Tmain.FormActivate(Sender: TObject);varmemostring:string;len_string:integer;i:integer;testRegistry:TRegistry;begintestRegistry:=TRegistry.Create;testRegistry.RootKey:=HKEY_CURRENT_USER;//testRegistry.ValueExists('RCFILEINFO')if testRegistry.OpenKey('Software\Canon\PowerShot\REMCAP',false) then//通过判断键值是否存在来判断软件是否安装begintestRegistry.CloseKey;testRegistry.Free;memostring:=ReadValue(HKEY_CURRENT_USER,'Software\Canon\PowerShot\REMCAP','RC FILEINFO');len_string:=length(memostring);i:=13;photo_path:='';photo_name:='';while i<=len_string do//此循环读取路径信息,路径是通过'\'和'00'确定.beginif (memostring[i]+memostring[i+1]='5C') and (memostring[i+2]+memostring[i+3]='00') thenbeginphoto_path:=photo_path+hex2char(memostring[i]+memostring[i+1]);i:=533;break;endelsebeginphoto_path:=photo_path+hex2char(memostring[i]+memostring[i+1]);i:=i+2;end;end;while i<=len_string do//此循环读取文件前缀信息,前缀判断是通过末尾为'00'确定,没有其他的内容beginif (memostring[i]+memostring[i+1]='00') thenbegin//i:=113;break;endelsebeginphoto_name:=photo_name+hex2char(memostring[i]+memostring[i+1]);i:=i+2;end;end;if ((photo_path='') and (photo_name='')) then //如果返回的值为空,就说明没有键值或键值错误main.StatusBar1.Panels[2].Text:='图片保存路径:'+'空';main.StatusBar1.Panels[3].Text:='前缀名为:'+'空';showmessage('未安装数码相机扫描软件,请安装或找软件开发人员!');endelsebeginmain.StatusBar1.Panels[2].Text:='图片保存路径:'+photo_path;main.StatusBar1.Panels[3].Text:='前缀名为:'+photo_name;end;//获取文件名数字部分的长度总长度为1064 数字部分数字长度为1053 起始数字1057Photo_num_long:=strtoint(memostring[1054]);//此为数字范围长度Photo_num_long:=Photo_num_long+length(photo_name)+1+4;//加扩展名长度,加下划线长度,加后缀名长度Photo_num_begin:=strtoint(memostring[1057]);endelsebegintestRegistry.CloseKey;testRegistry.Free;main.StatusBar1.Panels[2].Text:='图片保存路径:'+'空';main.StatusBar1.Panels[3].Text:='前缀名为:'+'空';showmessage('未安装数码相机扫描软件,请安装或找软件开发人员!');end;//FreeMem(memostring);end;权限处理函数function change_all(Num_input,Num_out,fuhao:integer):Boolean; //Num_input为输入的数值fuhao比较的符号Num_outNum_out在第四种情况时使用的参数(1<=,2=,3>=,4>Num_input and <Num_out)vari,free_no,now_all:integer;beginwith form1 do //当前窗口now_all:=ComponentCount - 1;//所有控件个数,当释放了控件后将会变化,如果不变化将找不到需要改变的控件free_no:=0;//删除的控件数,保证不会数组出界for i:=0 to now_all dobegintry //防止出问题case fuhao of1:begin //<=if Components[i-free_no].Tag<=Num_input thenbegintryComponents[i-free_no].Free;if now_all>0 thenbeginnow_all:=now_all-1;end;free_no:=free_no+1;exceptend;end;end ;2:begin //=if Components[i-free_no].Tag=Num_input thenbegintryComponents[i-free_no].Free;if now_all>0 thenbeginnow_all:=now_all-1;end;free_no:=free_no+1;exceptend;end;end ;3:begin //>=if Components[i-free_no].Tag>=Num_input thenbegintryComponents[i-free_no].Free;if now_all>0 thenbeginnow_all:=now_all-1;end;free_no:=free_no+1;exceptend;end;end ;4:beginif (Components[i-free_no].Tag>=Num_input) and (Components[i-free_no].Tag<=Num_out) thenbegintryComponents[i-free_no].Free;if now_all>0 thennow_all:=now_all-1;free_no:=free_no+1;exceptend;end;end;else;Result := False;end;except//防止出问题end;Result := True;end;end;end;。
delphi函数定义及实现
delphi函数定义及实现Delphi函数定义及实现Delphi是一种面向对象的编程语言,它的函数定义和实现是非常重要的部分。
在Delphi中,函数是一种可重用的代码块,它可以接受参数并返回一个值。
在本文中,我们将讨论Delphi函数的定义和实现。
在Delphi中,函数定义由函数名、参数列表和返回类型组成。
下面是一个简单的函数定义示例:function AddNumbers(a, b: Integer): Integer;在这个函数定义中,函数名是AddNumbers,它接受两个整数参数a和b,并返回一个整数值。
在函数定义中,参数列表用括号括起来,参数之间用逗号分隔。
返回类型在函数名后面用冒号指定。
函数实现函数实现是函数定义的具体实现。
在Delphi中,函数实现由函数体组成。
函数体是一组语句,它们定义了函数的操作。
下面是一个简单的函数实现示例:function AddNumbers(a, b: Integer): Integer;beginResult := a + b;end;在这个函数实现中,函数体由一个begin和end语句块组成。
在begin和end之间,我们定义了一个操作,它将a和b相加,并将结果存储在Result变量中。
最后,函数返回Result变量的值。
函数调用函数调用是使用函数的过程。
在Delphi中,函数调用由函数名和参数列表组成。
下面是一个简单的函数调用示例:vara, b, c: Integer;begina := 1;b := 2;c := AddNumbers(a, b);end;在这个函数调用中,我们定义了三个整数变量a、b和c。
然后,我们将a和b的值分别设置为1和2。
最后,我们调用AddNumbers函数,并将a和b作为参数传递。
函数返回的结果存储在c变量中。
总结在Delphi中,函数定义和实现是非常重要的部分。
函数定义由函数名、参数列表和返回类型组成,而函数实现由函数体组成。
delphi函数大全之I-R篇-详解
delphi函数⼤全之I-R篇-详解━━━━━━━━━━━━━━━━━━━━━⾸部 function ReverseString(const AText: string): string; $[StrUtils.pas功能返回字符串AText的反序说明 ReverseString('1234') = '4321'参考 function System.SetLength例⼦ Edit3.Text := ReverseString(Edit1.Text);━━━━━━━━━━━━━━━━━━━━━⾸部 function StuffString(const AText: string; AStart, ALength: Cardinal; const ASubText: string): string; $[StrUtils.pas 功能返回嵌套字符串说明 AStart:嵌套开始位置;ALength:嵌套长度;StuffString('abcd', 2, 0, '12') = 'a12bcd'参考 function System.Copy例⼦ Edit3.Text := StuffString(Edit1.Text, SpinEdit1.Value, SpinEdit2.Value, Edit2.Text);━━━━━━━━━━━━━━━━━━━━━⾸部 function RandomFrom(const AValues: array of string): string; overload; $[StrUtils.pas功能随机返回字符串数组AValues中的⼀个元素说明之前建议执⾏Randomize参考 function System.Random例⼦ Randomize; Edit3.Text := RandomFrom(['a1', 'a2', 'a3', 'a4']);━━━━━━━━━━━━━━━━━━━━━⾸部 function IfThen(AValue: Boolean; const ATrue: string; AFalse: string = ''): string; overload; $[StrUtils.pas功能返回指定的逻辑字符串说明 IfThen(True, '是', '否') = '是';IfThen(False, '是', '否') = '否'参考 <NULL>例⼦ Edit3.Text := IfThen(CheckBox1.Checked, Edit1.Text, Edit2.Text);━━━━━━━━━━━━━━━━━━━━━⾸部 function LeftStr(const AText: string; const ACount: Integer): string; $[StrUtils.pas功能返回字符串AText左边的ACount个字符说明 LeftStr('123456', 3) = '123'参考 function System.Copy例⼦ Edit3.Text := LeftStr(Edit1.Text, SpinEdit1.Value);━━━━━━━━━━━━━━━━━━━━━⾸部 function RightStr(const AText: string; const ACount: Integer): string; $[StrUtils.pas功能返回字符串AText右边的ACount个字符说明 RightStr('123456', 3) = '456'参考 function System.Copy例⼦ Edit3.Text := RightStr(Edit1.Text, SpinEdit1.Value);━━━━━━━━━━━━━━━━━━━━━⾸部 function MidStr(const AText: string; const AStart, ACount: Integer): string; $[StrUtils.pas功能返回字符串AText从AStart开始的ACount个字符说明其实就是Copy参考 function System.Copy例⼦ Edit3.Text := MidStr(Edit1.Text, SpinEdit1.Value, SpinEdit2.Value);━━━━━━━━━━━━━━━━━━━━━⾸部 function NewStr(const S: string): PString; deprecated; $[SysUtils.pas功能返回⼀个新的字符串指针地址说明字符串S为空时返回NullStr参考 procedure System.New例⼦////////Begin NewStr,DisposeStrprocedure TForm1.Button1Click(Sender: TObject);varP: PString;beginP := NewStr(Edit1.Text);Edit2.Text := P^;DisposeStr(P);end;////////End NewStr,DisposeStr━━━━━━━━━━━━━━━━━━━━━⾸部 function LowerCase(const S: string): string; $[SysUtils.pas功能返回字符串S的⼩写形式说明⾮⼤写字符不处理参考 procedure System.SetLength例⼦ Edit2.Text := LowerCase(Edit1.Text);━━━━━━━━━━━━━━━━━━━━━⾸部 function IsValidIdent(const Ident: string): Boolean; $[SysUtils.pas功能返回字符串Ident是否是正确的标识符说明标识符::字母|下划线[字母|下划线|数字]...参考 <NULL>例⼦ CheckBox1.Checked := IsValidIdent(Edit1.Text);━━━━━━━━━━━━━━━━━━━━━⾸部 function IntToStr(Value: Integer): string; overload; $[SysUtils.pas⾸部 function IntToStr(Value: Int64): string; overload; $[SysUtils.pas功能返回整数Value转换成字符串说明 Format('%d', [Value])参考 function SysUtils.FmtStr例⼦ Edit2.Text := IntToStr(SpinEdit1.Value);━━━━━━━━━━━━━━━━━━━━━⾸部 function IntToHex(Value: Integer; Digits: Integer): string; overload; $[SysUtils.pas ⾸部 function IntToHex(Value: Int64; Digits: Integer): string; overload; $[SysUtils.pas功能返回整数Value转换成⼗六进制表现结果;Format('%.*x', [Digits, Value])说明参数Digits指定字符最⼩宽度;最⼩宽度不⾜时将⽤0填充参考 function SysUtils.FmtStr例⼦ Edit2.Text := IntToHex(SpinEdit1.Value, SpinEdit2.Value);━━━━━━━━━━━━━━━━━━━━━⾸部 function LoadStr(Ident: Integer): string; $[SysUtils.pas功能返回根据标识Ident的字符串资源说明字符串资源是指程序的内部资源参考 function SysUtils.FindStringResource例⼦ Edit2.Text := LoadStr(StrToIntDef(Edit1.Text, 0));━━━━━━━━━━━━━━━━━━━━━⾸部 function RenameFile(const OldName, NewName: string): Boolean; $[SysUtils.pas 功能返回重命名⽂件是否成功说明⽂件不存在则返回False参考 function Windows.MoveFile例⼦ CheckBox1.Checked := RenameFile(Edit1.Text, Edit2.Text);━━━━━━━━━━━━━━━━━━━━━⾸部 function RemoveDir(const Dir: string): Boolean; $[SysUtils.pas功能返回删除⽬录是否成功说明必须是空⽬录参考 function Windows.RemoveDirectory例⼦ CheckBox1.Checked := RemoveDir(Edit1.Text);━━━━━━━━━━━━━━━━━━━━━⾸部 function MSecsToTimeStamp(MSecs: Comp): TTimeStamp; $[SysUtils.pas功能返回微妙转换成时间结构类型说明 <NULL>参考 type SysUtils.TTimeStamp例⼦ <NULL>━━━━━━━━━━━━━━━━━━━━━。
delphi函数与过程
一、算术函数1.abs(x):求x的绝对值2.sqr(x):求x的平方3.sqrt(x):求x的平方根4.exp(x):求以e为底的幂,即e x5.ln(x):求x的自然对数6.odd(x):判断x是否为奇数7.sin(x):求x的正弦值,x的单位是弧度8.cos(x):求x的余弦值,x的单位是弧度9.arctan(x):求x的反正切值10.max(x,y):求x,y中的最大值11.min(x,y):求x,y中的最小值12.trunc(x):取x的整数部分,返回类型为整型13.round(x):取x的四舍五入后的值(奇入偶舍),返回类型为整型14.sizeof(x):取x所占的字节数15.random(range):返回一个随机数y,没有参数range时,0≤y<1,有则0≤y<range且为整数16.pi:返回圆周率17.int(x):取x的整数部分,返回类型为实型二、算术运算过程1.d ec(x,n):取x的第n个前驱,n=1时可省略即x:=x-n;2.i nc(x,n):取x的第n个后继,n=1时可省略即x:=x+n;3.r andomize:初始化随机函数发生器,与random()配合使用4.i nclude(s,i):把i加入到集合s中5.e xclude(s,i):把i从集合s中去掉6.m ove(x,y,n):将数据x的n个字节移到y中三、字符串函数1.I ntToStr(n):将十进制数n转化为字符串2.S trToInt(s):把字符串s转化为整数,不成功则产生异常3.S trToIntDef(s,n):把字符串s转化为整数,不成功则返回n4.I ntToHex(n,m):将n转化为十六进制字符串,m指出字符串的最小位数,位数不足在左边补0。
5.F loatToStr(x):把实数x转化为字符串6.S trToFloat(s):把字符串s转化为实数7.S tringOfChar(c,n):生成由n个c字符组成的字符串8.U pCase(c):把字符c变成大写字母9.U pperCase(s):把字符串s中的所有字符转换成大写字母10.LowerCase(s):把字符串s中的所有字符转换成小写字母pareStr(s1,s2):比较字符串,s1>s2返回正整数,s1=s2返回0,s1<s2返回负整数pareText(s1,s2):同上,但比较时不区分大小写13.Copy(s,i,n):返回s中从i开始的n个字符组成的子串14.Pos(s1,s):返回s1在s中的位置,不在其中返回015.Length(s):返回字符串s的长度四、字符串操作过程1.D elete(s,i,n):删除字符串s中从i开始的n个字符2.I nsert(s1,s ,n):在字符串s的第n个位置插入s13.S tr(x,s):将x转化为字符串s4.V al(s,x,n):将s转换为数值x,成功n返回0,不成功n返回错误位置五、日期和时间的函数和过程1.D ate:返回当前日期2.T ime:返回当前时间3.N ow:返回当前的日期和时间4.D ateToStr(date):将日期转化为字符串的过程5.T imeToStr(time):将时间转化为字符串的过程6.D ateTimeToStr(datetime):将日期和时间转化为字符串的过程7.E ncodeDate(year,month,day):返回将年月日转换成的日期8.D ecodeDate(date,year,month,day):将日期转化为年月日的过程9.E ncodeTime(hour,min,sec):返回将时分秒转换成的时间10.DecodeTime(time,hour,min,sec):将时间转化为时分秒的过程11.DayOfWeek(date):返回Date日期对应的星期数。
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函数参考例子━━━━━━━━━━━━━━━━━━━━━。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
function ArcCos(const X : Extended) : Extended; overload;function ArcCos(const X : Double) : Double; overload;function ArcCos(const X : Single) : Single; overload;function ArcSin(const X : Extended) : Extended; overload;function ArcSin(const X : Double) : Double; overload;function ArcSin(const X : Single) : Single; overload;function ArcTan2(const Y, X: Extended): Extended;procedure SinCos(const Theta: Extended; var Sin, Cos: Extended) register;function Tan(const X: Extended): Extended;function Cotan(const X: Extended): Extended; { 1 / tan(X), X <> 0 }function Secant(const X: Extended): Extended; { 1 / cos(X) }function Cosecant(const X: Extended): Extended; { 1 / sin(X) }function Hypot(const X, Y: Extended): Extended; { Sqrt(X**2 + Y**2) }function RadToDeg(const Radians: Extended): Extended; inline; { Degrees := Radians * 180 / PI }function RadToGrad(const Radians: Extended): Extended; inline; { Grads := Radians * 200 / PI }function RadToCycle(const Radians: Extended): Extended; inline; { Cycles := Radians / 2PI } function DegToRad(const Degrees: Extended): Extended; inline; { Radians := Degrees * PI / 180}function DegToGrad(const Degrees: Extended): Extended;function DegToCycle(const Degrees: Extended): Extended;function GradToRad(const Grads: Extended): Extended; inline; { Radians := Grads * PI / 200 }function GradToDeg(const Grads: Extended): Extended;function GradToCycle(const Grads: Extended): Extended;function CycleToRad(const Cycles: Extended): Extended; inline; { Radians := Cycles * 2PI } function CycleToDeg(const Cycles: Extended): Extended;function CycleToGrad(const Cycles: Extended): Extended;{ Hyperbolic functions and inverses }function Cot(const X: Extended): Extended; inline; { alias for Cotan }function Sec(const X: Extended): Extended; inline; { alias for Secant }function Csc(const X: Extended): Extended; inline; { alias for Cosecant }function Cosh(const X: Extended): Extended;function Sinh(const X: Extended): Extended;function Tanh(const X: Extended): Extended;function CotH(const X: Extended): Extended; inline;function SecH(const X: Extended): Extended; inline;function CscH(const X: Extended): Extended; inline;function ArcCot(const X: Extended): Extended; { IN: X <> 0 }function ArcSec(const X: Extended): Extended; { IN: X <> 0 }function ArcCsc(const X: Extended): Extended; { IN: X <> 0 }function ArcCosh(const X: Extended): Extended; { IN: X >= 1 }function ArcSinh(const X: Extended): Extended;function ArcTanh(const X: Extended): Extended; { IN: |X| <= 1 }function ArcCotH(const X: Extended): Extended; { IN: X <> 0 }function ArcSecH(const X: Extended): Extended; { IN: X <> 0 }function ArcCscH(const X: Extended): Extended; { IN: X <> 0 }{ Logarithmic functions }function LnXP1(const X: Extended): Extended; { Ln(X + 1), accurate for X near zero } function Log10(const X: Extended): Extended; { Log base 10 of X } function Log2(const X: Extended): Extended; { Log base 2 of X } function LogN(const Base, X: Extended): Extended; { Log base N of X } { Exponential functions }{ IntPower: Raise base to an integral power. Fast. }function IntPower(const Base: Extended; const Exponent: Integer): Extended register;{ Power: Raise base to any power.For fractional exponents, or |exponents| > MaxInt, base must be > 0. }function Power(const Base, Exponent: Extended): Extended; overload;function Power(const Base, Exponent: Double): Double; overload;function Power(const Base, Exponent: Single): Single; overload;{ Miscellaneous Routines }{ Frexp: Separates the mantissa and exponent of X. }procedure Frexp(const X: Extended; var Mantissa: Extended; var Exponent: Integer) register; { Ldexp: returns X*2**P }function Ldexp(const X: Extended; const P: Integer): Extended register;{ Ceil: Smallest integer >= X, |X| < MaxInt }function Ceil(const X: Extended):Integer;{ Floor: Largest integer <= X, |X| < MaxInt }function Floor(const X: Extended): Integer;function Sum(const Data: array of Double): Extended register;function SumInt(const Data: array of Integer): Integer register;function SumOfSquares(const Data: array of Double): Extended;procedure SumsAndSquares(const Data: array of Double;var Sum, SumOfSquares: Extended) register;{ MinValue: Returns the smallest signed value in the data array (MIN) }function MinValue(const Data: array of Double): Double;function MinIntValue(const Data: array of Integer): Integer;function Min(const A, B: Integer): Integer; overload; inline;function Min(const A, B: Int64): Int64; overload; inline;function Min(const A, B: Single): Single; overload; inline;function Min(const A, B: Double): Double; overload; inline;function Min(const A, B: Extended): Extended; overload; inline;{ MaxValue: Returns the largest signed value in the data array (MAX) }function MaxValue(const Data: array of Double): Double;function MaxIntValue(const Data: array of Integer): Integer;function Max(const A, B: Integer): Integer; overload; inline;function Max(const A, B: Int64): Int64; overload; inline;function Max(const A, B: Single): Single; overload; inline;function Max(const A, B: Double): Double; overload; inline;function Max(const A, B: Extended): Extended; overload; inline;{ Standard Deviation (STD): Sqrt(Variance). aka Sample Standard Deviation }function StdDev(const Data: array of Double): Extended;{ MeanAndStdDev calculates Mean and StdDev in one call. }procedure MeanAndStdDev(const Data: array of Double; var Mean, StdDev: Extended);{ Population Standard Deviation (STDP): Sqrt(PopnVariance).Used in some business and financial calculations. }function PopnStdDev(const Data: array of Double): Extended;{ Variance (V ARS): TotalVariance / (N-1). aka Sample Variance }function Variance(const Data: array of Double): Extended;{ Population Variance (V AR or V ARP): TotalVariance/ N }function PopnVariance(const Data: array of Double): Extended;{ Total Variance: SUM(i=1,N)[(X(i) - Mean)**2] }function TotalVariance(const Data: array of Double): Extended;{ Norm: The Euclidean L2-norm. Sqrt(SumOfSquares) }function Norm(const Data: array of Double): Extended;procedure MomentSkewKurtosis(const Data: array of Double;var M1, M2, M3, M4, Skew, Kurtosis: Extended);{ RandG produces random numbers with Gaussian distribution about the mean.Useful for simulating data with sampling errors. }function RandG(Mean, StdDev: Extended): Extended;function IsNan(const AValue: Double): Boolean; overload;function IsNan(const AValue: Single): Boolean; overload;function IsNan(const AValue: Extended): Boolean; overload;function IsInfinite(const A Value: Double): Boolean;function Sign(const A Value: Integer): TValueSign; overload;function Sign(const A Value: Int64): TValueSign; overload;function Sign(const A Value: Double): TValueSign; overload;function CompareValue(const A, B: Extended; Epsilon: Extended = 0): TValueRelationship; overload;function CompareValue(const A, B: Double; Epsilon: Double = 0): TValueRelationship; overload; function CompareValue(const A, B: Single; Epsilon: Single = 0): TValueRelationship; overload; function CompareValue(const A, B: Integer): TValueRelationship; overload;function CompareValue(const A, B: Int64): TValueRelationship; overload;function SameValue(const A, B: Extended; Epsilon: Extended = 0): Boolean; overload;function SameValue(const A, B: Double; Epsilon: Double = 0): Boolean; overload;function SameValue(const A, B: Single; Epsilon: Single = 0): Boolean; overload;{ IsZero: These will return true if the given value is zero (or very very veryclose to it). }function IsZero(const A: Extended; Epsilon: Extended = 0): Boolean; overload;function IsZero(const A: Double; Epsilon: Double = 0): Boolean; overload;function IsZero(const A: Single; Epsilon: Single = 0): Boolean; overload;{ Easy to use conditional functions }function IfThen(AValue: Boolean; const A True: Integer; const AFalse: Integer = 0): Integer; overload;function IfThen(A Value: Boolean; const A True: Int64; const AFalse: Int64 = 0): Int64; overload; function IfThen(A Value: Boolean; const ATrue: Double; const AFalse: Double = 0.0): Double; overload;{ Various random functions }function RandomRange(const AFrom, ATo: Integer): Integer;function RandomFrom(const A Values: array of Integer): Integer; overload;function RandomFrom(const A Values: array of Int64): Int64; overload;function RandomFrom(const A Values: array of Double): Double; overload;{ Range testing functions }function InRange(const A Value, AMin, AMax: Integer): Boolean; overload;function InRange(const A Value, AMin, AMax: Int64): Boolean; overload;function InRange(const A Value, AMin, AMax: Double): Boolean; overload;{ Range truncation functions }function EnsureRange(const A Value, AMin, AMax: Integer): Integer; overload;function EnsureRange(const A Value, AMin, AMax: Int64): Int64; overload;function EnsureRange(const A Value, AMin, AMax: Double): Double; overload;{ 16 bit unsigned integer division and remainder in one operation }procedure DivMod(Dividend: Cardinal; Divisor: Word;var Result, Remainder: Word);function RoundTo(const A Value: Double; const ADigit: TRoundToRange): Double;function SimpleRoundTo(const A V alue: Double; const ADigit: TRoundToRange = -2): Double; function DoubleDecliningBalance(const Cost, Salvage: Extended;Life, Period: Integer): Extended;function FutureValue(const Rate: Extended; NPeriods: Integer; const Payment, PresentValue: Extended; PaymentTime: TPaymentTime): Extended;function InterestPayment(const Rate: Extended; Period, NPeriods: Integer;const PresentValue, FutureValue: Extended; PaymentTime: TPaymentTime): Extended; function InterestRate(NPeriods: Integer; const Payment, PresentValue,FutureValue: Extended; PaymentTime: TPaymentTime): Extended;function InternalRateOfReturn(const Guess: Extended;const CashFlows: array of Double): Extended;{ Number of Periods (NPER) }function NumberOfPeriods(const Rate: Extended; Payment: Extended;const PresentValue, FutureValue: Extended; PaymentTime: TPaymentTime): Extended;{ Net Present Value. (NPV) Needs array of cash flows. }function NetPresentValue(const Rate: Extended; const CashFlows: array of Double; PaymentTime: TPaymentTime): Extended;{ Payment (PAYMT) }function Payment(Rate: Extended; NPeriods: Integer; const PresentValue,FutureValue: Extended; PaymentTime: TPaymentTime): Extended;{ Period Payment (PPAYMT) }function PeriodPayment(const Rate: Extended; Period, NPeriods: Integer;const PresentValue, FutureValue: Extended; PaymentTime: TPaymentTime): Extended; { Present Value (PV AL) }function PresentValue(const Rate: Extended; NPeriods: Integer;const Payment, FutureValue: Extended; PaymentTime: TPaymentTime): Extended;{ Straight Line depreciation (SLN) }function SLNDepreciation(const Cost, Salvage: Extended; Life: Integer): Extended;{ Sum-of-Years-Digits depreciation (SYD) }function SYDDepreciation(const Cost, Salvage: Extended; Life, Period: Integer): Extended; function GetRoundMode: TFPURoundingMode;{ Set the rounding mode and return the old mode }function SetRoundMode(const RoundMode: TFPURoundingMode): TFPURoundingMode; function SetPrecisionMode(const Precision: TFPUPrecisionMode): TFPUPrecisionMode; function GetExceptionMask: TFPUExceptionMask;{ Set a new exception mask and return the old one }function SetExceptionMask(const Mask: TFPUExceptionMask): TFPUExceptionMask;{ Clear any pending exception bits in the status word }procedure ClearExceptions(RaisePending: Boolean = True);function RoundTo(const A Value: Double; const ADigit: TRoundToRange): Double;function SimpleRoundTo(const A V alue: Double; const ADigit: TRoundToRange = -2): Double; function Annuity2(const R: Extended; N: Integer; PaymentTime: TPaymentTime;var CompoundRN: Extended): Extended; Forward;function Compound(const R: Extended; N: Integer): Extended; Forward;function RelSmall(const X, Y: Extended): Boolean; Forward;procedure ArgError(const Msg: string);function DegToRad(const Degrees: Extended): Extended; { Radians := Degrees * PI / 180 } function RadToDeg(const Radians: Extended): Extended; { Degrees := Radians * 180 / PI } function GradToRad(const Grads: Extended): Extended; { Radians := Grads * PI / 200 } function RadToGrad(const Radians: Extended): Extended; { Grads := Radians * 200 / PI} function CycleToRad(const Cycles: Extended): Extended; { Radians := Cycles * 2PI } function RadToCycle(const Radians: Extended): Extended;{ Cycles := Radians / 2PI } function DegToGrad(const Degrees: Extended): Extended;function DegToCycle(const Degrees: Extended): Extended;function GradToDeg(const Grads: Extended): Extended;function GradToCycle(const Grads: Extended): Extended;function CycleToDeg(const Cycles: Extended): Extended;function CycleToGrad(const Cycles: Extended): Extended;function LnXP1(const X: Extended): Extended;function IntPower(const Base: Extended; const Exponent: Integer): Extended;function Compound(const R: Extended; N: Integer): Extended;{ Return (1 + R)**N. }procedure PolyX(const A: array of Double; X: Extended; var Poly: TPoly);{ Compute A[0] + A[1]*X + ... + A[N]*X**N and X * its derivative.Accumulate positive and negative terms separately. }function RelSmall(const X, Y: Extended): Boolean;function ArcCos(const X : Extended) : Extended; overload;function ArcCos(const X : Double) : Double; overload;function ArcCos(const X : Single) : Single; overload;function ArcSin(const X : Extended) : Extended; overload;function ArcSin(const X : Double) : Double; overload;function ArcSin(const X : Single) : Single; overload;function ArcTan2(const Y, X: Extended): Extended;function Tan(const X: Extended): Extended;{ Tan := Sin(X) / Cos(X) }function CoTan(const X: Extended): Extended;{ CoTan := Cos(X) / Sin(X) = 1 / Tan(X) }function Secant(const X: Extended): Extended;{ Secant := 1 / Cos(X) }function Cosecant(const X: Extended): Extended;{ Cosecant := 1 / Sin(X) }function Hypot(const X, Y: Extended): Extended;{ formula: Sqrt(X*X + Y*Y)implemented as: |Y|*Sqrt(1+Sqr(X/Y)), |X| < |Y| for greater precisionvarTemp: Extended;beginX := Abs(X);Y := Abs(Y);if X > Y thenbeginTemp := X;X := Y;Y := Temp;end;if X = 0 thenResult := Yelse // Y > X, X <> 0, so Y > 0Result := Y * Sqrt(1 + Sqr(X/Y));end;}procedure SinCos(const Theta: Extended; var Sin, Cos: Extended);{ Extract exponent and mantissa from X }procedure Frexp(const X: Extended; var Mantissa: Extended; var Exponent: Integer); { Mantissa ptr in EAX, Exponent ptr in EDX }function Ldexp(const X: Extended; const P: Integer): Extended;{ Result := X * (2^P) }function Ceil(const X: Extended): Integer;function Log10(const X: Extended): Extended;{ Log.10(X) := Log.2(X) * Log.10(2) }function LogN(const Base, X: Extended): Extended;{ Log.N(X) := Log.2(X) / Log.2(N) }function Poly(const X: Extended; const Coefficients: array of Double): Extended; function Power(const Base, Exponent: Extended): Extended;function Power(const Base, Exponent: Double): Double; overload;function Power(const Base, Exponent: Single): Single; overload;function Cosh(const X: Extended): Extended;function Sinh(const X: Extended): Extended;function Tanh(const X: Extended): Extended;function ArcCosh(const X: Extended): Extended;function ArcSinh(const X: Extended): Extended;function ArcTanh(const X: Extended): Extended;function Cot(const X: Extended): Extended;function Sec(const X: Extended): Extended;function Csc(const X: Extended): Extended;function CotH(const X: Extended): Extended;function SecH(const X: Extended): Extended;function CscH(const X: Extended): Extended;function ArcCot(const X: Extended): Extended;function ArcSec(const X: Extended): Extended;function ArcCsc(const X: Extended): Extended;function ArcCotH(const X: Extended): Extended;function ArcSecH(const X: Extended): Extended;function ArcCscH(const X: Extended): Extended;function IsNan(const AValue: Single): Boolean;function IsNan(const AValue: Double): Boolean;function IsNan(const AValue: Extended): Boolean;function IsInfinite(const A Value: Double): Boolean;function Mean(const Data: array of Double): Extended;function MinValue(const Data: array of Double): Double;function MinIntValue(const Data: array of Integer): Integer;function Min(const A, B: Integer): Integer;function Min(const A, B: Int64): Int64;function Min(const A, B: Single): Single;function Min(const A, B: Double): Double;function Min(const A, B: Extended): Extended;function MaxValue(const Data: array of Double): Double;varI: Integer;beginResult := Data[Low(Data)];for I := Low(Data) + 1 to High(Data) doif Result < Data[I] thenResult := Data[I];end;function MaxIntValue(const Data: array of Integer): Integer;function Max(const A, B: Integer): Integer;function Max(const A, B: Int64): Int64;function Max(const A, B: Single): Single;function Max(const A, B: Double): Double;function Max(const A, B: Extended): Extended;function Sign(const A Value: Integer): TValueSign;beginResult := ZeroValue;if A Value < 0 thenResult := NegativeValueelse if A Value > 0 thenResult := PositiveValue;end;function Sign(const A Value: Int64): TValueSign;function Sign(const A Value: Double): TValueSign;function CompareValue(const A, B: Extended; Epsilon: Extended): TValueRelationship; beginif SameValue(A, B, Epsilon) thenResult := EqualsValueelse if A < B thenResult := LessThanValueelseResult := GreaterThanV alue;end;function CompareValue(const A, B: Double; Epsilon: Double): TValueRelationship; function CompareValue(const A, B: Single; Epsilon: Single): TValueRelationship; function CompareValue(const A, B: Integer): TValueRelationship;function CompareValue(const A, B: Int64): TValueRelationship;function SameValue(const A, B: Extended; Epsilon: Extended): Boolean;beginif Epsilon = 0 thenEpsilon := Max(Min(Abs(A), Abs(B)) * ExtendedResolution, ExtendedResolution); if A > B thenResult := (A - B) <= EpsilonelseResult := (B - A) <= Epsilon;end;function SameValue(const A, B: Double; Epsilon: Double): Boolean;function SameValue(const A, B: Single; Epsilon: Single): Boolean;function IsZero(const A: Extended; Epsilon: Extended): Boolean;beginif Epsilon = 0 thenEpsilon := ExtendedResolution;Result := Abs(A) <= Epsilon;end;function IsZero(const A: Double; Epsilon: Double): Boolean;function IsZero(const A: Single; Epsilon: Single): Boolean;function IfThen(A Value: Boolean; const A True: Integer; const AFalse: Integer): Integer; beginif A Value thenResult := ATrueelseResult := AFalse;end;function IfThen(A Value: Boolean; const A True: Int64; const AFalse: Int64): Int64; function IfThen(A Value: Boolean; const A True: Double; const AFalse: Double): Double; function RandomRange(const AFrom, ATo: Integer): Integer;beginif AFrom > ATo thenResult := Random(AFrom - ATo) + AToelseResult := Random(ATo - AFrom) + AFrom;end;function RandomFrom(const A Values: array of Integer): Integer;beginResult := A Values[Random(High(A Values) + 1)];end;function RandomFrom(const A Values: array of Int64): Int64;function RandomFrom(const A Values: array of Double): Double;function InRange(const A Value, AMin, AMax: Integer): Boolean;varA,B: Boolean;beginA := (AValue >= AMin);B := (AValue <= AMax);Result := B and A;end;function InRange(const A Value, AMin, AMax: Int64): Boolean;function InRange(const A Value, AMin, AMax: Double): Boolean;function EnsureRange(const A Value, AMin, AMax: Integer): Integer;beginResult := A Value;assert(AMin <= AMax);if Result < AMin thenResult := AMin;if Result > AMax thenResult := AMax;end;function EnsureRange(const A Value, AMin, AMax: Int64): Int64;function EnsureRange(const A Value, AMin, AMax: Double): Double;procedure MeanAndStdDev(const Data: array of Double; var Mean, StdDev: Extended); varS: Extended;N,I: Integer;beginN := High(Data)- Low(Data) + 1;if N = 1 thenbeginMean := Data[0];StdDev := Data[0];Exit;end;Mean := Sum(Data) / N;S := 0; // sum differences from the mean, for greater accuracyfor I := Low(Data) to High(Data) doS := S + Sqr(Mean - Data[I]);StdDev := Sqrt(S / (N - 1));end;procedure MomentSkewKurtosis(const Data: array of Double;var M1, M2, M3, M4, Skew, Kurtosis: Extended);function Norm(const Data: array of Double): Extended;beginResult := Sqrt(SumOfSquares(Data));end;function PopnStdDev(const Data: array of Double): Extended;beginResult := Sqrt(PopnVariance(Data))end;function PopnVariance(const Data: array of Double): Extended;beginResult := TotalVariance(Data) / (High(Data) - Low(Data) + 1)end;function RandG(Mean, StdDev: Extended): Extended;function StdDev(const Data: array of Double): Extended;beginResult := Sqrt(Variance(Data))end;procedure RaiseOverflowError; forward;function SumInt(const Data: array of Integer): Integer;procedure RaiseOverflowError;function SumOfSquares(const Data: array of Double): Extended;function TotalVariance(const Data: array of Double): Extended;function Variance(const Data: array of Double): Extended;function DoubleDecliningBalance(const Cost, Salvage: Extended; Life, Period: Integer): Extended;function SLNDepreciation(const Cost, Salvage: Extended; Life: Integer): Extended;function SYDDepreciation(const Cost, Salvage: Extended; Life, Period: Integer): Extended; function InternalRateOfReturn(const Guess: Extended; const CashFlows: array of Double): Extended;function NetPresentValue(const Rate: Extended; const CashFlows: array of Double; PaymentTime: TPaymentTime): Extended;function PaymentParts(Period, NPeriods: Integer; Rate, PresentValue,FutureValue: Extended; PaymentTime: TPaymentTime; var IntPmt: Extended):Extended;function FutureValue(const Rate: Extended; NPeriods: Integer; const Payment, PresentValue: Extended; PaymentTime: TPaymentTime): Extended;function InterestPayment(const Rate: Extended; Period, NPeriods: Integer;const PresentValue, FutureValue: Extended; PaymentTime: TPaymentTime): Extended; function InterestRate(NPeriods: Integer; const Payment, PresentValue,FutureValue: Extended; PaymentTime: TPaymentTime): Extended;function NumberOfPeriods(const Rate: Extended; Payment: Extended;const PresentValue, FutureValue: Extended; PaymentTime: TPaymentTime): Extended; function Payment(Rate: Extended; NPeriods: Integer; const PresentValue,FutureValue: Extended; PaymentTime: TPaymentTime): Extended;function PeriodPayment(const Rate: Extended; Period, NPeriods: Integer;const PresentValue, FutureValue: Extended; PaymentTime: TPaymentTime): Extended; function PresentValue(const Rate: Extended; NPeriods: Integer; const Payment, FutureValue: Extended; PaymentTime: TPaymentTime): Extended;function GetRoundMode: TFPURoundingMode;function SetRoundMode(const RoundMode: TFPURoundingMode): TFPURoundingMode; function GetPrecisionMode: TFPUPrecisionMode;function SetPrecisionMode(const Precision: TFPUPrecisionMode): TFPUPrecisionMode; function GetExceptionMask: TFPUExceptionMask;function SetExceptionMask(const Mask: TFPUExceptionMask): TFPUExceptionMask; procedure ClearExceptions(RaisePending: Boolean);。