delphi字符串大全
- 格式:doc
- 大小:168.00 KB
- 文档页数:44
更全的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 的字符及字符串- Char、AnsiChar、WideChar、PChar、PAnsDelphi有三种类型的字符:①AnsiChar:这是标准的1字节的ANSI字符,程序员都对它比较熟悉。
②WideChar:这是2字节的Unicode字符。
③Char:在目前相当于AnsiChar,但在Delphi以后版本中相当于WideChar。
记住因为一个字符在长度上并不表示一个字节,所以不能在应用程序中对字符长度进行硬编码,而应该使用Sizeof()函数。
注意Sizeof()标准函数返回类型或实例的字节长度。
字符串是代表一组字符的变量类型,每一种语言都有自己的字符串类型的存储和使用方法。
Pascal的字符串类型:①AnsiString:这是Pascal缺省的字符串类型,它由AnsiChar字符组成,其长度没有限制,同时与null结束的字符串相兼容。
②ShortString:保留该类型是为了向后兼容Delphi1.0,它的长度限制在255个字符内。
③WideString:功能上类似于AnsiString,但它是由WideChar字符组成的。
④PChar:指向null结束的Char字符串的指针,类似于C的char*或lpstr类型。
⑤PAnsiChar:指向null结束的AnsiChar字符串的指针。
⑥PWideChar:指向null结束的WideChar字符串的指针。
缺省情况下,如果用如下的代码来定义字符串,编译器认为是AnsiString字符串。
1.AnsiString类型AnsiString(或长字符串)类型是在Delphi2.0开始引入的,因为Delphi1.0的用户特别需要一个容易使用而且没有255个字符限制的字符串类型,而AnsiString正好能满足这些要求。
虽然AnsiString在外表上跟以前的字符串类型几乎相同,但它是动态分配的并有自动回收功能,正是因为这个功能AnsiString有时被称为生存期自管理类型。
更全的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 的字符及字符串- Char、AnsiChar、WideChar、PChar、PAnsDelphi有三种类型的字符:①AnsiChar:这是标准的1字节的ANSI字符,程序员都对它比较熟悉。
②WideChar:这是2字节的Unicode字符。
③Char:在目前相当于AnsiChar,但在Delphi以后版本中相当于WideChar。
记住因为一个字符在长度上并不表示一个字节,所以不能在应用程序中对字符长度进行硬编码,而应该使用Sizeof()函数。
注意Sizeof()标准函数返回类型或实例的字节长度。
字符串是代表一组字符的变量类型,每一种语言都有自己的字符串类型的存储和使用方法。
Pascal的字符串类型:①AnsiString:这是Pascal缺省的字符串类型,它由AnsiChar字符组成,其长度没有限制,同时与null结束的字符串相兼容。
②ShortString:保留该类型是为了向后兼容Delphi1.0,它的长度限制在255个字符内。
③WideString:功能上类似于AnsiString,但它是由WideChar字符组成的。
④PChar:指向null结束的Char字符串的指针,类似于C的char*或lpstr类型。
⑤PAnsiChar:指向null结束的AnsiChar字符串的指针。
⑥PWideChar:指向null结束的WideChar字符串的指针。
缺省情况下,如果用如下的代码来定义字符串,编译器认为是AnsiString字符串。
1.AnsiString类型AnsiString(或长字符串)类型是在Delphi2.0开始引入的,因为Delphi1.0的用户特别需要一个容易使用而且没有255个字符限制的字符串类型,而AnsiString正好能满足这些要求。
虽然AnsiString在外表上跟以前的字符串类型几乎相同,但它是动态分配的并有自动回收功能,正是因为这个功能AnsiString有时被称为生存期自管理类型。
字符串比较 (1)子串 (2)查找与替换 (3)拷贝 (4)转换 (5)格式化 (9)逆序 (11)查找 (11)文件操作 (12)时间 (14)系统 (20)字符串比较1.首部function AnsiResemblesText(const AText, AOther: string): Boolean;功能返回两个字符串是否相似例子CheckBox1.Checked := AnsiResemblesText(Edit1.Text, Edit2.Text);2.首部function CompareStr(const S1, S2: string): Integer; $[SysUtils.pas功能返回比较两个字符,说明当S1>S2返回值>0;当S1<S2返回值<0;当S1=S2返回值=0;区分大小写例子SpinEdit1.Value := CompareStr(Edit1.Text, Edit2.Text);3.首部function CompareText(const S1, S2: string): Integer; $[SysUtils.pas功能返回比较两个字符串,不区分大小写例子SpinEdit1.Value := CompareText(Edit1.Text, Edit2.Text);4.首部function SameText(const S1, S2: string): Boolean; $[SysUtils.pas功能返回两个字符串是否相等,不区分大小写例子CheckBox1.Checked := SameText(Edit1.Text, Edit2.Text);5.首部function AnsiCompareStr(const S1, S2: string): Integer; $[SysUtils.pas功能反回比较两个字符串,当S1>S2返回值>0;当S1<S2返回值<0;当S1=S2返回值=0;区分大小写例子SpinEdit1.Value := AnsiCompareStr(Edit1.Text, Edit2.Text);6.首部function AnsiSameStr(const S1, S2: string): Boolean; $[SysUtils.pas功能返回两个字符串是否相等,区分大小写例子CheckBox1.Checked := AnsiSameStr(Edit1.Text, Edit2.Text);7.首部function AnsiCompareText(const S1, S2: string): Integer; $[SysUtils.pas功能反回比较两个字符串,当S1>S2返回值>0;当S1<S2返回值<0;当S1=S2返回值=0;不区分大小写例子SpinEdit1.Value := AnsiCompareText(Edit1.Text, Edit2.Text);8.首部function AnsiSameText(const S1, S2: string): Boolean; $[SysUtils.pas功能返回两个字符串是否相等,不区分大小写例子CheckBox1.Checked := AnsiSameText(Edit1.Text, Edit2.Text);9.首部function WideCompareStr(const S1, S2: WideString): Integer; $[SysUtils.pas功能返回比较两个双字节字符串,当S1>S2返回值>0;当S1<S2返回值<0;当S1=S2返回值=0;区分大小写例子SpinEdit1.Value := WideCompareStr(Edit1.Text, Edit2.Text);10.首部function WideSameStr(const S1, S2: WideString): Boolean; $[SysUtils.pas功能返回两个双字节字符串是否相同,区分大小写例子CheckBox1.Checked := WideSameStr(Edit1.Text, Edit2.Text);11.首部function WideCompareText(const S1, S2: WideString): Integer; $[SysUtils.pas功能返回比较两个双字节字符串,当S1>S2返回值>0;当S1<S2返回值<0;当S1=S2返回值=0;不区分大小写例子SpinEdit1.Value := WideCompareText(Edit1.Text, Edit2.Text);12.首部function WideSameText(const S1, S2: WideString): Boolean; $[SysUtils.pas功能返回两个双字节字符串是否相同,不区分大小写例子CheckBox1.Checked := WideSameText(Edit1.Text, Edit2.Text);子串1.首部function AnsiContainsText(const AText, ASubText: string): Boolean;功能返回字符串AText是否包含子串ASubText例子CheckBox1.Checked := AnsiContainsText(Edit1.Text, Edit2.Text);2.首部function AnsiStartsText(const ASubText, AText: string): Boolean;功能返回字符串AText是否以子串ASubText开头例子CheckBox1.Checked := AnsiStartsText(Edit1.Text, Edit2.Text);3.首部function AnsiStartsStr(const ASubText, AText: string): Boolean;功能返回字符串AText是否以子串ASubText开头例子CheckBox1.Checked := AnsiStartsStr(Edit1.Text, Edit2.Text);4.首部function AnsiEndsText(const ASubText, AText: string): Boolean;功能返回字符串AText是否以子串ASubText结尾例子CheckBox1.Checked := AnsiEndsText(Edit1.Text, Edit2.Text);5.首部function AnsiEndsStr(const ASubText, AText: string): Boolean;功能返回字符串AText是否以子串ASubText结尾例子CheckBox1.Checked := AnsiEndsStr(Edit1.Text, Edit2.Text);6.首部function AnsiMatchText(const AText: string; const AValues: array of string): Boolean;功能返回字符串数组AValues中是否包含字符串AText例子CheckBox1.Checked := AnsiMatchText(Edit1.Text, ['a1', 'a2', 'a3', 'a4']);7.首部function AnsiMatchStr(const AText: string; const AValues: array of string): Boolean;功能返回字符串数组AValues中是否包含字符串AText例子CheckBox1.Checked := AnsiMatchStr(Edit1.Text, ['a1', 'a2', 'a3', 'a4']);8.首部function AnsiIndexText(const AText: string; const AValues: array of string): Integer;功能返回字符串AText在字符串数组AValues中的位置,如果不包含则返回-1例子SpinEdit1.Value := AnsiIndexText(Edit1.Text, ['a1', 'a2', 'a3', 'a4']);9.首部function AnsiIndexStr(const AText: string; const AValues: array of string): Intege r;功能返回字符串AText在字符串数组AValues中的位置例子SpinEdit1.Value := AnsiIndexStr(Edit1.Text, ['a1', 'a2', 'a3', 'a4']);10.首部function AnsiContainsStr(const AText, ASubText: string): Boolean;功能返回字符串AText是否包含子串ASubText例子CheckBox1.Checked := AnsiContainsStr(Edit1.Text, Edit2.Text);查找与替换1.首部function AnsiReplaceText(const AText, AFromText, AToText: string): string;功能返回字符串AText中用子串AFromText替换成子串AToText的结果例子Edit4.Text := AnsiReplaceText(Edit1.Text, Edit2.Text, Edit3.Text);2.首部function AnsiReplaceStr(const AText, AFromText, AToText: string): string;功能返回字符串AText中用子串AFromText替换成子串AToText的结果例子Edit4.Text := AnsiReplaceStr(Edit1.Text, Edit2.Text, Edit3.Text);3.首部function Trim(const S: string): string; overload; $[SysUtils.pas首部function Trim(const S: WideString): WideString; overload; $[SysUtils.pas功能返回除去字符串S左右不可见字符,小于#32的字符看作不可见字符例子Edit2.Text := Trim(Edit1.Text);4.首部function TrimLeft(const S: string): string; overload; $[SysUtils.pas首部function TrimLeft(const S: WideString): WideString; overload; $[SysUtils.pas功能返回除去字符串S左边不可见字符,小于#32的字符看作不可见字符例子Edit2.Text := TrimLeft(Edit1.Text);5.首部function TrimRight(const S: string): string; overload; $[SysUtils.pas首部function TrimRight(const S: WideString): WideString; overload; $[SysUtils.pas功能返回除去字符串S右边不可见字符,小于#32的字符看作不可见字符例子Edit2.Text := TrimRight(Edit1.Text);6.首部function CharToByteLen(const S: string; MaxLen: Integer): Integer; $[SysUtils.pas功能返回字符串S中有多少个字符,说明MaxLen指定处理多字节字符个数例子SpinEdit1.V alue := CharToByteLen(Edit1.Text, SpinEdit2.V alue);7.首部function ByteToCharIndex(const S: string; Index: Integer): Integer; $[SysUtils.pas功能返回字符位置对应的多字节字符位置,说明ByteToCharIndex('你好', 2) = 1;ByteToCharIndex('你好', 3) = 2 例子SpinEdit1.V alue := ByteToCharIndex(Edit1.Text, SpinEdit2.V alue);8.首部function CharToByteIndex(const S: string; Index: Integer): Integer; $[SysUtils.pas功能返回多字节字符位置对应的字符起始位置说明CharToByteIndex('你好', 1) = 1;CharToByteIndex('你好', 2) = 3例子SpinEdit1.V alue := CharToByteIndex(Edit1.Text, SpinEdit2.V alue);9.首部function StrCharLength(const Str: PChar): Integer; $[SysUtils.pas功能返回第一个字符的宽度,说明参数为空则返回0例子SpinEdit1.V alue := StrCharLength(PChar(Edit1.Text));10.首部function CharLength(const S: String; Index: Integer): Integer; $[SysUtils.pas功能返回字符串中指定位置的字符宽度,说明CharLength('English汉', 1) = 1;CharLength('English汉', 8) = 2 例子SpinEdit1.V alue := CharLength(Edit1.Text, SpinEdit2.V alue);11.首部function NextCharIndex(const S: String; Index: Integer): Integer; $[SysUtils.pas功能返回下一个字符的位置,说明CharLength('你好', 1) = 3;CharLength('你好', 3) = 5例子SpinEdit1.V alue := NextCharIndex(Edit1.Text, SpinEdit2.V alue);12.首部function AnsiPos(const Substr, S: string): Integer; $[SysUtils.pas功能返回子串Substr在字符中第一次出现的位置,说明不存在则返回0例子SpinEdit1.V alue := AnsiPos(Edit1.Text, Edit2.Text);13.首部function StringReplace(const S, OldPattern, NewPattern: string; Flags: TReplaceFlags): string; $[SysUtils.pas功能返回替换后的字符串,说明rfReplaceAll为替换全部内容;rfIgnoreCase为忽略大小写例子///////Begin StringReplaceprocedure TForm1.Button1Click(Sender: TObject);beginMemo1.Lines.V alues['[]'] :=StringReplace(Edit1.Text, Edit2.Text, Edit3.Text, []);Memo1.Lines.V alues['[rfReplaceAll]'] :=StringReplace(Edit1.Text, Edit2.Text, Edit3.Text, [rfReplaceAll]);Memo1.Lines.V alues['[rfIgnoreCase]'] :=StringReplace(Edit1.Text, Edit2.Text, Edit3.Text, [rfIgnoreCase]);Memo1.Lines.V alues['[rfReplaceAll, rfIgnoreCase]'] :=StringReplace(Edit1.Text, Edit2.Text, Edit3.Text, [rfReplaceAll, rfIgnoreCase]);end;///////End StringReplace14.首部function WrapText(const Line, BreakStr: string; const BreakChars: TSysCharSet; MaxCol: Integer): string; overload;首部function WrapText(const Line: string; MaxCol: Integer = 45): string; overload; $[SysUtils.pas功能返回对字符串自动换行说明Result := WrapText(Line, sLineBreak, [' ', '-', #9], MaxCol);例子Memo1.Text := WrapText(Memo2.Text, SpinEdit1.V alue);拷贝1.首部function DupeString(const AText: string; ACount: Integer): string; $[StrUtils.pas功能返回字符串AText的ACount个复本,当ACount为0时返回''例子Edit3.Text := DupeString(Edit1.Text, SpinEdit1.Value);2.首部function LeftStr(const AText: string; const ACount: Integer): string;功能返回字符串AText左边的ACount个字符,LeftStr('123456', 3) = '123'例子Edit3.Text := LeftStr(Edit1.Text, SpinEdit1.Value);3.首部function RightStr(const AText: string; const ACount: Integer): string;功能返回字符串AText右边的ACount个字符,RightStr('123456', 3) = '456'例子Edit3.Text := RightStr(Edit1.Text, SpinEdit1.Value);4.首部function MidStr(const AText: string; const AStart, ACount: Integer): string;功能返回字符串AText从AStart开始的ACount个字符,实质为copy例子Edit3.Text := MidStr(Edit1.Text, SpinEdit1.Value, SpinEdit2.Value);5.首部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转换1.首部function U pperCase(const S: string): string; $[SysUtils.pas功能返回字符串S的大写形式,非小写字符不处理例子Edit2.Text := UpperCase(Edit1.Text);2.首部function LowerCase(const S: string): string; $[SysUtils.pas功能返回字符串S的小写形式,非大写字符不处理例子Edit2.Text := LowerCase(Edit1.Text);3.首部function AnsiUpperCase(const S: string): string; $[SysUtils.pas功能返回字符串S的大写形式,非小写的字符不变例子Edit2.Text := AnsiUpperCase(Edit1.Text);4.首部function AnsiLowerCase(const S: string): string; $[SysUtils.pas功能返回字符串S的小写形式,非大写字符不处理例子Edit2.Text := AnsiLowerCase(Edit1.Text);5.首部function WideUpperCase(const S: WideString): WideString; $[SysUtils.pas功能返回双字节字符串的大写形式,WideChar双字节字符例子Edit2.Text := WideUpperCase(Edit1.Text);6.首部function WideLowerCase(const S: WideString): WideString; $[SysUtils.pas功能返回双字节字符串的小写形式例子Edit2.Text := WideLowerCase(Edit1.Text);7.首部function IntToStr(Value: Integer): string; overload; $[SysUtils.pas首部function IntToStr(Value: Int64): string; overload; $[SysUtils.pas功能返回整数Value转换成字符串,Format('%d', [Value])例子Edit2.Text := IntToStr(SpinEdit1.Value);8.首部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填充例子Edit2.Text := IntToHex(SpinEdit1.Value, SpinEdit2.Value);9.首部function StrToInt(const S: string): Integer; $[SysUtils.pas功能返回字符串S转换成整数,说明字符串非整数表达时将引起异常例子SpinEdit1.Value := StrToInt(Edit1.Text);10.首部function StrToIntDef(const S: string; Default: Integer): Integer; $[SysUtils.pas功能返回字符串S转换成整数,说明字符串非整数表达时则返回默认值Default例子SpinEdit1.Value := StrToIntDef(Edit1.Text, 0);11.首部function TryStrToInt(const S: string; out Value: Integer): Boolean; $[SysUtils.pas功能返回字符串S转换成整数Value是否成功,说明字符串非整数表达时返回False并且Value将输出为0 例子///////Begin TryStrToIntprocedure TForm1.Button1Click(Sender: TObject);varI: Integer;beginCheckBox1.Checked := TryStrToInt(Edit1.Text, I);SpinEdit1.Value := I;end;///////End TryStrToInt12.首部function StrToInt64(const S: string): Int64; $[SysUtils.pas功能返回字符串S转换成六十四位整数,说明字符串非六十四位整数表达时将引起异常例子SpinEdit1.Value := StrToInt64(Edit1.Text);13.首部function StrToInt64Def(const S: string; const Default: Int64): Int64; $[SysUtils.pas功能返回字符串S转换成六十四位整数,说明字符串非六十四位整数表达时则返回默认值Default例子SpinEdit1.Value := StrToInt64Def(Edit1.Text, 0);14.首部function TryStrToInt64(const S: string; out Value: Int64): Boolean; $[SysUtils.pas功能返回字符串S转换成六十四位整数Value是否成功说明字符串非六十四位整数表达时返回False并且Value将输出为0例子///////Begin TryStrToInt64procedure TForm1.Button1Click(Sender: TObject);varI: Int64;beginCheckBox1.Checked := TryStrToInt64(Edit1.Text, I);SpinEdit1.Value := I;end;///////End TryStrToInt6415.首部function StrToBool(const S: string): Boolean; $[SysUtils.pas功能返回字符串S转换成逻辑值,说明字符非逻辑表达时将引起异常例子CheckBox1.Checked := StrToBool(Edit1.Text);16.首部function StrToBoolDef(const S: string; const Default: Boolean): Boolean; $[SysUtils.pas功能返回字符串S转换成逻辑值,说明字符非逻辑表达时则返回默认值Default例子CheckBox1.Checked := StrToBoolDef(Edit1.Text, False);17.首部function TryStrToBool(const S: string; out Value: Boolean): Boolean; $[SysUtils.pas功能返回字符串S转换成逻辑值Value是否成功说明[注意]0为假非0为真;不是'True'和'False';Delphi6 Bug 如下修正例子///////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 Compare With(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) thenValue := Trueelse if CompareWith(FalseBoolStrs) thenValue := FalseelseResult := False;end;end;///////End TryStrToBool18.首部function BoolToStr(B: Boolean; UseBoolStrs: Boolean = False): string; $[SysUtils.pas功能返回逻辑值B转换成字符串,说明BoolToStr(False, False)='0';BoolToStr(False, True)='-1' 例子Edit1.Text := BoolToStr(CheckBox1.Checked, CheckBox2.Checked);19.首部function StrToFloat(const S: string): Extended; $[SysUtils.pas功能返回字符串S转换成浮点数,说明字符串非浮点数表达时将引起异常例子var E: Extended; begin E := StrToFloat(Edit1.Text); end;20.首部function StrToFloatDef(const S: string; const Default: Extended): Extended; $[SysUtils.pas功能返回字符串S转换成浮点数,说明字符串非浮点数表达时则返回默认值Default例子var E: Extended; begin E := StrToFloatDef(Edit1.Text, 0); end;21.首部function TryStrToFloat(const S: string; out Value: Extended): Boolean; overload; $[SysUtils.pas首部function TryStrToFloat(const S: string; out Value: Single): Boolean; overload; $[SysUtils.pas 首部function TryStrToFloat(const S: string; out Value: Double): Boolean; overload; $[SysUtils.pas 功能返回字符串S转换成浮点数Value是否成功说明字符串非浮点数表达时返回False并且Value将输出为不确定的值例子///////Begin TryStrToFloatprocedure TForm1.Button1Click(Sender: TObject);varE: Extended;beginCheckBox1.Checked := TryStrToFloat(Edit1.Text, E);Edit2.Text := FormatFloat('', E);end;///////End TryStrToFloat22.首部function StrToCurr(const S: string): Currency; $[SysUtils.pas功能返回字符串S转换成货币数,说明字符串非货币数表达时将引起异常例子var C: Currency; begin C := StrToCurr(Edit1.Text); end;23.首部function StrToCurrDef(const S: string; const Default: Currency): Currency; $[SysUtils.pas功能返回字符串S转换成货币数,说明字符串非货币数表达时则返回默认值Default例子var C: Currency; begin C := StrToCurrDef(Edit1.Text, 0); end;24.首部function TryStrToCurr(const S: string; out Value: Currency): Boolean; $[SysUtils.pas功能返回字符串S转换成货币数Value是否成功说明字符串非货币数表达时返回False并且Value将输出为不确定的值例子///////Begin TryStrToCurrprocedure TForm1.Button1Click(Sender: TObject);varC: Currency;beginCheckBox1.Checked := TryStrToCurr(Edit1.Text, C);Edit2.Text := FormatCurr('', C);end;///////End TryStrToCurr25.首部function TextToFloat(Buffer: PChar; var Value; ValueType: TFloatValue): Boolean; $[SysUtils.pas功能返回将指针字符串Buffer转换成无类型变量Value,说明ValueType指定无类型参数Value的类型例子///////Begin TextToFloatprocedure TForm1.Button1Click(Sender: TObject);varE: Extended;beginCheckBox1.Checked := TextToFloat(PChar(Edit1.Text), E,fvExtended);Edit2.Text := FormatFloat('', E);end;///////End TextToFloat26.首部procedure FloatToDecimal(var Result: TFloatRec; const Value; ValueType: TFloatValue;Precision, Decimals: Integer); $[SysUtils.pas功能将浮点数转换成浮点结构类型并返回到Result说明ValueType指定类型;Precision指定精度;Decimals指定小数格式化1.首部function Format(const Format: string; const Args: array of const): string; $[SysUtils.pas功能返回按指定方式格式化一个数组常量的字符形式说明这个函数是我在Delphi中用得最多的函数,现在就列举几个例子给你个直观的理解"%" [索引":"] ["-"] [宽度] ["." 摘要] 类型Format('x=%d', [12]); //'x=12' //最普通Format('x=%3d', [12]); //'x= 12' //指定宽度Format('x=%f', [12.0]); //'x=12.00' //浮点数Format('x=%.3f', [12.0]); //'x=12.000' //指定小数Format('x=%.*f', [5, 12.0]); //'x=12.00000' //动态配置Format('x=%.5d', [12]); //'x=00012' //前面补充0Format('x=%.5x', [12]); //'x=0000C' //十六进制Format('x=%1:d%0:d', [12, 13]); //'x=1312' //使用索引Format('x=%p', [nil]); //'x=00000000' //指针Format('x=%1.1e', [12.0]); //'x=1.2E+001' //科学记数法Format('x=%%', []); //'x=%' //得到"%"S := Format('%s%d', [S, I]); //S := S + StrToInt(I); //连接字符串参考proceduer SysUtils.FmtStr例子Edit1.Text := Format(Edit2.Text, [StrToFloatDef(Edit.3.Text, 0)]);2.首部procedure FmtStr(var Result: string; const Format: string; const Args: array of const);功能按指定方式格式化一个数组常量的字符形式返回例子<参见Format>3.首部function FloatToStr(Value: Extended): string; $[SysUtils.pas功能返回浮点数Value转换成字符串,说明当浮点数大等于1E15将采用科学记数法例子Edit1.Text := FloatToStr(Now);4.首部function CurrToStr(Value: Currency): string; $[SysUtils.pas功能返回货币数Value转换成字符串,说明货币数只保留四位小数例子Edit1.Text := CurrToStr(Now);5.首部function FloatToCurr(const Value: Extended): Currency; $[SysUtils.pas功能返回浮点数Value转换成货币数,说明如果浮点数Value超出范围则将触发异常例子Edit1.Text := CurrToStr(FloatToCurr(Now));6.首部function FloatToStrF(Value: Extended; Format: TFloatFormat; Precision, Digits: Integer): string;功能返回浮点数以指定格式转换成字符串,说明Precision指定精度;Digits指定小数宽度例子///////Begin FloatToStrFprocedure TForm1.Button1Click(Sender: TObject);beginMemo1.Lines.Values['ffGeneral'] := FloatToStrF(StrToFloatDef(Edit1.Text, 0),ffGeneral, SpinEdit1.Value, SpinEdit2.Value);Memo1.Lines.Values['ffExponent'] := FloatToStrF(StrToFloatDef(Edit1.Text, 0),ffExponent, SpinEdit1.Value, SpinEdit2.Value);Memo1.Lines.Values['ffFixed'] := FloatToStrF(StrToFloatDef(Edit1.Text, 0),ffFixed, SpinEdit1.Value, SpinEdit2.Value);Memo1.Lines.Values['ffNumber'] := FloatToStrF(StrToFloatDef(Edit1.Text, 0),ffNumber, SpinEdit1.Value, SpinEdit2.Value);Memo1.Lines.Values['ffCurrency'] := FloatToStrF(StrToFloatDef(Edit1.Text, 0),ffCurrency, SpinEdit1.Value, SpinEdit2.Value);end;///////End FloatToStrF7.首部function CurrToStrF(Value: Currency; Format: TFloatFormat; Digits: Integer): string;功能返回货币类型以指定格式转换成字符串,说明Digits指定小数宽度例子///////Begin CurrToStrFprocedure TForm1.Button1Click(Sender: TObject);beginMemo1.Lines.Values['ffGeneral'] := CurrToStrF(StrToCurrDef(Edit1.Text, 0),ffGeneral, SpinEdit1.Value);Memo1.Lines.Values['ffExponent'] := CurrToStrF(StrToCurrDef(Edit1.Text, 0),ffExponent, SpinEdit1.Value);Memo1.Lines.Values['ffFixed'] := CurrToStrF(StrToCurrDef(Edit1.Text, 0),ffFixed, SpinEdit1.Value);Memo1.Lines.Values['ffNumber'] := CurrToStrF(StrToCurrDef(Edit1.Text, 0),ffNumber, SpinEdit1.Value);Memo1.Lines.Values['ffCurrency'] := CurrToStrF(StrToCurrDef(Edit1.Text, 0),ffCurrency, SpinEdit1.Value);end;///////End CurrToStrF8.首部function FormatFloat(const Format: string; Value: Extended): string; $[SysUtils.pas功能返回浮点数类型以指定格式字符串Format转换成字符串说明FormatFloat(',.00', 1234567890) = '1,234,567,890.00'例子Edit1.Text := FormatFloat(Edit2.Text, StrToFloatDef(Edit3.Text, 0));9.首部function FormatCurr(const Format: string; Value: Currency): string; $[SysUtils.pas功能返回货币类型以指定格式字符串Format转换成字符串说明FormatCurr(',.00', 1234567890) = '1,234,567,890.00'例子Edit1.Text := FormatCurr(Edit2.Text, StrToCurrDef(Edit3.Text, 0));逆序1.首部function ReverseString(const AText: string): string; $[StrUtils.pas功能返回字符串AText的反序,ReverseString('1234') = '4321'例子Edit3.Text := ReverseString(Edit1.Text);查找1.首部function SearchBuf(Buf: PChar; BufLen: Integer; SelStart, SelLength: Integer; SearchString: String;Options: TStringSearchOptions = [soDown]): PChar; $[StrUtils.pas功能返回第一个搜索到的指针位置说明这函数常用于文本中搜索字符串参考<NULL>例子///////Begin SearchBuffunction SearchEdit(EditControl: TCustomEdit; const SearchString: String;SearchOptions: TStringSearchOptions; FindFirst: Boolean = False): Boolean;varBuffer, P: PChar;Size: Word;beginResult := False;if (Length(SearchString) = 0) then Exit;Size := EditControl.GetTextLen;if (Size = 0) then Exit;Buffer := StrAlloc(Size + 1);tryEditControl.GetTextBuf(Buffer, Size + 1);P := SearchBuf(Buffer, Size, EditControl.SelStart, EditControl.SelLength,SearchString, SearchOptions);if P <> nil then beginEditControl.SelStart := P - Buffer;EditControl.SelLength := Length(SearchString);Result := True;end;finallyStrDispose(Buffer);end;end;procedure TForm1.Button1Click(Sender: TObject);varSearchOptions: TStringSearchOptions;beginSearchOptions := [];if CheckBox1.Checked thenInclude(SearchOptions, soDown);if CheckBox2.Checked thenInclude(SearchOptions, soMatchCase);if CheckBox3.Checked thenInclude(SearchOptions, soWhole Word);SearchEdit(Memo1, Edit1.Text, SearchOptions);Memo1.SetFocus;end;///////End SearchBuf文件操作1.首部function FileIsReadOnly(const FileName: string): Boolean;功能返回文件是否只读,文件不存在看作只读例子CheckBox1.Checked := FileIsReadOnly(Edit1.Text);2.首部function FileSetReadOnly(const FileName: string; ReadOnly: Boolean): Boolean;功能返回设置文件是否只读是否成功,文件不存在则返回False例子CheckBox1.Checked := FileSetReadOnly(Edit1.Text, CheckBox2.Checked);3.首部function DeleteFile(const FileName: string): Boolean;功能返回删除文件是否成功,文件不存在则返回False例子CheckBox1.Checked := DeleteFile(Edit1.Text);4.首部function RenameFile(const OldName, N ewName: string): Boolean;功能返回重命名文件是否成功,文件不存在则返回False例子CheckBox1.Checked := RenameFile(Edit1.Text, Edit2.Text);5.首部function FileGetAttr(const FileName: string): Integer; platform;功能返回文件的属性,读取失败则返回$FFFFFFFF例子SpinEdit1.Value := FileGetAttr(Edit1.Text);6.首部function FileSetAttr(const FileName: string; Attr: Integer): Integer; platform;功能返回设置文件的属性,设置成功则返回0例子SpinEdit1.Value := FileSetAttr(Edit1.Text, SpinEdit2.Value);7.首部function ChangeFileExt(const FileName, Extension: string): string; $[SysUtils.pas功能返回改变扩展名后的文件名,[注意]扩展名Extension前要加点;ChangeFileExt('a.jpg', 'bmp')='abmp' 例子Edit1.Text := ChangeFileExt(Edit2.Text, Edit3.Text);8.首部function ExtractFilePath(const FileName: string): string;功能返回文件名所在的路径,说明ExtractFilePath('C:\')='C:\';ExtractFilePath('\\Server\Tool\Calc.exe')='\\Server\Tool\' 例子Edit1.Text := ExtractFilePath(Edit2.Text);9.首部function ExtractFileDir(const FileName: string): string; $[SysUtils.pas功能返回文件名所在的目录说明ExtractFileDir('C:\')='C:\';ExtractFileDir('\\Server\Tool\Calc.exe')='\\Server\Tool' 例子Edit1.Text := ExtractFileDir(Edit2.Text);10.首部function ExtractFileDrive(const FileName: string): string; $[SysUtils.pas功能返回文件名所在驱动器说明ExtractFileDrive('C:\')='C:';ExtractFileDrive('\\Server\Tool\Calc.exe')='\\Server\Tool' 例子Edit1.Text := ExtractFileDrive(Edit2.Text);11.首部function ExtractFileName(const FileName: string): string; $[SysUtils.pas功能返回绝对文件名说明ExtractFileName('C:\')='';ExtractFileName('\\Server\Tool\Calc.exe')='Calc.exe'例子Edit1.Text := ExtractFileName(Edit2.Text);12.首部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);13.首部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);14.首部function ExpandFileNameCase(const FileName: string; out MatchFound: TFilenameCaseMatch):string; $[SysUtils.pas功能分情况返回文件名的完整表示说明type TFilenameCaseMatch = (mkNone, mkExactMatch, mkSingleMatch, mkAmbiguous);参考function Windows.GetFullPathName;function SysUtils.Same FileName;function SysUtils.FindFirst 例子///////Begin ExpandFileNameCaseprocedure TForm1.Button1Click(Sender: TObject);varvFilenameCaseMatch: TFilenameCaseMatch;beginEdit1.Text := ExpandFileNameCase(Edit2.Text, vFilenameCaseMatch);SpinEdit1.Value := Ord(vFilenameCaseMatch);end;///////End ExpandFileNameCase15.首部function GetCurrentDir: string; $[SysUtils.pas功能返回当前操作目录,[注意]调用文件对话框会改变当前操作目录例子Edit1.Text := GetCurrentDir;16.首部function SetCurrentDir(const Dir: string): Boolean; $[SysUtils.pas功能返回设置当前操作目录是否成功,[注意]调用文件对话框会改变当前操作目录例子CheckBox1.Checked := SetCurrentDir(Edit1.Text);17.首部function CreateDir(const Dir: string): Boolean; $[SysUtils.pas功能返回创建目录是否成功,不支持多级目录;已经存在则返回False例子CheckBox1.Checked := CreateDir(Edit1.Text);18.首部function RemoveDir(const Dir: string): Boolean; $[SysUtils.pas功能返回删除目录是否成功,必须是空目录例子CheckBox1.Checked := RemoveDir(Edit1.Text);时间1.首部function DateTimeToFileDate(DateTime: TDateTime): Integer; $[SysUtils.pas功能返回将日期时间类型转换文件日期时间类型,年份在1980到2107之外则返回0例子<参见FileSetDate>2.首部function DateTimeToTimeStamp(DateTime: TDateTime): TTimeStamp; $[SysUtils.pas功能返回日期时间类型转换成时间结构类型3.首部function TimeStampToDateTime(const TimeStamp: TTimeStamp): TDateTime; $[SysUtils.pas功能返回时间结构类型转换成日期时间类型4.首部function MSecsToTimeStamp(MSecs: Comp): TTimeStamp; $[SysUtils.pas功能返回微妙转换成时间结构类型5.首部function TimeStampToMSecs(const TimeStamp: TTimeStamp): Comp; $[SysUtils.pas功能返回时间结构类型转换成微妙6.首部function EncodeDate(Year, Month, Day: Word): TDateTime; $[SysUtils.pas功能返回合并年、月、日得到的日期,说明当出现非法组合时将触发异常例子Edit1.Text := DateToStr(EncodeDate(SpinEdit1.Value, SpinEdit2.Value, SpinEdit3.Value));7.首部function EncodeTime(Hour, Min, Sec, MSec: Word): TDateTime; $[SysUtils.pas功能返回合并时、分、秒、微秒得到的时间,说明当出现非法组合时将触发异常例子Edit1.Text := TimeToStr(EncodeTime(SpinEdit1.Value, SpinEd it2.Value, SpinEdit3.Value,SpinEdit4.Value));8.首部function TryEncodeDate(Year, Month, Day: Word; out Date: TDateTime): Boolean; $[SysUtils.pas功能返回合并年、月、日得到的日期是否成功,说明当出现非法组合时将返回False并且Date输出为0 例子///////Begin TryEncodeDateprocedure TForm1.Button1Click(Sender: TObject);varvDate: TDate;beginCheckBox1.Checked := TryEncodeDate(SpinEdit1.Value, SpinEdit2.Value,SpinEdit3.Value, TDateTime(vDate));Edit1.Text := DateToStr(vDate);end;///////End TryEncodeDate9.首部function TryEncodeTime(Hour, Min, Sec, MSec: Word; out Time: TDateTime): Boolean;功能返回合并时、分、秒、微秒得到的时间是否成功,说明当出现非法组合时将返回False并且Time输出为0 例子///////Begin TryEncodeTimeprocedure TForm1.Button1Click(Sender: TObject);varvTime: TTime;beginCheckBox1.Checked := TryEncodeTime(SpinEdit1.Value, SpinEdit2.Value,SpinEdit3.Value, SpinEdit3.Value, TDateTime(vTime));Edit1.Text := TimeToStr(vTime);end;///////End TryEncodeTime10.首部procedure DecodeDate(const DateTime: TDateTime; var Year, Month, Day: Word); $[SysUtils.pas功能分解日期为年、月、日例子///////Begin DecodeDateprocedure TForm1.Button1Click(Sender: TObject);varYear, Month, Day: Word;beginDecodeDate(Date, Year, Month, Day);SpinEdit1.Value := Year;SpinEdit2.Value := Month;SpinEdit3.Value := Day;end;。
Delphi编程基础之字符串篇Delphi编程基础之字符串篇分类:Delphi2009-09-19 08:11 364人阅读评论(0) 收藏举报本文整理了 Delphi字符串格式 ShortString 、AnsiString、WideString。
以及PChar、Char数组的使用方法及需要注意的地方,很多例子来自网络。
本文所有例子基于Delphi7,使用例子如有不对之处,欢迎指正。
参考文献:delphi7 开发指南;(一) ShortStringShortString 的存储结构如下:+---------------------+| 1Byte | 字符串内容|+---------------------+0 1其第一个字节为字符串的长度,所以ShortString 的长度不能超过255,其存储区为静态分配,大小在编译时确定,这是继承于BP for Dos 的类型。
保留该类型是为了向后兼容Delphi 1.0,和为了与Pascal 传统string 相兼容而保留的。
但是这个字串数组的最后是没有一个#0 字符作为结尾的,因此ShortString 和C 语言的字符串是不兼容的。
(二)AnsiStringDelphi2.0 以后引入了AnsiString,,它是一个容易使用而且没有2 5 5 个字符限制的字符串类型。
而且它并不需要以NULL 结尾,因为有长度信息,同样因为这个字符串内可以包含任意的NULL 而不会被认为是字符串结尾。
并且AnsiString 与n u l l 结束的字符串相兼容。
其存储结构如下:+-----------------------------------+| 4B | 4B | 4B | 字符串内容|+----------------------------------+-12 -8 -4 0 ... ...内存偏移-12 处为该字符串分配的内存大小、内存偏移-8 处为该字符串的引用计数,内存偏移-4 处为该字符串长度。
delphi 字符串的类型摘要:1.Delphi 字符串类型的概念2.Delphi 字符串类型的分类3.Delphi 字符串类型的使用示例正文:【Delphi 字符串类型的概念】Delphi 是一种高性能的编程语言,广泛应用于Windows 平台的应用程序开发。
在Delphi 中,字符串类型是用于表示文本数据的一种数据类型。
它可以存储和操作文本数据,为开发人员提供了方便的处理方式。
【Delphi 字符串类型的分类】在Delphi 中,字符串类型主要分为以下几类:1.字符串(String):这是最常用的字符串类型,可以存储和操作普通文本数据。
它的主要方法包括:Length(获取字符串长度)、Copy(复制字符串)、Trim(去除字符串首尾的空格)等。
2.字符串数组(Array of String):这是用于存储多个字符串的一种数据类型。
可以使用数组下标访问和修改数组中的字符串元素。
3.动态字符串(Dynamic String):这是一种特殊的字符串类型,可以在运行时动态地添加或删除字符串数据。
它常用于存储和处理在程序运行过程中动态生成的字符串数据。
【Delphi 字符串类型的使用示例】以下是一个简单的Delphi 字符串类型使用示例:```delphiprogram StringsDemo;vars1: String;s2: String;s3: String;arr: array of String;begin// 创建并初始化字符串变量s1 := "Hello, World!";s2 := "This is a Delphi String.";s3 := "Dynamic String Example";// 获取字符串长度if Length(s1) > 10 thenShowMessage("The length of s1 is greater than 10"); // 复制字符串s2.CopyToClipboard;// 获取字符串数组SetLength(arr, 3);arr[0] := s1;arr[1] := s2;arr[2] := s3;// 输出字符串数组for i := 0 to 2 doShowMessage(#arr[i]);// 动态添加字符串s3 := s3 + " More Dynamic String Data";ShowMessage(s3);end.```通过以上示例,我们可以看到Delphi 字符串类型的使用方法和应用场景。
DelphiC++Builder中字符串类型详解Delphi / C++ Builder 中字符串类型详解2015-05-20 · C++ Builder、Delphi、杂谈· · swish ·浏览 1,210 次字符串在编程中是一个常见的类型,但左一个类型,右一个类型可能把许多人都弄迷糊了。
我写这篇文章,试图给大家理清Delphi / C++ Builder 中的字符串类型。
关于这些字符串类型的历史,我们就不再啰嗦,历史就是历史,现在我们面对现实。
•String 类型String 类型在 Delphi / C++ Builder 不同的版本中,对应于不同的类型,它们的分隔线是 Delphi / C++ Builder 2009。
在 2009 以前,String 类型映射到了AnsiString,而在≥ 2009 版本及以后,String 类型映射到了 UnicodeString。
•ShortString 类型ShortString 是 Delphi 中的一个短字符串类型,最大长度为 255 个字符。
它的编码方式和下面的 AnsiString 一致。
•AnsiString 类型AnsiString 类型是一种基于引用计数的字符串类型,它实际是代码页为CP_ACP (0)的字符串类型。
在传递参数时,直接增加的是字符串的引用计数,而不是复制字符串的内容,所以效率会比较高。
英文数字和字符占用 1 个字节,中文占用 2 或 4 个字节,绝大部分中文占用的是 2 个字节。
•Utf8String 类型Utf8String 在 2009 以前的版本,被直接映射到了 AnsiString 上。
而在 2009 及以后,Utf8String 是代码页为 CP_UTF8(65001)编码的字符串类型。
所以它也是一个基于引用计数的类型。
英文数字和字符占用1个字节,中文一般占用 2 到 4 个字节,按 UTF8 规范最多占用 6 个字节。
Delphi常⽤字符串函数⼀、字符转换函数1、ord(input[i])返回字符表达式 input 左端起第 I 字符的ASCII 码值。
2、CHAR()将ASCII 码转换为字符。
如果没有输⼊0 ~ 255 之间的ASCII 码值,CHAR()返回NULL 。
3、LOWER()和UPPER()LOWER()将字符串全部转为⼩写;UPPER()将字符串全部转为⼤写。
4、STR()把数值型数据转换为字符型数据。
STR (<float_expression>[,length[, <decimal>]])length 指定返回的字符串的长度,decimal 指定返回的⼩数位数。
如果没有指定长度,缺省的length 值为10, decimal 缺省值为0。
当length 或者decimal 为负值时,返回NULL;当length ⼩于⼩数点左边(包括符号位)的位数时,返回length 个*;先服从length ,再取decimal ;当返回的字符串位数⼩于length ,左边补⾜空格。
⼆、去空格函数1、LTRIM() 把字符串头部的空格去掉。
2、RTRIM() 把字符串尾部的空格去掉。
三、取⼦串函数1、left()LEFT (<character_expression>, <integer_expression>)返回character_expression 左起 integer_expression 个字符。
2、RIGHT()RIGHT (<character_expression>, <integer_expression>)返回character_expression 右起 integer_expression 个字符。
3、SUBSTRING()SUBSTRING (<expression>, <starting_ position>, length)返回从字符串左边第starting_ position 个字符起length个字符的部分。
delphi字符串函数大全首部function AnsiResemblesText(const AText, AOther: string): Boolean; $[StrUtils.pas功能返回两个字符串是否相似说明ANSI(American National Standards Institute)美国国家标准协会;不区分大小写参考function StrUtils.SoundexProc; var StrUtils.AnsiResemblesProc例子CheckBox1.Checked := AnsiResemblesText(Edit1.Text, Edit2.Text);━━━━━━━━━━━━━━━━━━━━━首部function AnsiContainsText(const AText, ASubText: string): Boolean; $[StrUtils.pas功能返回字符串AText是否包含子串ASubText说明不区分大小写参考function StrUtils.AnsiUppercase; function StrUtils.AnsiPos例子CheckBox1.Checked := AnsiContainsText(Edit1.Text, Edit2.Text);━━━━━━━━━━━━━━━━━━━━━首部function AnsiStartsText(const ASubText, AText: string): Boolean; $[StrUtils.pas功能返回字符串AText是否以子串ASubText开头说明不区分大小写参考function pareString例子CheckBox1.Checked := AnsiStartsText(Edit1.Text, Edit2.Text);━━━━━━━━━━━━━━━━━━━━━首部function AnsiEndsText(const ASubText, AText: string): Boolean; $[StrUtils.pas功能返回字符串AText是否以子串ASubText结尾说明不区分大小写参考function pareString例子CheckBox1.Checked := AnsiEndsText(Edit1.Text, Edit2.Text);━━━━━━━━━━━━━━━━━━━━━首部function AnsiReplaceText(const AText, AFromText, AToText: string): string; $[StrUtils.pas功能返回字符串AText中用子串AFromText替换成子串AToText的结果说明不区分大小写参考function SysUtils.StringReplace; type SysUtils.TReplaceFlags例子Edit4.Text := AnsiReplaceText(Edit1.Text, Edit2.Text, Edit3.Text);━━━━━━━━━━━━━━━━━━━━━首部function AnsiMatchText(const AText: string; const A Values: array of string): Boolean; $[StrUtils.pas功能返回字符串数组A Values中是否包含字符串AText说明不区分大小写参考function StrUtils.AnsiIndexText例子CheckBox1.Checked := AnsiMatchText(Edit1.Text, ['a1', 'a2', 'a3', 'a4']);━━━━━━━━━━━━━━━━━━━━━首部function AnsiIndexText(const AText: string; const A Values: array of string): Integer; $[StrUtils.pas功能返回字符串AText在字符串数组A Values中的位置说明不区分大小写;如果不包含则返回-1参考function SysUtils.AnsiSameText例子SpinEdit1.Value := AnsiIndexText(Edit1.Text, ['a1', 'a2', 'a3', 'a4']);━━━━━━━━━━━━━━━━━━━━━首部function AnsiContainsStr(const AText, ASubText: string): Boolean; $[StrUtils.pas功能返回字符串AText是否包含子串ASubText说明区分大小写参考function StrUtils.AnsiPos例子CheckBox1.Checked := AnsiContainsStr(Edit1.Text, Edit2.Text);━━━━━━━━━━━━━━━━━━━━━首部function AnsiStartsStr(const ASubText, AText: string): Boolean; $[StrUtils.pas功能返回字符串AText是否以子串ASubText开头说明区分大小写参考function SysUtils.AnsiSameStr例子CheckBox1.Checked := AnsiStartsStr(Edit1.Text, Edit2.Text);━━━━━━━━━━━━━━━━━━━━━首部function AnsiEndsStr(const ASubText, AText: string): Boolean; $[StrUtils.pas功能返回字符串AText是否以子串ASubText结尾说明区分大小写参考function SysUtils.AnsiSameStr例子CheckBox1.Checked := AnsiEndsStr(Edit1.Text, Edit2.Text);━━━━━━━━━━━━━━━━━━━━━首部function AnsiReplaceStr(const AText, AFromText, AToText: string): string; $[StrUtils.pas功能返回字符串AText中用子串AFromText替换成子串AToText的结果说明区分大小写参考function SysUtils.StringReplace; type SysUtils.TReplaceFlags例子Edit4.Text := AnsiReplaceStr(Edit1.Text, Edit2.Text, Edit3.Text);━━━━━━━━━━━━━━━━━━━━━首部function AnsiMatchStr(const AText: string; const A Values: array of string): Boolean; $[StrUtils.pas功能返回字符串数组A Values中是否包含字符串AText说明区分大小写参考function StrUtils.AnsiIndexStr例子CheckBox1.Checked := AnsiMatchStr(Edit1.Text, ['a1', 'a2', 'a3', 'a4']);━━━━━━━━━━━━━━━━━━━━━首部function AnsiIndexStr(const AText: string; const A Values: array of string): Integer; $[StrUtils.pas功能返回字符串AText在字符串数组A Values中的位置说明区分大小写参考function SysUtils.AnsiSameStr例子SpinEdit1.Value := AnsiIndexStr(Edit1.Text, ['a1', 'a2', 'a3', 'a4']);━━━━━━━━━━━━━━━━━━━━━首部function DupeString(const AText: string; ACount: Integer): string; $[StrUtils.pas功能返回字符串AText的ACount个复本说明当ACount为0时返回''参考function System.SetLength例子Edit3.Text := DupeString(Edit1.Text, SpinEdit1.Value);━━━━━━━━━━━━━━━━━━━━━首部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 A Values: array of string): string; overload; $[StrUtils.pas功能随机返回字符串数组A Values中的一个元素说明之前建议执行Randomize参考function System.Random例子Randomize; Edit3.Text := RandomFrom(['a1', 'a2', 'a3', 'a4']);━━━━━━━━━━━━━━━━━━━━━首部function IfThen(A Value: 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 SearchBuf(Buf: PChar; BufLen: Integer; SelStart, SelLength: Integer; SearchString: String; Options: TStringSearchOptions = [soDown]): PChar; $[StrUtils.pas功能返回第一个搜索到的指针位置说明这函数常用于文本中搜索字符串参考<NULL>例子///////Begin SearchBuffunction SearchEdit(EditControl: TCustomEdit; const SearchString: String;SearchOptions: TStringSearchOptions; FindFirst: Boolean = False): Boolean;varBuffer, P: PChar;Size: Word;beginResult := False;if (Length(SearchString) = 0) then Exit;Size := EditControl.GetTextLen;if (Size = 0) then Exit;Buffer := StrAlloc(Size + 1);tryEditControl.GetTextBuf(Buffer, Size + 1);P := SearchBuf(Buffer, Size, EditControl.SelStart, EditControl.SelLength,SearchString, SearchOptions);if P <> nil then beginEditControl.SelStart := P - Buffer;EditControl.SelLength := Length(SearchString);Result := True;end;finallyStrDispose(Buffer);end;end;procedure TForm1.Button1Click(Sender: TObject);varSearchOptions: TStringSearchOptions;beginSearchOptions := [];if CheckBox1.Checked thenInclude(SearchOptions, soDown);if CheckBox2.Checked thenInclude(SearchOptions, soMatchCase);if CheckBox3.Checked thenInclude(SearchOptions, soWholeWord);SearchEdit(Memo1, Edit1.Text, SearchOptions);Memo1.SetFocus;end;///////End SearchBuf━━━━━━━━━━━━━━━━━━━━━首部function Soundex(const AText: string; ALength: TSoundexLength = 4): string; $[StrUtils.pas功能返回探测字符串说明根据探测法(Soundex)可以找到相进的字符串;/genealogy/coding.html 参考<NULL>例子Edit2.Text := Soundex(Edit1.Text, SpinEdit1.Value);━━━━━━━━━━━━━━━━━━━━━首部function SoundexInt(const AText: string; ALength: TSoundexIntLength = 4): Integer; $[StrUtils.pas功能返回探测整数说明ALength的值越大解码准确率越高参考<NULL>例子SpinEdit2.Value := SoundexInt(Edit1.Text, SpinEdit1.Value);━━━━━━━━━━━━━━━━━━━━━首部function DecodeSoundexInt(A Value: Integer): string; $[StrUtils.pas功能返回探测整数的解码说明DecodeSoundexInt(SoundexInt('hello')) 相当于Soundex('hello')参考<NULL>例子Edit2.Text := DecodeSoundexInt(SpinEdit2.Value);━━━━━━━━━━━━━━━━━━━━━首部function SoundexWord(const AText: string): Word; $[StrUtils.pas功能返回探测文字数值说明没有参数ALength已经固定为4参考<NULL>例子SpinEdit2.Value := SoundexWord(Edit1.Text);━━━━━━━━━━━━━━━━━━━━━首部function DecodeSoundexWord(A Value: Word): string; $[StrUtils.pas功能返回探测文字数值的解码说明DecodeSoundexWord(SoundexWord('hello')) 相当于Soundex('hello')参考<NULL>例子Edit2.Text := DecodeSoundexWord(SpinEdit2.Value);━━━━━━━━━━━━━━━━━━━━━首部function SoundexSimilar(const AText, AOther: string; ALength: TSoundexLength = 4): Boolean; $[StrUtils.pas功能返回两个字符串的探测字符串是否相同说明Result := Soundex(AText, ALength) = Soundex(AOther, ALength)参考<NULL>例子CheckBox1.Checked := SoundexSimilar(Edit1.Text, Edit2.Text, SpinEdit1.Value);━━━━━━━━━━━━━━━━━━━━━首部function SoundexCompare(const AText, AOther: string; ALength: TSoundexLength = 4): Integer; $[StrUtils.pas功能返回比较两个字符串的探测字符串的结果说明Result := AnsiCompareStr(Soundex(AText, ALength), Soundex(AOther, ALength))参考function SysUtils.AnsiCompareStr例子SpinEdit2.Value := SoundexCompare(Edit1.Text, Edit2.Text, SpinEdit1.Value);━━━━━━━━━━━━━━━━━━━━━首部function SoundexProc(const AText, AOther: string): Boolean; $[StrUtils.pas功能调用SoundexSimilar返回两个字符串的探测字符串是否相同说明系统变量AnsiResemblesProc的默认值参考function StrUtils.AnsiResemblesText例子[var AnsiResemblesProc: TCompareTextProc = SoundexProc;]━━━━━━━━━━━━━━━━━━━━━首部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(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 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转换成整数Value是否成功说明字符串非整数表达时返回False并且Value将输出为0参考procedure System.Val例子///////Begin TryStrToIntprocedure TForm1.Button1Click(Sender: TObject);varbeginCheckBox1.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);━━━━━━━━━━━━━━━━━━━━━功能返回字符串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) thenelse if CompareWith(FalseBoolStrs) thenValue := 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 StrLen(const Str: PChar): Cardinal; $[SysUtils.pas功能返回指针字符串的长度说明当指针字符串Str为nil时将触发异常参考<NULL>例子SpinEdit2.Value := StrLen(PChar(Edit1.Text));━━━━━━━━━━━━━━━━━━━━━首部function StrEnd(const Str: PChar): PChar; $[SysUtils.pas功能返回指针字符串的结尾说明当指针字符串Str为nil时将触发异常参考<NULL>例子Edit2.Text := StrEnd(PChar(Edit1.Text)) - SpinEdit1.Value;━━━━━━━━━━━━━━━━━━━━━首部function StrMove(Dest: PChar; const Source: PChar; Count: Cardinal): PChar; $[SysUtils.pas 功能返回将指针字符串Source指定内存数量Count复制覆盖到指针字符串Dest中说明Dest没有分配资源将触发异常s参考function System.Move例子///////Begin StrMoveprocedure TForm1.Button1Click(Sender: TObject);vBuffer: PChar;beginvBuffer := '0123456789';StrMove(vBuffer, PChar(Edit1.Text), SpinEdit1.V alue);Edit2.Text := vBuffer;end;///////End StrMove━━━━━━━━━━━━━━━━━━━━━首部function StrCopy(Dest: PChar; const Source: PChar): PChar; $[SysUtils.pas功能返回将指针字符串Source复制到指针字符串Dest中说明Dest应已经分配足够的空间非则将触发异常参考<NULL>例子///////Begin StrCopyprocedure TForm1.Button1Click(Sender: TObject);varvBuffer: PChar;beginGetMem(vBuffer, Length(Edit1.Text) + 1);StrCopy(vBuffer, PChar(Edit1.Text));Edit2.Text := vBuffer;FreeMem(vBuffer);end;///////End StrCopy━━━━━━━━━━━━━━━━━━━━━首部function StrECopy(Dest:PChar; const Source: PChar): PChar; $[SysUtils.pas功能返回将指针字符串Source复制到指针字符串Dest中的结尾说明可以连接指针字符串参考<NULL>例子///////Begin StrECopyprocedure TForm1.Button1Click(Sender: TObject);varvBuffer: array[0..255] of Char;beginStrECopy(StrECopy(vBuffer, PChar(Edit1.Text)), PChar(Edit2.Text));Edit3.Text := vBuffer;end;///////End StrECopy━━━━━━━━━━━━━━━━━━━━━首部function StrLCopy(Dest: PChar; const Source: PChar; MaxLen: Cardinal): PChar; $[SysUtils.pas功能返回将指针字符串Source指定长度MaxLen复制到指针字符串Dest中说明Dest应已经分配足够的空间非则将触发异常参考<NULL>///////Begin StrLCopyprocedure TForm1.Button1Click(Sender: TObject);varvBuffer: array[0..255] of Char;beginStrLCopy(vBuffer, PChar(Edit1.Text), SpinEdit1.Value);Edit2.Text := vBuffer;end;///////End StrLCopy━━━━━━━━━━━━━━━━━━━━━首部function StrPCopy(Dest: PChar; const Source: string): PChar; $[SysUtils.pas功能返回将指针字符串Source复制到指针字符串Dest中说明StrLCopy(Dest, PChar(Source), Length(Source))参考function SysUtils.StrLCopy例子///////Begin StrPCopyprocedure TForm1.Button1Click(Sender: TObject);varvBuffer: array[0..255] of Char;beginStrPCopy(vBuffer, PChar(Edit1.Text));Edit2.Text := vBuffer;end;///////End StrPCopy━━━━━━━━━━━━━━━━━━━━━首部function StrPLCopy(Dest: PChar; const Source: string; MaxLen: Cardinal): PChar; $[SysUtils.pas功能返回将字符串Source指定长度MaxLen复制到指针字符串Dest中说明StrLCopy(Dest, PChar(Source), MaxLen)参考function SysUtils.StrLCopy例子///////Begin StrPLCopyprocedure TForm1.Button1Click(Sender: TObject);varvBuffer: array[0..255] of Char;beginStrPLCopy(vBuffer, Edit1.Text, SpinEdit1.Value);Edit2.Text := vBuffer;end;///////End StrPLCopy━━━━━━━━━━━━━━━━━━━━━首部function StrCat(Dest: PChar; const Source: PChar): PChar; $[SysUtils.pas功能返回连接指针字符串Dest和指针字符串Source说明StrCopy(StrEnd(Dest), Source)参考function SysUntils.StrCopy。