Delphi字符串处理函数
delphi 字符整理函数 -回复
delphi 字符整理函数-回复Delphi中的字符串整理函数可以使用多种方法来处理字符串。
这些函数可以帮助开发人员将字符串格式化为特定的规则,从而使其更容易分析和使用。
其中一种常见的字符串整理函数是通过提取中括号内的内容,将字符串分割为主题。
首先,我们需要定义一个函数,用于提取中括号内的内容。
在Delphi中,可以使用正则表达式来实现这一功能。
我们可以使用TRegEx类的方法,如Match或Replace,来提取或替换字符串中与给定模式匹配的内容。
让我们编写一个名为ExtractBracketedText的函数作为示例。
该函数将接受一个字符串作为参数,并返回一个TStringList,其中包含提取的中括号内的内容。
请注意,这只是一种实现方式,你可以根据自己的需求进行修改。
delphifunction ExtractBracketedText(const AText: string): TStringList; constPattern = '\[(.*?)\]'; 正则表达式模式,用于匹配中括号内的内容varRegex: TRegEx;Match: TMatch;beginResult := TStringList.Create;Regex := TRegEx.Create(Pattern);Match := Regex.Match(AText);while Match.Success dobeginResult.Add(Match.Groups[1].Value);Match := Match.NextMatch;end;end;接下来,我们可以使用这个函数来提取字符串中的中括号内容,并将其存储在一个TStringList中。
这个函数返回的TStringList将包含所有的中括号内容,可以根据需要进行进一步处理。
下面是一个使用ExtractBracketedText函数的例子:delphiprocedure TForm1.Button1Click(Sender: TObject);varText: string;BracketedText: TStringList;I: Integer;beginText := '这是一个[示例]字符串,其中包含[中括号内的内容]。
delphi left函数
delphi left函数【1.Delphi左移函数概述】在Delphi编程语言中,左移函数(Left Function)是一种字符串处理函数,主要用于对字符串进行左移操作。
通过左移,我们可以将字符串中的字符按照指定的位数移动到左侧,右侧空出的位置用空字符("0")填充。
左移操作在字符串处理中非常常见,例如在实现字符串加密、编码转换等功能时会用到左移操作。
【2.左移函数的语法和参数】Delphi中的左移函数如下:```function Left(const S: string; Count: Integer): string;```- S:表示要进行左移操作的字符串。
- Count:表示要将字符串左移的位数。
如果Count为负数,则表示从字符串右侧开始左移。
【3.左移函数的应用场景】左移函数在以下场景中具有实用价值:1.加密:通过对明文进行左移操作,可以实现对字符的加密。
例如,将明文字符串左移若干位,可以得到密文字符串。
2.编码转换:在不同的编码系统中,字符的编码值可能不同。
通过对字符串进行左移操作,可以实现编码的转换。
3.数据填充:在某些场景下,我们需要将数据按照特定的格式进行填充。
通过左移操作,可以实现对字符串的填充。
【4.左移函数的实用示例】以下是一个左移函数的实用示例:```delphifunction Encrypt(const PlainText: string; Key: Integer): string;vari: Integer;ShiftedText: string;beginShiftedText := PlainText;for i := 1 to Key dobeginShiftedText := Left(ShiftedText, Length(ShiftedText) - 1) + Right(ShiftedText, 1);end;EncryptedText := ShiftedText;end;procedure TForm1.Button1Click(Sender: TObject);begin// 原始字符串PlainText := "Hello, World!";// 密钥Key := 3;// 加密EncryptedText := Encrypt(PlainText, Key);// 显示结果Memo1.Lines.Add("原始字符串:" + PlainText);Memo1.Lines.Add("加密后:" + EncryptedText);end;```在这个示例中,我们定义了一个名为Encrypt的函数,用于对字符串进行加密。
更全的Delphi函数参考大全
更全的Delphi函数参考大全Delphi函数参考大全田秧收集整理第1章字符串处理函数1.1 AdjustLineBreaks(S,Style) 返回将字符串的行分隔符调整为CR/LF序列1.2 AnsiCompareStr(S1,S2) 反回比较两个字符串1.3 AnsiCompareText(S1,S2) 反回比较两个字符串1.4 AnsiContainsStr(串1,串2) 返回字符串1是否包含子串21.5 AnsiContainsText(串1,串2) 返回字符串1是否包含子串21.6 AnsiDeQdStr(S,Q) 返回以字符Q为引号的表现形式原形1.7 AnsiEndsStr(串2,串1) 返回字符串1是否以子串2结尾1.8 AnsiEndsText(串2,串1) 返回字符串1是否以子串2结尾1.9 AnsiExtractQdStr(varSrc,Q) 返回以字符Q为引号的表现形式原形1.10 AnsiIndexStr(串1, 数组) 返回字符串1在字符串数组数组中的位置1.11 AnsiIndexT ext(串1, 数组) 返回字符串1在字符串数组数组中的位置1.12 AnsiLastChar(S) 返回字符串S的最后一个指针字符1.13 AnsiLowerCase(S) 返回字符串S的小写形式1.14 AnsiMatchStr(串1, 数组) 返回字符串数组数组中是否包含字符串11.15 AnsiMatchText(串1, 数组) 返回字符串数组数组中是否包含字符串11.16 AnsiQdStr(S,Q) 返回字符串S以字符Q为引号的表现形式1.17 AnsiReplaceStr(串1,串2,串3) 返回字符串1中用子串2替换成子串3的结果1.18 AnsiReplaceT ext(串1,串2,串3) 返回字符串1中用子串2替换成子串3的结果1.19 AnsiResemblesText(串1, 串2) 返回两个字符串是否相似1.20 AnsiSameStr(S1,S2) 返回两个字符串是否相等1.21 AnsiSameText(S1,S2) 返回两个字符串是否相等1.22 AnsiStartsStr(串2,串1) 返回字符串1是否以子串2开头1.23 AnsiStartsText(串2,串1) 返回字符串1是否以子串2开头1.24 AnsiStrComp(S1,S2) 返回比较两个指针字符串1.25 AnsiStrIComp(S1,S2) 返回比较两个指针字符串1.26 AnsiString 短字符串转为长字符串1.27 AnsiStrLastChar(P) 返回指针字符串P的最后一个指针字符1.28 AnsiStrLComp(S1,S2,N) 返回比较两个指针字符串指定长度1.29 AnsiStrLComp函数返回比较两个指针字符串指定长度1.30 AnsiStrLIComp(S1,S2,N) 返回比较两个指针字符串指定长度1.31 AnsiStrLower(Str) 返回指针字符串小写形式1.32 AnsiStrPos函数返回指针字符串Str2在Str1中第一个出现的地址1.33 AnsiStrRScan函数返回指针字符串Str2在Str1中最后一个出现的地址1.34 AnsiStrScan函数返回指针字符串Str2在Str1中第一个出现的地址1.35 AnsiStrUpper(Str) 返回指针字符串大写形式1.36 AnsiUpperCase(S) 返回字符串S的大写形式1.37 AppendStr(P, S) 在字符串P后追加字符串S1.38 AssignStr(P, S) 将字符串S更新给字符串指针P1.39 ByteToBin 字节转二进制串1.40 CompareMem(P1,P2,N) 返回比较两个内存指针1.41 CompareStr(S1,S2) 返回比较两个字符1.42 CompareText(S1,S2) 返回比较两个字符串1.43 Concat函数连接两个或多个字符串为一个字符串1.44 Copy函数返回字符串1从K开始的N个字符1.45 DecodeSoundexInt(AValue) 返回探测整数的解码1.46 DecodeSoundexWord(AValue) 返回探测文字数值的解码1.47 Delete(s,k,n)过程删除字符串中指定的字符串1.48 DisposeStr(P) 释放字符串指针P资源1.49 DupeString(串1,N) 返回字符串1的N个复本1.50 ExtractStrings函数1.51 GetHzPy 取汉字的拼音1.52 High(数组) 返回数组下标的最大值1.53 IfThen(AValue ATrue,AFalse) 返回指定的逻辑字符串1.54 Insert(s1,s2,n)过程插入一个字符(串)1.55 InStr 判断s1是否包含在s2中1.56 IntToByte 返回整数Value转换成字节数1.57 IntToHex(ValueDigits) 返回整数Value转换成十六进制表现结果1.58 IntToStr(Value) 返回整数Value转换成字符串1.59 IntToStrSp 带分隔符的整数-字符转换1.60 IsValidIdent(Ident) 返回字符串Ident是否是正确的标识符1.61 LeftStr(串1, N) 返回字符串1左边的N个字符1.62 Length函数返回指定字符串的长度1.63 LineStart函数1.64 LinesToStr 多行文本转单行(换行符转’\n’)1.65 Low(数组) 返回数组下标的最小值1.66 LowerCase(S) 返回字符串S的小写形式1.67 MidStr(串1,K,N) 返回字符串1从K开始的N个字符1.68 NewStr(S) 返回一个新的字符串指针地址1.69 Pchar(S)函数长字符串变量S转为指针类型1.70 PosEx函数返回指针字符串Str2在Str1中第一个出现的地址1.71 Pos函数返回指针字符串Str2在Str1中第一个出现的地址1.72 QdStr(S) 返回字符串S在pascal中的表现形式1.73 QuotedStr函数返回字符串S在pascal中的表现形式1.74 RandomFrom(数组) 随机返回字符串数组数组中的一个元素1.75 ReverseString(串1) 返回字符串1的反序1.76 RightStr(串1, N) 返回字符串1右边的N个字符1.77 SameText(S1,S2) 返回两个字符串是否相等1.78 SearchBuf() 返回第一个搜索到的指针位置1.79 SetLength(S,n)过程设置字符串或动态数组长度1.80 SetString过程1.81 ShortString 长字符串转为短字符串1.82 Soundex(串1,N) 返回探测字符串1.83 SoundexCompare(串1,串2,N) 返回比较两个字符串的探测字符串的结果1.84 SoundexInt(串1,N) 返回探测整数1.85 SoundexProc(串1,串2) 返回两个字符串的探测字符串是否相同1.86 SoundexSimilar(串1,串2,N) 返回两个字符串的探测字符串是否相同1.87 SoundexWord(串1) 返回探测文字数值1.88 Spc 返回空格串1.89 StrCat函数连接两个指针字符串1.90 StrComp函数比较两个指针字符串1.91 StrCopy函数将指针字符串2复制到指针字符串1中1.92 StrECopy函数将一个串复制到另一个串并返回结果字符串尾部的指针1.93 StrEnd函数返回指向字符串尾部的指针1.94 StringOfChar函数1.95 StringReplace函数返回字符串1中用子串2替换成子串3的结果1.96 StrLCat函数将一串中的字符附加到另一串尾并返回合并的字符串1.97 StrLComp函数返回比较两个指针字符串指定长度1.98 StrLCopy函数将指针字符串2指定长度n复制到指针字符串1中1.99 StrLen函数返回字符串中的字符数1.100 StrLIComp函数以最大长度比较两个字符串(不区分大小写)1.101 StrLower函数返回字符串S的小写形式1.102 StrMove函数将指针串2指定内存数量n复制覆盖到指针串1中1.103 StrPCopy函数返回将指针字符串2复制到指针字符串1中1.104 StrPLCopy函数将字符串2指定长度n复制到指针字符串1中1.105 StrPos函数返回指针字符串Str2在Str1中第一个出现的地址1.106 StrRScan函数返回指针字符串Str2在Str1中最后一个出现的地址1.107 StrScan函数返回指针字符串Str2在Str1中第一个出现的地址1.108 StrToBool(S) 返回字符串S转换成逻辑值1.109 StrToBoolDef(S, Default) 返回字符串S转换成逻辑值1.110 StrToInt(S) 返回字符串S转换成整数1.111 StrToInt64(S) 返回字符串S转换成六十四位整数1.112 StrToInt64Def(S, Default) 返回字符串S转换成六十四位整数1.113 StrToIntDef(S,Default) 返回字符串S转换成整数1.114 StrToLines 单行文本转多行(’\n’转换行符)1.115 StrUpper函数返回字符串S的大写形式1.116 Str过程将数值转换为字符串1.117 StuffString(串1,K,N, 串2) 返回嵌套字符串1.118 StuffString函数返回嵌套字符串1.119 SwapStr 交换字串1.120 Trim(S) 返回除去字符串S左右不可见字符1.121 TrimLeft(S) 返回除去字符串S左边不可见字符1.122 TrimRight(S) 返回除去字符串S右边不可见字符1.123 TryStrToBool(S,outValue) 返回字符串S转换成逻辑值Value是否成功1.124 TryStrToInt(S,outValue) 返回字符串S转换成整数Value是否成功1.125 TryStrToInt64(S,outValue) 返回字串S转换成六十四位整数值是否成功1.126 UpperCase(S) 返回字符串S的大写形式1.127 Val过程将字符串转换为整型值1.128 VarArrayCreate([0,n],类型) 创建一个指定类型的数组1.129 VarArrayHighBound(Array,1) 返回数组上标1.130 VarArrayLowBound(Array,1) 返回数组下标1.131 VarArrayOf(S1,S2...Sn) 变量转数组1.132 VarType(vS) 返回变体类型的类型代码1.133 WideCompareStr(S1,S2) 返回比较两个双字节字符串1.134 WideCompareText(S1,S2) 返回比较两个双字节字符串1.135 WideLowerCase(S) 返回双字节字符串的小写形式1.136 WideSameStr(S1,S2) 返回两个双字节字符串是否相同1.137 WideSameText(S1,S2) 返回两个双字节字符串是否相同1.138 WideUpperCase(S) 返回双字节字符串的大写形式第2章数学计算函数2.1 Abs函数绝对值2.2 Ceil(const X:Extended):Integer 返回最小整数>=X,|X|<maxint< p="">2.3 CompareValue函数浮点数比较2.4 DivMod过程16位整数除法一次调用得出结果和余数2.5 EnsureRange函数范围切断函数2.6 Exp函数e的X次方(e=1.7314626)2.7 Floor(const X:Extended):Integer 返回最大整数<=X,|X|<maxint< p="">2.8 Frac函数返回参数的小数部分2.9 InRange函数范围测试函数2.10 Int函数取整2.11 IsZero函数零测试,若值为0(或者是非常非常接近于0)则返回真2.12 Ldexp函数返回X*2^P2.13 Ln函数自然对数函数2.14 Log10函数常用对数函数2.15 Log2函数基数为2的X对数2.16 LogN函数基数为N的X对数2.17 Max函数最大值2.18 Min函数最小值2.19 Pi函数返回圆周率Pi2.20 Poly(const X:Extended;constCoefficients:arrayofDouble):Extended 计算一元多项式A[0]+A[1]*X+...+A[N]*X^N在变量X时的值2.21 Power函数指数函数:任意基数的任意幂2.22 Randomize 随机种子2.23Random[(Range:Integer)] 整数参数返回0<=Random(Range)<range,无参返回(0,1)的数< p="">2.24 RoundT o函数如Frac(X)<0.5则返回X否则返回X+1,其缺省凑整到1/1002.25 SameValue函数浮点数比较:两数是否相等2.26 Sign函数符号函数2.27 Sqr函数平方函数2.28 Sqrt函数平方根函数2.29 Trunc函数将实型值截取为整型值2.30 VarComplexAbs函数2.31 VarComplexAbsSqr函数2.32 VarComplexAngle函数第3章序数函数3.1 Inc过程参数自加3.2 Odd函数判断是否是奇数3.3 Ord函数返回一序数类型所对应的序数值3.4 Pred函数返回序数的前者3.6 Succ函数返回序数的后者3.5 Dec 函数参数自减第4章、三角函数4.1 ArcCos函数返回余弦函数的反函数值4.2 ArcCosh函数返回余弦函数的反函数值4.3 ArcCot函数返回余切函数的反函数值4.4 ArcCoth函数返回余切函数的反函数值4.5 ArcCsc函数返回余割函数的反函数值4.6 ArcCsch函数返回余割函数的反函数值4.7 ArcSec函数返回正割函数的反函数值4.8 ArcSech函数返回正割函数的反函数值4.9 ArcSin函数返回正弦函数的反函数值4.1 ArcSinh函数返回正弦函数的反函数值4.1 ArcTan函数返回正切函数的反函数值4.1 ArcTan2函数返回正切函数的反函数值4.1 ArcTanh函数返回正切函数的反函数值4.1 Cos函数返回余弦函数值4.2 CoseCant函数返回余割函数值4.2 Cosh函数返回余弦函数值4.2 Cot函数返回余切函数值4.2 Cotan函数返回余切函数值4.2 Csc函数返回余割函数值4.2 Csch函数返回余割函数值4.2 Hypot函数返回余弦函数值4.2 Sec函数返回正割函数值4.2 Secant函数返回正割函数值4.2 Sech函数返回正割函数值4.3 Sin函数返回正弦函数值4.3 SinCos函数返回正余弦函数值4.3 Sinh函数返回正弦函数值4.3 Tan函数返回正切函数值4.3 Tanh函数返回正切函数值4.3 Coth函数返回余割函数值第5章、统计函数5.1 MaxIntValue函数返回Integer数组中最大整数5.2 MaxValue函数返回Double数组最大数5.3 Max函数返回参数组最大数5.4 MeanAndStdDev过程在一次调用中计算算术平均值(Mean)和标准偏差(StdDev)5.5 Mean函数算术平均值5.6 MinIntValue函数返回Integer数组中最小整数5.7 MinValue函数返回Double数组中最小数5.8 Min函数返回参数组最小数5.9 MomentSkewKurtosis函数计算统计分解的核心因数5.10 Norm函数欧几里得L2-范数5.11 PopnStdDev函数总体标准差5.12 PopnVariance函数总体方差5.13 StdDev函数样本标准偏差5.14 SumInt函数求Integer数和5.15 SumOfSquares函数求Double平方和5.16 SumsAndSquares过程返回Double总和、平方和5.17 Sum函数求Double数的和5.18 TotalVariance函数方差总合5.19 Variance函数采样方差(样品方差)5.20 TrimInt(N,Min,Max:Integer):Integer 输出限制在Min..Max 之间5.21 InBound(N,Min,Max:Integer):Boolean 输出是否在0..255之间第6章、金融函数6.1 InterestPayment函数利息收入(IPAYMT)6.2 FutureValue函数未来值(终值(FVAL))6.3 Payment函数6.4 PeriodPayment函数支付周期6.5 NetPresentValue函数现在净价值,纯现值(NPV),需要现金流数组6.6 InternalRateOfReturn函数内部盈利率(利润率) (IRR)需要现金流数组6.7 DoubleDecliningBalance函数6.8 SYDDepreciation函数折旧{Sum-of-Years-Digitsdepreciation(SYD)}6.9 SLNDepreciation函数直线折旧{StraightLinedepreciation(SLN)}6.10 PresentValue函数现值6.11 InterestRate 利率(IRATE)6.12 NumberOfPeriods 周期数{NumberofPeriods(NPER)}第7章、随机数函数7.1 RandG函数产生一个随机数,随机数符合正态分布Mean数附近,用于模拟数据抽取样品误差7.2 Random函数由“种子”初始化的随机数出发,开始产生随机数序列7.3 RandomFrom函数随机返回字符串数组AValues中的一个元素7.4 Randomize过程用当前机器时间作为随机数“种子”初始化随机数发生器7.5 RandomRange函数返回指定整数范围内的随机整数7.6 RandSeed函数随机数发生的“种子”第8章、单位换算函数8.1 CelsiusT oFahrenheit函数8.2 CompatibleConversionType函数8.3 CompatibleConversionTypes函数8.4 Convert函数数据类型转换8.5 ConvertFrom函数数据类型转换8.6 ConvertTo函数数据类型转换8.7 ConvFamilyToDescription 函数8.8 ConvTypeT oDescription函数8.9 ConvTypeT oFamily函数8.10 ConvUnitAdd函数8.11 ConvUnitCompareValue函数8.12 ConvUnitDec函数8.13 ConvUnitDiff函数8.14 ConvUnitInc函数8.15 ConvUnitSameValue函数8.16 ConvUnitT oStr函数8.17 ConvUnitWithinNext函数8.18 ConvUnitWithinPrevious函数8.19 CycleToDeg函数圆周转度数8.20 CycleToRad函数圆周转弧度8.21 CycleT oGrad函数圆周转梯度8.22 DateTimeToJulianDate 函数8.23 DateTimeT oModifiedJulianDate函数8.24 DateTimeT oUnix函数8.25 DegToCycle函数度数转圆周8.26 DegToGrad函数度数转梯度8.27 DegToRad函数度数转弧度8.28 DescriptionToConvFamily函数8.29 DescriptionT oConvType函数8.30 FahrenheitT oCelsius函数8.31 GetConvFamilies过程8.32 GetConvTypes过程8.33 GradToCycle函数梯度转圆周8.34 GradToDeg函数梯度转度数8.35 GradToRad函数梯度转弧数8.36 JulianDateT oDateTime 函数8.37 RadToCycle函数弧度转圆周8.38 RadToDeg函数弧度转度数8.39 RadToGrad函数弧度转梯数8.40 RaiseConversionError过程8.41 RegisterConversionFamily函数8.42 RegisterConversionType函数8.43 StrToConvUnit函数8.44 TryConvTypeT oFamily函数8.45 TryJulianDateToDateTime函数8.46 TryModifiedJulianDateToDateTime函数8.47 TryStrToConvUnit函数8.48 UnixToDateTime函数8.49 UnregisterConversionFamily过程8.50 UnregisterConversionType过程第9章、日期函数9.1 CheckSqlTimeStamp过程9.2 CompareDateTime函数比较两个日期时间9.3 CompareDate函数比较两个日期9.4 CompareTime函数比较两个时间9.5 CurrentYear函数返回当前年份9.6 DateOf函数返回当前的日期的时间部分9.7 DateTimeToFileDate函数将DELPHI的日期格式转换为DOS 的日期格式9.8 DateTimeToSQLTimeStamp函数返回当前的日期9.9 DateTimeT oString过程将日期时间格式转换为字符串9.10 DateTimeT oStr函数将日期时间格式转换为字符串9.11 DateTimeT oSystemTime过程日期时间类型转换成系统时间类型9.12 DateTimeT oTimeStamp函数返回当前的日期9.13 DateToStr函数将日期格式转换为字符串9.14 Date函数返回当前的日期9.15 DayOfTheMonth函数一月的第几天9.16 DayOfTheWeek函数一周的第几天9.17 DayOfTheYear函数一年的第几天9.18 DayOfWeek函数返回星期的数值9.19 DayOf函数返回日为一年的第几天9.20 DaysBetween函数两个日期的差距天数9.21 DaysInAMonth函数该月份的总天数9.22 DaysInAYear函数得到该年份的总天数9.23 DaysInMonth函数该月份的总天数9.24 DaysInYear函数得到该年份的总天数9.25 DaySpan函数能得到在天数上的差距9.26 DecodeDateDay过程递减变量值9.27 DecodeDateFully函数递减变量值9.28 DecodeDateMonthWeek过程递减变量值9.29 DecodeDateTime过程递减变量值9.30 DecodeDateWeek过程递减变量值9.31 DecodeDate过程将日期格式分解为年月日9.32 DecodeDayOfWeekInMonth过程递减变量值9.33 DecodeTime过程将时间格式分解为时、分、秒、毫秒9.34 EncodeDateDay函数将年月日合成为日期格式9.35 EncodeDateMonthWeek函数将年月日合成为日期格式9.36 EncodeDateTime函数将年月日合成为日期格式9.37 EncodeDateWeek函数将年月日合成为日期格式9.38 EncodeDate函数将年月日合成为日期格式9.39 EncodeDayOfWeekInMonth函数9.40 EncodeTime函数将时、分、秒、毫秒合成为时间格式9.41 EndOfADay函数每日的结束的时间9.42 EndOfAMonth函数每月的结束的时间9.43 EndOfAWeek函数每周的结束的时间9.44 EndOfAYear函数每年的结束的时间9.45 EndOfTheDay函数每日的结束的时间9.46 EndOfTheMonth函数每月的结束的时间9.47 EndOfTheWeek函数每周的结束的时间9.48 EndOfTheYear函数每年的结束的时间9.49 FormatDateTime函数用指定的格式来格式化日期和时间9.50 GetDay(Date:TDate):Integer 取日期天数分量9.51 GetHour(Time:TTime):Integer 取时间小时分量9.52 GetMinute(Time:TTime):Integer 取时间分钟分量9.53 GetMonth(Date:TDate):Integer 取日期月份分量9.54 GetMSecond(Time:TTime):Integer 取时间毫秒分量9.55 GetSecond(Time:TTime):Integer 取时间秒分量9.56 GetTime函数返回当前的时间9.57 GetYear(Date:TDate):Integer 取日期年份分量9.58 HourOfTheDay函数9.59 HourOfTheMonth函数9.60 HourOfTheWeek函数9.61 HourOfTheYear函数9.62 HourOf函数返回小时为一年的第几小时9.63 HoursBetween函数得到两个日期在小时上差距数9.64 HourSpan函数得到这两个时间在小时上的差数9.65 IncAMonth函数N个月后的日期9.66 IncDay函数N天后的日期9.67 IncHour函数N小时后的日期时间9.68 IncMilliSecond函数N个月后的日期9.69 IncMinute函数N分钟后的日期时间9.70 IncMonth函数N个月后的日期9.71 IncSecond函数N秒后的日期时间9.72 IncWeek函数N周后的日期9.73 IncYear函数N年后的日期9.74 IsInLeapYear函数9.75 IsLeapYear函数判断指定的年份是否是闰年9.76 IsPM函数判断指定时间是白天还是黑夜9.77 IsSameDay函数判断是不是同一天9.78 IsToday函数判断是不是今天9.79 IsValidDateDay函数判断时间是否合法9.80 IsValidDateMonthWeek函数判断时间是否合法9.81 IsValidDateTime函数判断时间是否合法9.82 IsValidDateWeek函数判断时间是否合法9.83 IsValidDate函数判断时间是否合法9.84 IsValidTime函数判断时间是否合法9.85 MilliSecondOfTheDay函数9.86 MilliSecondOfTheHour函数9.87 MilliSecondOfTheMinute函数9.88 MilliSecondOfTheMonth函数9.89 MilliSecondOfTheSecond函数9.90 MilliSecondOfTheWeek函数9.91 MilliSecondOfTheYear函数9.92 MilliSecondOf函数9.93 MilliSecondsBetween函数9.94 MilliSecondSpan函数9.95 MinuteOfTheDay函数最小值9.96 MinuteOfTheHour函数最小值9.97 MinuteOfTheMonth函数最小值9.98 MinuteOfTheWeek函数最小值9.99 MinuteOfTheYear函数最小值9.100 MinuteOf函数最小值9.101 MinutesBetween函数得到两个日期在秒上差距数9.102 MinuteSpan函数得到两个日期在秒上差距数9.103 MonthOfTheYear函数得到该年份的该月份数9.104 MonthOf函数得到该年份的该月份数9.105 MonthsBetween函数得到两个日期在月份上差距数9.106 MonthSpan函数得到两个时间在月上的差数9.107 Now函数返回当前的日期和时间9.108 NthDayOfWeek函数9.109 RecodeDateTime函数修改日期时间9.110 RecodeDate函数修改日期9.111 RecodeDay函数修改日数9.112 RecodeHour函数修改小时数9.113 RecodeMilliSecond函数修改毫秒数9.114 RecodeMinute函数修改秒数9.115 RecodeMonth函数修改月份9.116 RecodeSecond函数修改分钟数9.117 RecodeTime函数修改时间9.118 RecodeYear函数修改年度9.119 ReplaceDate过程使用新日期替换原日期部分,但不改变时间部9.120 ReplaceTime过程使用新时间替换原时间部分,但不改变日期部9.121 SameDateTime函数返回两个日期时间是否相等9.122 SameDate函数返回两个日期是否相等9.123 SameTime函数返回两个时间是否相等9.124 SecondOfTheDay函数得到该日期的分钟数字9.125 SecondOfTheHour函数9.126 SecondOfTheMinute函数9.127 SecondOfTheMonth函数9.128 SecondOfTheWeek函数9.129 SecondOfTheYear函数9.130 SecondOf函数得到该日期的分钟数字9.131 SecondsBetween函数得到这两个时间在分钟上的差数9.132 SecondSpan函数得到这两个时间在分钟上的差数9.133 SQLDayOfWeek函数9.134 SQLTimeStampToDateTime函数9.135 SQLTimeStampToStr函数9.136 StartOfADay函数每日的开始的时间9.137 StartOfAMonth函数每月的开始的时间9.138 StartOfAWeek函数每周的开始的时间9.139 StartOfAYear函数每年的开始的时间9.140 StartOfTheDay函数每日的开始的时间9.141 StartOfTheMonth函数每月的开始的时间9.142 StartOfTheWeek函数每周的开始的时间9.143 StartOfTheYear函数每年的开始的时间9.144 StrToDateDef函数将数值转换为字符串9.145 StrToDateTimeDef函数将数值转换为字符串9.146 StrToDateTime函数将字符串转换为日期/时间格式9.147 StrToDate函数将字符串转换为日期格式9.148 StrToSQLTimeStamp函数将数值转换为字符串9.149 StrToTimeDef函数将数值转换为字符串9.150 StrToTime函数将字符串转换为时间格式9.151 SystemTimeToDateTime函数系统日期时间类型转换成PASICL日期时间类9.152 TimeOf函数返回当前的时间9.153 TimeStampT oDateTime函数返回当前的时间9.154 TimeStampT oMSecs函数返回当前的时间9.155 TimeT oStr函数将时间格式转换为字符串9.156 Time函数返回当前的时间9.157 Today函数今天:得到当前日期9.158 Tomorrow函数明天:得到当前日期的后一天的日期9.159 TryEncodeDateDay函数将年月日合成为日期格式是否成功9.160 TryEncodeDateMonthWeek函数将年月日合成为日期格式是否成功9.161 TryEncodeDateTime函数将年月日合成为日期格式是否成功9.162 TryEncodeDateWeek函数将年月日合成为日期格式是否成功9.163 TryEncodeDate函数将年月日合成为日期格式是否成功9.164 TryEncodeDayOfWeekInMonth函数将年月日合成为日期格式是否成功9.165 TryEncodeTime函数将年月日合成为日期格式是否成功9.166 TryRecodeDateTime函数将年月日合成为日期格式是否成功9.167 TryStrToDateTime函数将年月日合成为日期格式是否成功9.168 TryStrToDate函数将年月日合成为日期格式是否成功9.169 TryStrToSQLTimeStamp函数将年月日合成为日期格式是否成功9.170 TryStrToTime函数将年月日合成为日期格式是否成功9.171 WeekOfTheMonth函数得到该星期为该月的第几个星期9.172 WeekOfTheYear函数得到该星期为一年的第几个星期9.173 WeekOf函数得到该星期为一年的第几个星期9.174 WeeksBetween函数得到这两个时间在星期上的差数9.175 WeeksInAYear函数得到在该年份中共包含多少个星期9.176 WeeksInYear函数得到在该年份中共包含多少个星期9.177 WeekSpan函数得到这两个时间在星期上的差数9.178 WithinPastDays函数判断两个时间差是否在一个指定范围内9.179 WithinPastHours函数判断两个时间差是否在一个指定范围内9.180 WithinPastMilliSeconds函数判断两个时间差是否在一个指定范围内9.181 WithinPastMinutes函数判断两个时间差是否在一个指定范围内9.182 WithinPastMonths函数判断两个时间差是否在一个指定范围内9.183 WithinPastSeconds函数判断两个时间差是否在一个指定范围内9.184 WithinPastWeeks函数判断两个时间差是否在一个指定范围内9.185 WithinPastYears函数判断两个时间差是否在一个指定范围内9.186 YearOf函数得到该日期的年份数字9.187 YearsBetween函数得到两个日期在年份上差距数9.188 YearSpan函数得到两个时间在年上的差数9.189 Yesterday函数昨天:得到当前日期的前一天的日期第10章、类型转换函数10.1 AnsiString 短字符串转为长字符串10.2 BinToHex过程将二进制数转换为十六进制数10.3 BoolT oStr函数将布尔型逻辑值转换为字符串10.4 Bounds函数边框10.5 CompToCurrency函数将实数Comp型转换为货币Currency型数据10.6 CompToDouble函数将实数Comp型转换为双精度实数Double型数据10.24 CurrToStrF函数将货币型数转换为字符串10.23 CurrT oStr函数将货币型数转换为字符串10.25 DoubleToComp过程将双精度实数Double型转换为实数Comp型数据10.8 HexToBin函数将十六进制数转换为二进制数10.7 OffsetRect函数通过应用一个指定的偏移,从而让矩形移动起来10.9 Pchar(S)函数长字符串变量S转为指针类型10.10 Point函数画点10.11 Rect函数画矩形10.12 ShortString 长字符串转为短字符串10.13 SmallPoint函数最小指针10.15 StrToBoolDef函数返回字符串S转换成逻辑值或默认值10.14 StrToBool函数返回字符串S转换成逻辑值10.19 StrToInt64Def函数返回字符串S转换成六十四位整数或默认值10.18 StrToInt64函数返回字符串S转换成六十四位整数10.17 StrToIntDef函数将字符串转换为整型或默认值10.16 StrToInt函数将字符串转换为整型10.20 TryStrToBool函数返回字符串S转换成逻辑值Value是否成功10.22 TryStrToInt64函数返回字串S转换成六十四位整数值是否成功10.21 TryStrToInt函数返回字符串S转换成整数Value是否成功10.26 FormatCurr函数格式化货币型数据10.27 IntToHex函数将整型数转换为十六进制数10.28 IntToStr函数将整型数转换为字符串10.29 VarArrayOf(S1,S2...Sn) 变量转数组10.30 VarType(vS) 返回变体类型的类型代码第11章、异常处理函数11.1 ExceptAddr 返回引起当前意外的地址11.2 ExceptObject函数返回当前意外的错误索引代码信息11.3 ExceptionErrorMessage函数返回当前意外的信息11.4 OutOfMemoryError 引起OutOfMemory意外11.5 RaiseLastOSError过程引起操作系统最后出错11.6 ShowException过程显示意外消息与地址11.7 SysErrorMessage函数返回系统意外的信息11.8 RaiseConversionError过程引起类型转换错误11.9 AcquireExceptionObject函数获得当前意外的错误索引代码信息11.10 DatabaseError过程返回数据库意外的错误索引代码信息11.11 DatabaseErrorFmt过程返回数据库意外的错误索引代码信息第12章、文件处理函数12.1 AddDirSuffix 目录尾加’\’修正12.2 Append过程以附加的方式打开已有的文件12.3 AppPath 应用程序路径12.4 AssignFile过程给文件变量赋一外部文件名12.5 AssignPrn函数将打印机赋给一个变量12.6 BlockRead过程读一个或多个记录到变量中12.7 BlockWrite过程从变量中写一个或多个记录12.8 ChangeFileExt函数改变文件的后缀12.9 ChDir过程改变当前目录12.10 CloseFile过程关闭打开的文件12.11 CreateBakFile 创建备份文件12.12 CreateDir函数建立一子目录12.13 DeleteFile函数删除文件12.14 Deltree 删除整个目录12.15 DirectoryExists函数检查目录是否存在12.16 DiskFree函数返回剩余磁盘空间的大小12.17 DiskSize函数返回指定磁盘的容量12.18 Eof函数对有类型或无类型文件测试是否到文件尾12.19 Eoln函数返回文本文件的行结束状态12.20 Erase过程删除外部文件12.21 ExcludeTrailingBackslash函数12.22 ExcludeTrailingPathDelimiter12.23 ExpandFileName函数返回不包含绝对路径的文件名字符串12.24 ExpandUNCFileName函数从网络上返回不包含绝对路径的文件名字符串12.25 ExtractFileDir函数返回驱动器和路径12.26 ExtractFileDrive函数返回驱动器12.27 ExtractFileExt函数返回文件的后缀12.28 ExtractFileName函数返回文件名12.29 ExtractFilePath函数返回指定文件的路径12.30 ExtractRelativePath函数返回指定远程文件的路径12.31 ExtractShortPathName函数返回指定文件短的路径12.32 FileAge函数返回文件已存在的时间12.33 FileClose过程关闭指定的文件12.34 FileCreate函数用指定的文件名建立新文件12.35 FileDateToDateTime函数将DOS的日期格式转换为Delphi的日期格式12.36 FileExists函数检查文件是否存在12.37 FileGetAttr函数获取文件属性12.38 FileGetDate函数返回文件的编修日期12.39 FileIsReadOnly函数返回文件的是否是只读12.40 FileOpen函数用指定的存取模式打开指定的文件12.41 FilePos函数返回文件的当前指针位置12.42 FileProperties 打开文件属性窗口12.43 FileRead函数从指定的文件读取12.44 FileSearch函数在目录中搜索指定的文件12.45 FileSeek函数改变文件指针的当前位置12.46 FileSetAttr函数设置文件属性12.47 FileSetDate函数设置文件的DOS日期时间标记12.48 FileSetReadOnly函数设置文件为只读属性12.49 FileSize函数返回当前文件的大小12.50 FileTimeToLocalSystemTime 文件时间转本地时间12.51 FileWrite函数对指定的文件做写操作12.52 FindClose过程终止FindFirst/FindNext序列12.53 FindFile 查找指定目录下文件12.54 FindFirst函数搜索目录下的第一个文件,并创建内存空间使用12.55 FindNext函数返回与文件名及属性匹配的下一个文件12.56 Flush函数将缓冲区的内容刷新到输出的文本文件中12.57 ForceDirectories函数建立一子目录,若父目录不存在自动创建父目录12.58 GetCurrentDir函数获取当前目录12.59 GetDirFiles 取文件夹文件数12.60 GetDir过程返回指定驱动器的当前目录12.61 GetFileIcon 取得与文件相关的图标,成功返回True12.62 GetRelativePath 取两个目录的相对路径,注意串尾不能是’\’字符12.63 GetWindowsDir 取Windows系统目录12.64 GetWinTempDir 取临时文件目录12.65 IncludeTrailingBackslash函数12.66 IncludeTrailingPathDelimiter12.67 IOResult函数返回最新的I/O操作完成状态12.68 IsFileInUse 判断文件是否正在使用12.69 IsPathDelimiter函数12.70 LocalSystemTimeT oFileTime 本地时间转文件时间12.71 MakePath 目录尾加’\’修正12.72 MatchesMask函数12.73 MinimizeName函数12.74 MkDir过程建立一子目录12.75 MoveFile 移动文件、目录,参数为源、目标名12.76 OpenDialog 打开文件对话框12.77 OpenWith 文件打开方式12.78 procedure 查找指定目录下文件的回调函数12.79 ProcessPath过程12.80 ReadLn过程文本文件,读一行到一个变量中12.81 Read过程对有格式的文件,读一文件组件到变量中; 文本文件,读一个或多个值到一个或多12.82 RemoveDir函数删除一个不包含文件的目录12.83 RenameFile函数对文件重命名12.84 Rename过程重命名外部文件12.85 Reset过程打开已有的文件12.86 Rewrite过程建立并打开一新的文件12.87 RmDir过程删除空的子目录12.88 RunFile 运行一个文件12.89 SeekEof函数返回文件的文件结束状态12.90 SeekEoln函数返回文件的行结束状态12.91 Seek过程将文件的当前指针移动到指定的组件上12.92 SetCurrentDir函数设置当前目录12.93 SetLineBreakStyle过程设置行中断的类型12.94 SetTextBuf过程给文本文件指定I/O缓冲区12.95 Truncate过程截去当前文件位置后的内容12.96 WinExecAndWait32 运行一个文件并等待其结束12.97 Write(for text files)过程向文本文件,写一个或多个值12.98 Write(for typed files)过程向格式文件写入信息12.99 WriteLn过程向文本文件,写一行第13章、图形计算与处理函数13.1 CharsetT oIdent函数13.2 ColorToIdent函数13.3 ColorToRGB函数13.4 ColorToString函数13.5 CreateGrayMappedBmp函数13.6 CreateMappedBmp函数13.7 DrawButtonFace函数13.8 Frame3D过程13.9 GetCharsetValues过程13.10 GetColorValues过程13.11 GetDefFontCharSet函数13.12 GraphicExtension函数13.13 GraphicFilter函数13.14 MoveWindowOrg过程13.15 StringToColor函数13.16 CenterPoint函数13.17 IntersectRect函数13.18 InvalidPoint函数13.19 IsRectEmpty函数13.20 PointsEqual函数13.21 PtInRect函数13.22 UnionRect函数13.23 BitToAry(Image) 图片转换字符串赋值到F变量第14章格式化函数。
delphi trim方法
delphi trim方法
Delphi中的Trim方法是一个非常有用的字符串处理函数。
它可以帮助我们去除字符串中的空格和其他空白字符,使得我们可以更方便地处理文本数据。
在Delphi中,Trim方法可以用来去除字符串的开头和结尾的空格,这样可以使得字符串更加整洁和易于处理。
该方法可以应用于任何字符串变量,无论是用户输入的文本还是从文件中读取的数据。
在实际应用中,Trim方法经常用于处理用户输入的数据,特别是在验证用户输入时。
通过使用Trim方法,我们可以确保用户输入的数据不会因为空格而导致错误的匹配或比较。
另外,Trim方法还可以与其他字符串处理函数一起使用,比如UpperCase和LowerCase等,来进一步处理字符串数据。
这些方法的结合可以帮助我们更加灵活地处理文本数据,使得我们的程序更加健壮和易于维护。
总之,Delphi中的Trim方法是一个非常实用的工具,它可以
帮助我们更加方便地处理字符串数据,提高程序的可靠性和用户体验。
无论是在验证用户输入、处理文件数据还是其他场景下,Trim 方法都可以发挥重要作用,是Delphi开发者不可或缺的利器之一。
delphi left函数
delphi left函数Delphi中的left函数是一个字符串处理函数,它用于返回字符串的左边指定个数的字符。
下面,我将一步一步回答关于Delphi中的left函数的问题。
首先,我们需要了解left函数的语法。
在Delphi中,left函数的语法如下:function LeftStr(const AText: string; const ACount: Integer): string;接下来,我将逐步解释语法中的各个部分。
1. function: 这个关键字表示我们正在定义一个函数。
2. LeftStr: 这个函数的名称为LeftStr。
3. const: 这个关键字表示我们传递给函数的参数是常量,即在函数中不会被修改。
4. AText: 这是传递给函数的第一个参数,是一个字符串,表示我们想要处理的字符串。
5. ACount: 这是传递给函数的第二个参数,是一个整数,表示我们想要将字符串中的左边多少个字符返回。
6. string: 这是函数的返回类型,表示函数将返回一个字符串。
接下来,我们将通过一个示例来展示left函数的用法。
假设我们有一个字符串"Hello, World!",我们想要返回字符串的前5个字以下是使用left函数来实现这个需求的示例代码:varstr: string;beginstr := 'Hello, World!';str := LeftStr(str, 5);ShowMessage(str);end;在上述代码中,我们首先声明一个字符串变量str,并将其赋值为"Hello, World!"。
接下来,我们调用left函数,并将str和5作为参数传递给它。
函数将返回字符串的前5个字符,并将结果赋值给str变量。
最后,我们使用ShowMessage函数来显示str变量中的内容。
结果将是"Hello"。
delphi字符串处理
Toast.makeText(context, "生物"+Backinfo.shengwu, 0).show();
removeStr(minfo,shengwu);
Toast.makeText(context, "数学"+Backinfo.shuxue, 0).show();
removeStr(minfo,shuxue);
}
if(minfo.indexOf("英语")>0)
{
int yingyu=minfo.indexOf("<td >")+5;
}
if(minfo.indexOf("物理")>0)
{
int wuli=minfo.indexOf("<td >")+5;
Backinfo.shuxue=minfo.substring(wuli,minfo.indexOf("<", wuli));
Backinfo.lishi=minfo.substring(lishi,minfo.indexOf("<", lishi));
Toast.makeText(context, "历史"+Backinfo.shengwu, 0).show();
removeStr(minfo,lishi);
}
if(minfo.indexOf("地理")>0)
一步步教你优化Delphi字串查找
一步步教你优化Delphi字串查找一步步教你优化Delphi字串查找本人在编写离线浏览器WebSeizer的过程中,用到大量字符串处理函数,这是很耗CPU的一个处理过程,为了编写出高效率的网页解析引擎,对优化代码作了一番研究。
1 、高精度的计时函数代码优化时需要用到精确的计时器。
常用的有GetTickCount函数,可以达到毫秒级的精度。
但还是很不够的,这时可以采用提高循环次数的办法。
另外,还有一个精度更高的定时——“高分辨率性能计数器”(high-resolution performance counter),它提供了两个API 函数,取得计数器频率的QueryPerformanceFrequency和取得计数器数值的QueryPerformanceCounter。
实现原理是利用计算机中的8253,8254可编程时间间隔定时器芯片实现的。
在计算机内部有三个独立的16位计数器。
计数器可以以二进制或二—十进制(BDC)计数。
计数器每秒产生1193180次脉冲,每次脉冲使计数器的数字减一,产生频率是可变的,用QueryPerformanceFrequency可以得到,一般情况下都是1193180。
QueryPerformance Counter可以得到当前的计数器值。
所以只要你的计算机够快,理论上精度可以达到1/1193180秒。
2 、代码优化实例下面以一个自定义的字符串函数的为例,说明代码优化过程。
Delphi提供的字符串函数里有一个Pos函数,它的定义是:function Pos(Substr: string; S: string): Integer;它的作用是在字符串S中查找字符串Substr,返回值是Substr在S中第一次出现的位置,如果没有找到,返回值为0。
在本人编写WebSeizer软件(天空软件站有下载)过程中,Pos 已经不能满足要求。
一方面:在处理网页中的字符串时,要求对大小写不敏感,即< h t m l > 和<HTML>代表的含义完全一样。
delphi left函数
delphi left函数摘要:一、函数简介1.函数名称:Delphi Left 函数2.函数作用:从字符串左侧截取指定长度的子字符串3.函数原型:function Left(const S: string; Len: Integer): string;二、函数参数1.S: 原始字符串2.Len: 截取长度,正数表示截取左侧,负数表示截取右侧三、函数返回值1.成功:返回截取后的子字符串2.失败:返回空字符串四、函数应用举例1.示例代码2.运行结果正文:Delphi Left 函数是Delphi 编程语言中用于处理字符串的一个函数,它的主要作用是从字符串的左侧截取指定长度的子字符串。
该函数的原型为:function Left(const S: string; Len: Integer): string; 其中,S 表示原始字符串,Len 表示截取的长度,正数表示从左侧截取,负数表示从右侧截取。
函数的参数中,S 是必选参数,表示需要截取的字符串。
Len 是可选参数,表示需要截取的长度。
如果Len 为0 或负数,函数将返回空字符串。
如果Len 大于字符串S 的长度,函数将返回S 的全部内容。
函数的返回值有两种情况:成功和失败。
成功时,返回截取后的子字符串。
失败时,返回空字符串。
下面通过一个示例代码来说明Left 函数的使用:```delphiprocedure TForm1.Button1Click(Sender: TObject);varStr: string;SubStr: string;beginStr := "Hello, world!";SubStr := Left(Str, 5); // 从左侧截取5 个字符ShowMessage(SubStr); // 显示结果:Helloend;```在这个示例中,我们定义了一个字符串变量Str,并赋值为"Hello, world!"。
Delphi常用字符串函数
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中常用字符串处理函数
Delphi中常⽤字符串处理函数1.copy(str,pos,num) 从str字符串的pos处开始,截取num个字符的串返回.假设str为'abcdef',copy(str,3,2)='cd',copy(str,4,10)='def'2.concat(str1,str2{,strn}) 把各⾃变量连接起来,返回连接后的字符串(长度不能超过255)3.length(str) 返回str的字符个数,即其长度.4.pos(obj,target) 在target字符串中找出第⼀个出现obj的第⼀个字符位置,如果找不到,返回0.5.AnsiStrLastChar('你好')结果是“好”。
如果有半个汉字出现,返回这半个汉字。
⼆者字符串长度分别为2和1。
pareStr - 区分⼤⼩写pareText - 不区分⼤⼩写8.StringReplace(const S, OldPattern, NewPattern: string;Flags: TReplaceFlags): string;字符串替换函数,需要引⽤SysUtils单元rfReplaceAll:全部替换rfIgnoreCase:忽略⼤⼩写使⽤⽅法Lg: str:='01231142211:655767';//需要把:替换成----s:=StringReplace(str,':','----',[rfReplaceAll]);For Example:varaStr: String;beginaStr := 'This is a book, not a pen!';ShowMessage(StringReplace (aStr, 'a', 'two', [])); //This is two book, not a pen!只替换了第⼀个符合的字ShowMessage(StringReplace (aStr, 'a', 'two', [rfReplaceAll]));//This is two book, not two pen!替换了所有符合的字aStr := 'This is a book, not A pen!';ShowMessage(StringReplace (aStr, 'a', 'two', [rfReplaceAll])); //This is two book, not A pen!只替换了符合的字(⼩写a)ShowMessage(StringReplace (aStr, 'a', 'two', [rfReplaceAll, rfIgnoreCase])); //This is two book, not two pen!不管⼤⼩写替换了所有符合的字end;9.delete是删除⼀个字符串中的某部分字符⽤法是delete(str,//被删除的字符串index,//从第⼏个字符开始删除count //删除⼏个);Delete(S, 2, 2); 就是从S中的第⼆个开始删除,删除2个字符即2、3.所以结果是145.////////////////////////////////////////////////////////LEFTSTR, MIDSTR, RIGHTSTR的介绍这⼏个函数都包含在StrUtils中,所以需要uses StrUtils;假设字符串是 Dstr := ’Delphi is the BEST’, 那么LeftStr(Dstr, 5) := ’Delph’MidStr(Dstr, 6, 7) := ’i is th’RightStr(Dstr, 6) := ’e BEST’8.{判断字符是否是数字}function IsDigit(ch: char): boolean;beginResult := ch in ['0'..'9'];end;9、{判断字符是否是⼤写字符}function IsUpper(ch: char): boolean;beginResult := ch in ['A'..'Z'];end;10、{判断字符是否是⼩写字符}function IsLower(ch: char): boolean;beginResult := ch in ['a'..'z'];end;11、{转换为⼤写字符}function ToUpper(ch: char): char;beginResult := chr(ord(ch) and $DF);end;12、{转换为⼩写字符}function ToLower(ch: char): char;beginResult := chr(ord(ch) or $20);end;{ Capitalizes first letter of every word in s }function Proper(const s: string): string;vari: Integer;CapitalizeNextLetter: Boolean;beginResult := LowerCase(s);CapitalizeNextLetter := True;for i := 1to Length(Result) dobeginif CapitalizeNextLetter and IsLower(Result[i]) thenResult[i] := ToUpper(Result[i]);CapitalizeNextLetter := Result[i] = '';end;end;////////////////////////////////////////////////////////////13.{返回两个⼦字符串之间字符的个数}Function p2pcount( s, ss1, ss2 : string ): integer;var i, j, slen : integer;begini := pos( ss1, s );j := pos( ss2, s );slen := Length(ss2);if j >= i then Result := j - i + slen else Result := 0;end;14.{更快速的字符查询,快40%}function ScanStr(ToScan: PChar; Sign: Char):PChar;beginResult:= nil;if ToScan <> nil thenwhile (ToScan^ <> #0) do beginif ToScan^ = Sign then beginResult:= ToScan;break;end;inc(ToScan);end;end;/////////////////////////////15.替换字符串中⼦串的函数,他可以从字符串中找出指定⼦串,并替换为另⼀⼦串。
delphi string用法
delphi string用法Delphi是一种编程语言,其中的string是一种数据类型,用于存储文本或字符数据。
在Delphi中,string是一种动态变长的数据类型,由字符构成。
它可以用于存储任意长度的文本字符串,并且可以进行各种字符串操作。
以下是一些常见的Delphi string用法:1.字符串赋值:可以使用等号将一个字符串赋值给另一个字符串。
```vars1, s2: string;begins1 := 'Hello'; //字符串赋值s2 := s1; //将s1的值赋给s2```2.字符串连接:使用加号操作符可以将两个字符串连接在一起。
```vars1, s2, s3: string;begins1 := 'Hello';s2 := 'World';s3 := s1 + s2; //将s1和s2连接在一起end;```3.字符串长度:使用Length函数可以获取一个字符串的长度。
```s: string;len: Integer;begins := 'Hello';len := Length(s); //获取字符串的长度end;```4.字符串比较:可以使用等号、小于号、大于号等操作符对字符串进行比较。
```vars1, s2: string;isEqual: Boolean;isLess: Boolean;isGreater: Boolean;begins1 := 'Hello';s2 := 'World';isEqual := (s1 = s2); //检查两个字符串是否相等isLess := (s1 < s2); //检查s1是否小于s2isGreater := (s1 > s2); //检查s1是否大于s2end;```除了上述用法,Delphi还提供了一些其他的string操作函数和过程,用于处理字符串的拆分、替换、查找、插入等操作。
delphi字符串中含有花括号
delphi字符串中含有花括号摘要:1.Delphi 字符串简介2.花括号在Delphi 字符串中的作用3.如何处理含有花括号的字符串4.总结正文:Delphi 是一种高级编程语言,广泛应用于Windows 平台的软件开发。
在Delphi 中,字符串是常用的数据类型,用于存储和处理文本数据。
在某些情况下,Delphi 字符串中可能含有花括号。
本文将介绍花括号在Delphi 字符串中的作用,以及如何处理含有花括号的字符串。
花括号(大括号)在Delphi 字符串中有特殊的作用。
在Delphi 中,花括号用于表示字符串的子字符串。
例如,假设有一个字符串`s ="abc{def}ghi"`,其中花括号`{}`包围的部分`def`就是该字符串的子字符串。
通过使用花括号,我们可以在程序中方便地提取和操作字符串的子部分。
处理含有花括号的字符串时,通常需要使用Delphi 的字符串处理函数。
以下是一些常用的处理含有花括号字符串的函数:- `Pos`:查找子字符串在字符串中首次出现的位置。
例如:`Pos("{", s)`将返回子字符串`{`在`s`中的位置。
- `Substring`:提取字符串中的子字符串。
例如:`Substring(s, 1,Pos("{", s))`将返回子字符串`abc`。
- `Right`:提取字符串右侧的字符。
例如:`Right(s, 3)`将返回`ghi`。
- `Left`:提取字符串左侧的字符。
例如:`Left(s, 3)`将返回`abc`。
通过这些函数,我们可以方便地处理含有花括号的字符串。
需要注意的是,处理含有花括号的字符串时要避免出现字符串结束符`#`。
当`#`出现在花括号内时,它将使花括号失去其特殊作用。
因此,在处理含有花括号的字符串时,要确保`#`不在花括号内。
总之,在Delphi 中,花括号在字符串中有特殊的作用,用于表示子字符串。
DELPHI字符串处理
DELPHI字符串处理1.delphi的字符截取函数LeftStr,MidStr,RightStr拆分字符串这几个函数都包含在StrUtil中,所以需要ueStrUtil;假设字符串是Dtr:=’DelphiitheBEST’,那么LeftStr(Dtr,5):=’Delph’MidStr(Dtr,6,7):=’iith’RightStr(Dtr,6 ):=’eBEST’~~~~~~~~~~~~~~~~~~~~~~~~~functionRightStr(ContStr:String;Size:Word):String;beginifSize>Length(Str)thenSize:=Length(Str);RightStr:=Copy(Str,L ength(Str)-Size+1,Size)end;functionMidStr(ContStr:String;From,Size:Word):String;beginMidStr:=Copy(Str,From,Size)end;functionLeftStr(ContStr:String;Size:Word):String;beginLeftStr:=Copy(Str,1,Size)end;这几个函数经常结合Po,Length,Copy使用拆分字符串的函数delphi中没有提供此类函数,从大富翁找了一个functionplit(rc,dec:tring):TStringLit;vari:integer;tr:tring;beginreult:=TStringLit.Create;repeati:=po(dec,rc);tr:=copy(rc,1,i-1);if(tr='')and(i>0)thenbegin delete(rc,1,length(dec));continue;end;ifi>0thenbeginreult.Add(tr);delete(rc,1,i+length(dec)-1);end;untili<=0;ifrc<>''thenreult.Add(rc);end;procedureTForm1.Button1Click(Sender:TObject);var:TStringLit;tr,dec:tring;begintr:='1111||2222||||3333|||4444||';dec:='||';:=plit(tr,dec);memo1.Line.AddString();.Free;end;2.Delphi字符串分割函数functionTForm1.SplitString(Source,Deli:tring):TStringLit;//拆分字符串函数varEndOfCurrentString:byte;StringLit:TStringLit;beginStringLit:=TStringLit.Create;whilePo(Deli,Source)>0do//当存在拆分符号时beginEndOfCurrentString:=Po(Deli,Source);//取分隔符的位置StringLit.add(Copy(Source,1,EndOfCurrentString-1));//添加项目Source:=Copy(Source,EndOfCurrentString+length(Deli),length(Sourc e)-EndOfCurrentString);//减去已添加项和分隔符end;StringLit.Add(ource);//如果不存在分隔符时,直接作为项目添加Reult:=StringLit;//设置返回类型end;用法如下:procedureTForm1.Button2Click(Sender:TObject);var:Ttringlit;i:integer;tr:tring;beginlitbo某2.Item.Clear;:=Ttringlit.Create;tr:=Edit1.Te某t;try .Aign(Form1.SplitString(tr,'^'));fori:=0to.Count-1dolitbo某2.Item.Add(.String[i]);finallyfreeandnil();end;另Delphi中自带一个分割字符串函数E某tractStringfunctionE某tractString(Separator:TSyCharSet;WhiteSpace:TSyCharSet;Content:P AniChar;String:TString):Integer;[参数注释]:Separator参数指定一组分割符,所有的子串都是用它们分割的。
delphi大端转小端字符串函数
delphi大端转小端字符串函数如何编写delphi大端转小端字符串函数。
首先,让我们明确一下什么是大端字节顺序和小端字节顺序。
在计算机系统中,字节是最小的数据单位。
在大端字节顺序中,最高有效字节存储在最低的内存地址中,而最低有效字节存储在最高的内存地址中。
而在小端字节顺序中,情况正好相反,最低有效字节存储在最低的内存地址中,最高有效字节存储在最高的内存地址中。
在Delphi中,我们可以使用一些内置函数来处理字节顺序的转换。
下面是一步一步的指南,演示如何编写一个Delphi函数来实现大端转小端字符串的转换。
第一步:创建一个新的Delphi工程打开Delphi集成开发环境(IDE),创建一个新的Delphi工程。
选择“文件”菜单中的“新建”选项,然后选择“应用程序”下的“VCL应用程序”。
选择一个适合你的项目的名称和位置,并点击“确定”按钮。
第二步:定义函数原型在项目中的主单位中,定义一个函数原型。
在“interface”部分中添加以下代码:delphifunction BigEndianToLittleEndianStr(const BigEndianStr: string): string;第三步:实现函数在“implementation”部分中,实现上面定义的函数。
下面是一个示例实现:delphifunction BigEndianToLittleEndianStr(const BigEndianStr: string): string;vari: Integer;begin将字符串转换为字节数组SetLength(Result, Length(BigEndianStr));Move(BigEndianStr[1], Result[1], Length(BigEndianStr));逆转字节数组的顺序for i := 1 to Length(Result) div 2 dobeginSwap(Result[i], Result[Length(Result) - i + 1]);end;end;在上面的代码中,我们使用了Delphi的内置函数`Swap`来逆转字节数组的顺序。
delphi 字符串减法运算
delphi 字符串减法运算
在Delphi中,字符串减法运算并不是一种内置的操作符或函数。
字符串通常用于存储文本数据,而减法运算通常用于数值计算。
然而,如果你想要在Delphi中执行类似字符串的减法操作,你可以使
用一些字符串处理函数来实现。
一种常见的方法是使用内置的`StringReplace`函数,该函数可
以用来替换字符串中的特定子字符串。
例如,如果你想要从字符串
中去除特定的子字符串,你可以使用`StringReplace`来将该子字符
串替换为空字符串。
另一种方法是使用`AnsiReplaceStr`函数,该函数可以在字符
串中替换指定的子字符串。
通过将要去除的子字符串替换为空字符串,你可以实现类似字符串的减法操作。
除此之外,你还可以使用`Copy`函数来截取字符串的子串,然
后将两个子串连接起来,实现类似字符串减法的效果。
总之,虽然Delphi中没有直接的字符串减法运算符,但你可以
通过使用内置的字符串处理函数来实现类似的操作。
希望这些信息能够帮助到你。
delphi left函数
Delphi Left函数1. 概述在Delphi中,字符串是一种常见的数据类型。
字符串处理是编程中常见的任务之一。
Delphi提供了一系列字符串处理函数,其中之一就是Left函数。
Left函数用于从字符串的左侧截取指定长度的子字符串。
本文将详细介绍Delphi中的Left函数的使用方法和注意事项。
2. Left函数的语法Left函数的语法如下所示:function Left(const Str: string; Count: Integer): string;其中,Str是要截取的源字符串,Count是要截取的子字符串的长度。
Left函数返回截取的子字符串。
3. Left函数的用法示例下面是几个使用Left函数的示例:3.1 示例一:截取固定长度的子字符串varStr: string;SubStr: string;beginStr := 'Hello, World!';SubStr := Left(Str, 5);ShowMessage(SubStr); // 输出:'Hello'end;在这个示例中,我们定义了一个字符串Str,并赋值为’Hello, World!‘。
然后,使用Left函数截取Str的前5个字符,将结果赋值给SubStr。
最后,通过ShowMessage函数将SubStr的值显示出来。
可以看到,SubStr的值为’Hello’。
3.2 示例二:处理可变长度的字符串varStr: string;SubStr: string;Count: Integer;beginStr := 'This is a long string.';Count := 7;SubStr := Left(Str, Count);ShowMessage(SubStr); // 输出:'This is'end;在这个示例中,我们定义了一个字符串Str,并赋值为’This is a long string.’。
DELPHI字符串分割处理
DELPHI字符串分割处理DELPHI 字符串分割处理Code該函數的功能就是取兩個相隔符之間的字符.var Source:stringSource:=<1111>string1<1122><2233>string2<3344><4455>string3<5566>;string1:=FindStr('<1111>','<1122>',Source);String2:=FindStr('<2233>','<3344>',Source);String3:=FindStr('<4455>','<5566>',Source);//---------------------------------------------我想取得⼀个email地址的⽤户名function myuser(email:string):string;vari,n:integer;beginn:=pos('@',email);result:=copy(email,0,n-1);//改了⼀下end;//---------------------------------------------下⾯就可以取出leftstr(emaddress,Pos('@',emaddress))//---------------------------------------------uses IdGlobal;User := Fetch(EmailAddress, '@');//--------------------------------ExtractStrings(要分隔的字符串,分隔字符串⽤的字符集合,分隔后排在第⼀位的消去的字符集合,字符串列表对象)另⼀个函数SplitString//这个我最喜欢⽤了function SplitString(const source, ch: string): TStringList;vartemp, t2: string;i: integer;beginresult := TStringList.Create;temp := source;i := pos(ch, source);while i <> 0 dobegint2 := copy(temp, 0, i - 1);if (t2 <> '') thenresult.Add(t2);delete(temp, 1, i - 1 + Length(ch));i := pos(ch, temp);end;result.Add(temp);end;例⼦:st := SplitString('xxx@', '@');则st[0] = 'xxx';st[1] = '';。
Delphi字符串函数大全
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 AValues: array ofstring): Boolean; $[StrUtils.pas功能返回字符串数组AValues中是否包含字符串AText说明不区分⼤⼩写参考 function StrUtils.AnsiIndexText例⼦ CheckBox1.Checked := AnsiMatchText(Edit1.Text, ['a1', 'a2', 'a3','a4']);━━━━━━━━━━━━━━━━━━━━━⾸部 function AnsiIndexText(const AText: string; const AValues: array ofstring): Integer; $[StrUtils.pas功能返回字符串AText在字符串数组AValues中的位置说明不区分⼤⼩写;如果不包含则返回-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 AValues: array ofstring): Boolean; $[StrUtils.pas功能返回字符串数组AValues中是否包含字符串AText说明区分⼤⼩写参考 function StrUtils.AnsiIndexStr例⼦ CheckBox1.Checked := AnsiMatchStr(Edit1.Text, ['a1', 'a2', 'a3','a4']);━━━━━━━━━━━━━━━━━━━━━⾸部 function AnsiIndexStr(const AText: string; const AValues: array ofstring): Integer; $[StrUtils.pas功能返回字符串AText在字符串数组AValues中的位置说明区分⼤⼩写参考 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 AValues: array of string): string; overload; $[StrUtils.pas功能随机返回字符串数组AValues中的⼀个元素说明之前建议执⾏Randomize参考 function System.Random例⼦ Randomize; Edit3.Text := RandomFrom(['a1', 'a2', 'a3', 'a4']);━━━━━━━━━━━━━━━━━━━━━⾸部 function IfThen(AValue: Boolean; const ATrue: string; AFalse: string = ''): string; overload; $[StrUtils.pas功能返回指定的逻辑字符串说明 IfThen(True, '是', '否') = '是';IfThen(False, '是', '否') = '否'参考 <NULL>例⼦ Edit3.Text := IfThen(CheckBox1.Checked, Edit1.Text, Edit2.Text);━━━━━━━━━━━━━━━━━━━━━⾸部 function LeftStr(const AText: string; const ACount: Integer): string;$[StrUtils.pas功能返回字符串AText左边的ACount个字符说明 LeftStr('123456', 3) = '123'参考 function System.Copy例⼦ Edit3.Text := LeftStr(Edit1.Text, SpinEdit1.Value);━━━━━━━━━━━━━━━━━━━━━⾸部 function RightStr(const AText: string; const ACount: Integer): string;$[StrUtils.pas功能返回字符串AText右边的ACount个字符说明 RightStr('123456', 3) = '456'参考 function System.Copy例⼦ Edit3.Text := RightStr(Edit1.Text, SpinEdit1.Value);━━━━━━━━━━━━━━━━━━━━━⾸部 function MidStr(const AText: string; const AStart, ACount: Integer):string; $[StrUtils.pas功能返回字符串AText从AStart开始的ACount个字符说明其实就是Copy参考 function System.Copy例⼦ Edit3.Text := MidStr(Edit1.Text, SpinEdit1.Value, SpinEdit2.Value);━━━━━━━━━━━━━━━━━━━━━⾸部 function 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;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例⼦///////Begin StrCatprocedure TForm1.Button1Click(Sender: TObject);varvBuffer: array[0..255] of Char;beginStrPCopy(vBuffer, Edit1.Text);StrCat(vBuffer, PChar(Edit2.Text));Edit3.Text := vBuffer;end;///////End StrCat━━━━━━━━━━━━━━━━━━━━━⾸部 function StrLCat(Dest: PChar; const Source: PChar; MaxLen: Cardinal):PChar; $[SysUtils.pas功能返回连接指针字符串Dest和指针字符串Source说明 [注意]MaxLen指定连接后的最⼤长度不是指针字符串Source的长度参考 <NULL>例⼦///////Begin StrLCatprocedure TForm1.Button1Click(Sender: TObject);varvBuffer: array[0..255] of Char;beginStrPCopy(vBuffer, Edit1.Text);StrLCat(vBuffer, PChar(Edit2.Text), SpinEdit1.Value);Edit3.Text := vBuffer;end;///////End StrLCat━━━━━━━━━━━━━━━━━━━━━⾸部 function StrComp(const Str1, Str2: PChar): Integer; $[SysUtils.pas功能返回⽐较两个指针字符串说明当S1>S2返回值>0;当S1<S2返回值<0;当S1=S2返回值=0;区分⼤⼩写;[注意]返回第⼀个出现不同字符的差异参考 <NULL>例⼦ SpinEdit1.Value := StrComp(PChar(Edit1.Text), PChar(Edit2.Text));━━━━━━━━━━━━━━━━━━━━━⾸部 function StrIComp(const Str1, Str2: PChar): Integer; $[SysUtils.pas功能返回⽐较两个指针字符串说明当S1>S2返回值>0;当S1<S2返回值<0;当S1=S2返回值=0;不区分⼤⼩写;[注意]返回第⼀个出现不同字符的差异参考 <NULL>例⼦ SpinEdit1.Value := StrIComp(PChar(Edit1.Text), PChar(Edit2.Text));━━━━━━━━━━━━━━━━━━━━━⾸部 function StrLComp(const Str1, Str2: PChar; MaxLen: Cardinal): Integer;$[SysUtils.pas功能返回⽐较两个指针字符串指定长度说明当S1>S2返回值>0;当S1<S2返回值<0;当S1=S2返回值=0;区分⼤⼩写;Length(长度);[注意]返回第⼀个出现不同字符的差异参考 <NULL>例⼦ SpinEdit1.Value := StrLComp(PChar(Edit1.Text), PChar(Edit2.Text),SpinEdit2.Value)━━━━━━━━━━━━━━━━━━━━━⾸部 function StrLIComp(const Str1, Str2: PChar; MaxLen: Cardinal): Integer;$[SysUtils.pas功能返回⽐较两个指针字符串指定长度说明当S1>S2返回值>0;当S1<S2返回值<0;当S1=S2返回值=0;不区分⼤⼩写;[注意]返回第⼀个出现不同字符的差异参考 <NULL>例⼦ SpinEdit1.Value := StrLIComp(PChar(Edit1.Text), PChar(Edit2.Text),SpinEdit2.Value)━━━━━━━━━━━━━━━━━━━━━⾸部 function StrScan(const Str: PChar; Chr: Char): PChar; $[SysUtils.pas功能返回在指针字符串Str搜索字符Chr第⼀个出现的地址说明没有找到则返回空指针参考 <NULL>例⼦ Edit2.Text := StrScan(PChar(Edit1.Text), '*');━━━━━━━━━━━━━━━━━━━━━⾸部 function StrRScan(const Str: PChar; Chr: Char): PChar; $[SysUtils.pas 功能返回在指针字符串Str搜索字符Chr最后⼀个出现的地址说明没有找到则返回空指针参考 <NULL>例⼦ Edit2.Text := StrRScan(PChar(Edit1.Text), '*');━━━━━━━━━━━━━━━━━━━━━⾸部 function StrPos(const Str1, Str2: PChar): PChar; $[SysUtils.pas功能返回指针字符串Str2在Str1中第⼀个出现的地址说明没有找到则返回空指针;StrPos('12345', '3') = '345'参考 <NULL>例⼦ Edit3.Text := StrPos(PChar(Edit1.Text), PChar(Edit2.Text));━━━━━━━━━━━━━━━━━━━━━⾸部 function StrUpper(Str: PChar): PChar; $[SysUtils.pas功能返回指针字符串Str⼤写说明⾮⼩写字符不处理参考 <NULL>例⼦ Edit1.Text := StrUpper(PChar(Edit2.Text));━━━━━━━━━━━━━━━━━━━━━⾸部 function StrLower(Str: PChar): PChar; $[SysUtils.pas功能返回指针字符串Str⼩写说明⾮⼤写字符不处理参考 <NULL>例⼦ Edit1.Text := StrLower(PChar(Edit2.Text));━━━━━━━━━━━━━━━━━━━━━⾸部 function StrPas(const Str: PChar): string; $[SysUtils.pas功能返回指针字符串Str转换成字符串说明也可以直接赋值参考 <NULL>例⼦ Edit1.Text := StrPas(PChar(Edit2.Text));━━━━━━━━━━━━━━━━━━━━━⾸部 function StrAlloc(Size: Cardinal): PChar; $[SysUtils.pas功能返回分配指定空间的内存资源给指针字符串说明空间的⼤⼩也将保存;⽤StrDispose才能全部释放参考 function System.GetMem例⼦///////Begin StrAllocprocedure TForm1.Button1Click(Sender: TObject);varP: PChar;beginP := StrAlloc(SpinEdit1.Value);ShowMessage(IntToStr(StrLen(P)));Dec(P, SizeOf(Cardinal));ShowMessage(IntToStr(Cardinal(Pointer(P)^)));Inc(P, SizeOf(Cardinal));StrDispose(P);end;///////End StrAlloc━━━━━━━━━━━━━━━━━━━━━⾸部 function StrBufSize(const Str: PChar): Cardinal; $[SysUtils.pas功能返回通过函数StrAlloc分配的缓冲区⼤⼩说明出现异常情况则返回不可预知的结果参考 function System.SizeOf例⼦ SpinEdit1.Value := StrBufSize(StrAlloc(SpinEdit2.Value));━━━━━━━━━━━━━━━━━━━━━⾸部 function StrNew(const Str: PChar): PChar; $[SysUtils.pas功能返回复制⼀个新的指针字符串说明如果Str为nil则返回nil参考 function SysUtils.StrLen;function SysUtils.StrMove;functionSysUtils.StrAlloc例⼦///////Begin StrNew,StrDisposeprocedure TForm1.Button1Click(Sender: TObject);varP: PChar;beginP := StrNew(PChar(Edit1.Text));ShowMessage(P);StrDispose(P);end;///////End StrNew,StrDispose━━━━━━━━━━━━━━━━━━━━━⾸部 procedure StrDispose(Str: PChar); $[SysUtils.pas功能释放指针字符串Str内存资源说明如果Str为nil则不作任何处理;并且释放空间⼤⼩信息参考 function System.Dec;function System.SizeOf;function System.FreeMem例⼦ <参见StrNew>━━━━━━━━━━━━━━━━━━━━━⾸部 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)]);━━━━━━━━━━━━━━━━━━━━━⾸部 procedure FmtStr(var Result: string; const Format: string; const Args:array of const); $[SysUtils.pas功能按指定⽅式格式化⼀个数组常量的字符形式返回说明 <参见Format>参考 function SysUtils.FormatBuf;function System.Length;functionSystem.SetLength例⼦ <参见Format>━━━━━━━━━━━━━━━━━━━━━⾸部 function StrFmt(Buffer, Format: PChar; const Args: array of const):PChar; $[SysUtils.pas功能返回按指定⽅式格式化⼀个数组常量的字符指针形式说明如果Buffer和Format其中只要有⼀个为nil则返回nil参考 function SysUtils.FormatBuf例⼦ <参见Format>━━━━━━━━━━━━━━━━━━━━━⾸部 function StrLFmt(Buffer: PChar; MaxBufLen: Cardinal; Format: PChar;const Args: array of const): PChar; $[SysUtils.pas功能返回按指定⽅式和长度格式化⼀个数组常量的字符指针形式说明 StrLFmt(vBuffer, 6, '%d|12345', [1024]) = '1024|1';参考 function SysUtils.FormatBuf例⼦ <参见Format>━━━━━━━━━━━━━━━━━━━━━⾸部 function FormatBuf(var Buffer; BufLen: Cardinal; const Format; FmtLen: Cardinal; const Args: array of const): Cardinal; $[SysUtils.pas功能返回按指定⽅式格式化⼀个数组常量到缓冲区Buffer中说明 <NULL>参考 <NULL>例⼦ <参见Format>━━━━━━━━━━━━━━━━━━━━━⾸部 function WideFormat(const Format: WideString; const Args: array ofconst): WideString; $[SysUtils.pas功能返回按指定⽅式格式化⼀个数组常量的多字节字符形式说明 <NULL>参考 procedure SysUtils.WideFmtStr例⼦ <参见Format>━━━━━━━━━━━━━━━━━━━━━⾸部 procedure WideFmtStr(var Result: WideString; const Format: WideString; const Args: array of const); $[SysUtils.pas功能按指定⽅式格式化⼀个数组常量的多字节字符形式返回说明 <NULL>参考 function SysUtils.WideFormatBuf例⼦ <参见Format>━━━━━━━━━━━━━━━━━━━━━⾸部 function WideFormatBuf(var Buffer; BufLen: Cardinal; const Format;FmtLen: Cardinal; const Args: array of const): Cardinal; $[SysUtils.pas 功能返回按指定⽅式格式化⼀个数组常量到缓冲区Buffer中说明 <NULL>参考 <NULL>例⼦ <参见Format>━━━━━━━━━━━━━━━━━━━━━⾸部 function FloatToStr(Value: Extended): string; $[SysUtils.pas功能返回浮点数Value转换成字符串说明当浮点数⼤等于1E15将采⽤科学记数法参考 function SysUtils.FloatToText例⼦ Edit1.Text := FloatToStr(Now);━━━━━━━━━━━━━━━━━━━━━⾸部 function CurrToStr(Value: Currency): string; $[SysUtils.pas功能返回货币数Value转换成字符串说明货币数只保留四位⼩数参考 function SysUtils.FloatToText例⼦ Edit1.Text := CurrToStr(Now);━━━━━━━━━━━━━━━━━━━━━⾸部 function FloatToCurr(const Value: Extended): Currency; $[SysUtils.pas 功能返回浮点数Value转换成货币数说明如果浮点数Value超出范围则将触发异常参考 const SysUtiles.MinCurrency;const SysUtiles.MaxCurrency例⼦ Edit1.Text := CurrToStr(FloatToCurr(Now));━━━━━━━━━━━━━━━━━━━━━⾸部 function FloatToStrF(Value: Extended; Format: TFloatFormat; Precision, Digits: Integer): string; $[SysUtils.pas功能返回浮点数以指定格式转换成字符串说明 Precision指定精度;Digits指定⼩数宽度参考 function SysUtils.FloatToText例⼦///////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 FloatToStrF━━━━━━━━━━━━━━━━━━━━━⾸部 function CurrToStrF(Value: Currency; Format: TFloatFormat; Digits: Integer): string; $[SysUtils.pas功能返回货币类型以指定格式转换成字符串说明 Digits指定⼩数宽度参考 function SysUtils.FloatToText例⼦///////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 CurrToStrF━━━━━━━━━━━━━━━━━━━━━⾸部 function FloatToText(BufferArg: PChar; const Value; ValueType:TFloatValue; Format: TFloatFormat; Precision, Digits: Integer): Integer;$[SysUtils.pas功能返回浮点数以指定格式转换成指针字符串的内存⼤⼩说明 Precision指定精度;Digits指定⼩数宽度参考 <NULL>例⼦///////Begin FloatToTextprocedure TForm1.Button1Click(Sender: TObject);varvBuffer: array[0..255] of Char;E: Extended;beginE := StrToFloatDef(Edit1.Text, 0);SpinEdit3.Value := FloatToText(vBuffer, E,fvExtended, ffNumber, SpinEdit1.Value, SpinEdit2.Value);Edit2.Text := Copy(vBuffer, 1, SpinEdit3.Value);end;///////End FloatToText(━━━━━━━━━━━━━━━━━━━━━⾸部 function FormatFloat(const Format: string; Value: Extended): string; $[SysUtils.pas功能返回浮点数类型以指定格式字符串Format转换成字符串说明 FormatFloat(',.00', 1234567890) = '1,234,567,890.00'参考 function SysUtils.FloatToTextFmt例⼦ Edit1.Text := FormatFloat(Edit2.Text, StrToFloatDef(Edit3.Text, 0));━━━━━━━━━━━━━━━━━━━━━⾸部 function FormatCurr(const Format: string; Value: Currency): string; $[SysUtils.pas功能返回货币类型以指定格式字符串Format转换成字符串说明 FormatCurr(',.00', 1234567890) = '1,234,567,890.00'参考 function SysUtils.FloatToTextFmt例⼦ Edit1.Text := FormatCurr(Edit2.Text, StrToCurrDef(Edit3.Text, 0));━━━━━━━━━━━━━━━━━━━━━⾸部 function FloatToTextFmt(Buf: PChar; const Value; ValueType:TFloatValue; Format: PChar): Integer; $[SysUtils.pas功能返回浮点数以指定格式字符串Format转换成指针字符串的内存⼤⼩说明 ValueType指定⽆类型参数Value的类型参考 <NULL>例⼦///////Begin FloatToTextFmtprocedure TForm1.Button1Click(Sender: TObject);varvBuffer: array[0..255] of Char;E: Extended;beginE := StrToFloatDef(Edit1.Text, 0);SpinEdit1.Value := FloatToTextFmt(vBuffer, E,fvExtended, PChar(Edit2.Text));Edit3.Text := Copy(vBuffer, 1, SpinEdit1.Value);end;///////End FloatToTextFmt━━━━━━━━━━━━━━━━━━━━━⾸部 function StrToFloat(const S: string): Extended; $[SysUtils.pas功能返回字符串S转换成浮点数说明字符串⾮浮点数表达时将引起异常参考 function SysUtils.TextToFloat例⼦ var E: Extended; begin E := StrToFloat(Edit1.Text); end;━━━━━━━━━━━━━━━━━━━━━⾸部 function StrToFloatDef(const S: string; const Default: Extended): Extended; $[SysUtils.pas功能返回字符串S转换成浮点数说明字符串⾮浮点数表达时则返回默认值Default参考 function SysUtils.TextToFloat例⼦ var E: Extended; begin E := StrToFloatDef(Edit1.Text, 0); end;━━━━━━━━━━━━━━━━━━━━━⾸部 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将输出为不确定的值参考 function SysUtils.TextToFloat例⼦///////Begin TryStrToFloatprocedure TForm1.Button1Click(Sender: TObject);varE: Extended;beginCheckBox1.Checked := TryStrToFloat(Edit1.Text, E);Edit2.Text := FormatFloat('', E);end;///////End TryStrToFloat━━━━━━━━━━━━━━━━━━━━━⾸部 function StrToCurr(const S: string): Currency; $[SysUtils.pas功能返回字符串S转换成货币数说明字符串⾮货币数表达时将引起异常参考 function SysUtils.TextToFloat例⼦ var C: Currency; begin C := StrToCurr(Edit1.Text); end;━━━━━━━━━━━━━━━━━━━━━⾸部 function StrToCurrDef(const S: string; const Default: Currency):Currency; $[SysUtils.pas功能返回字符串S转换成货币数说明字符串⾮货币数表达时则返回默认值Default参考 function SysUtils.TextToFloat例⼦ var C: Currency; begin C := StrToCurrDef(Edit1.Text, 0); end;━━━━━━━━━━━━━━━━━━━━━⾸部 function TryStrToCurr(const S: string; out Value: Currency): Boolean;$[SysUtils.pas功能返回字符串S转换成货币数Value是否成功说明字符串⾮货币数表达时返回False并且Value将输出为不确定的值参考 function SysUtils.TextToFloat例⼦///////Begin TryStrToCurrprocedure TForm1.Button1Click(Sender: TObject);varC: Currency;beginCheckBox1.Checked := TryStrToCurr(Edit1.Text, C);Edit2.Text := FormatCurr('', C);end;///////End TryStrToCurr━━━━━━━━━━━━━━━━━━━━━⾸部 function TextToFloat(Buffer: PChar; var Value; ValueType: TFloatValue): Boolean; $[SysUtils.pas功能返回将指针字符串Buffer转换成⽆类型变量Value说明 ValueType指定⽆类型参数Value的类型参考 <NULL>例⼦///////Begin TextToFloatprocedure TForm1.Button1Click(Sender: TObject);varE: Extended;beginCheckBox1.Checked := TextToFloat(PChar(Edit1.Text), E,fvExtended);Edit2.Text := FormatFloat('', E);end;///////End TextToFloat━━━━━━━━━━━━━━━━━━━━━⾸部 function DateToStr(const DateTime: TDateTime): string; $[SysUtils.pas 功能返回⽇期DateTime转换成字符串说明转换格式由系统变量ShortDateFormat控制参考 function SysUtils.DateTimeToString;var SysUtils.ShortDateFormat例⼦ Edit1.Text := DateToStr(Date);━━━━━━━━━━━━━━━━━━━━━⾸部 function TimeToStr(const DateTime: TDateTime): string; $[SysUtils.pas 功能返回时间DateTime转换成字符串说明转换格式由系统变量LongTimeFormat控制参考 function SysUtils.DateTimeToString;var SysUtils.LongTimeFormat例⼦ Edit1.Text := TimeToStr(Date);━━━━━━━━━━━━━━━━━━━━━⾸部 function DateTimeToStr(const DateTime: TDateTime): string;$[SysUtils.pas功能返回⽇期时间DateTime转换成字符串说明转换格式由系统变量ShortDateFormat和LongTimeFormat控制参考 function SysUtils.DateTimeToString例⼦ Edit1.Text := DateTimeToStr(Now);━━━━━━━━━━━━━━━━━━━━━⾸部 function StrToDate(const S: string): TDateTime; $[SysUtils.pas功能返回字符串S转换成⽇期说明字符⾮⽇期表达时将引起异常参考 function SysUtils.TryStrToDate例⼦ DateTimePicker1.Date := StrToDate(Edit1.Text);━━━━━━━━━━━━━━━━━━━━━⾸部 function StrToDateDef(const S: string; const Default: TDateTime):TDateTime; $[SysUtils.pas功能返回字符串S转换成⽇期说明字符⾮⽇期表达时则返回默认值Default参考 function SysUtils.TryStrToDate例⼦ DateTimePicker1.Date := StrToDateDef(Edit1.Text, Date);━━━━━━━━━━━━━━━━━━━━━⾸部 function TryStrToDate(const S: string; out Value: TDateTime): Boolean; $[SysUtils.pas功能返回字符串S转换成⽇期Value是否成功说明字符⾮⽇期表达时返回False并且Value将输出为0参考 <NULL>例⼦///////Begin TryStrToDateprocedure TForm1.Button1Click(Sender: TObject);varvDateTime: TDateTime;beginCheckBox1.Checked := TryStrToDate(Edit1.Text, vDateTime);DateTimePicker1.Date := vDateTime;end;///////End TryStrToDate━━━━━━━━━━━━━━━━━━━━━⾸部 function StrToTime(const S: string): TDateTime; $[SysUtils.pas功能返回字符串S转换成时间说明字符⾮时间表达时将引起异常参考 function SysUtils.TryStrToTime例⼦ DateTimePicker1.Time := StrToTime(Edit1.Text);━━━━━━━━━━━━━━━━━━━━━⾸部 function StrToTimeDef(const S: string; const Default: TDateTime):TDateTime; $[SysUtils.pas功能返回字符串S转换成时间说明字符⾮时间表达时则返回默认值Default参考 function SysUtils.TryStrToTime例⼦ DateTimePicker1.Time := StrToTimeDef(Edit1.Text, Time);━━━━━━━━━━━━━━━━━━━━━⾸部 function TryStrToTime(const S: string; out Value: TDateTime): Boolean; $[SysUtils.pas功能返回字符串S转换成时间Value是否成功说明字符⾮时间表达时返回False并且Value将输出为0参考 <NULL>例⼦///////Begin TryStrToTimeprocedure TForm1.Button1Click(Sender: TObject);varvDateTime: TDateTime;beginCheckBox1.Checked := TryStrToTime(Edit1.Text, vDateTime);DateTimePicker1.Time := vDateTime;end;///////End TryStrToTime━━━━━━━━━━━━━━━━━━━━━⾸部 function StrToDateTime(const S: string): TDateTime; $[SysUtils.pas 功能返回字符串S转换成⽇期时间说明字符⾮⽇期时间表达时将引起异常参考 function SysUtils.TryStrToDateTime例⼦ Edit1.Text := DateTimeToStr(StrToDateTime(Edit2.Text));━━━━━━━━━━━━━━━━━━━━━⾸部 function StrToDateTimeDef(const S: string; const Default: TDateTime): TDateTime; $[SysUtils.pas功能返回字符串S转换成⽇期时间说明字符⾮⽇期时间表达时则返回默认值Default参考 function SysUtils.TryStrToDateTime例⼦ Edit1.Text := DateTimeToStr(StrToDateTimeDef(Edit2.Text, Now));━━━━━━━━━━━━━━━━━━━━━⾸部 function TryStrToDateTime(const S: string; out Value: TDateTime):Boolean; $[SysUtils.pas功能返回字符串S转换成⽇期时间Value是否成功说明字符⾮⽇期时间表达时返回False并且Value将输出为0参考 <NULL>例⼦///////Begin TryStrToDateTimeprocedure TForm1.Button1Click(Sender: TObject);varvDateTime: TDateTime;beginCheckBox1.Checked := TryStrToDateTime(Edit1.Text, vDateTime);Edit2.Text := DateTimeToStr(vDateTime);end;///////End TryStrToDateTime⾸部 procedure DateTimeToString(var Result: string; const Format: string;DateTime: TDateTime); $[SysUtils.pas功能⽤指定的格式Format来格式化⽇期时间DateTime并返回到字符串Result中说明 <参见FormatDateTime>参考 function System.SetString例⼦ <参见FormatDateTime>━━━━━━━━━━━━━━━━━━━━━⾸部 function GetLocaleStr(Locale, LocaleType: Integer; const Default:string): string; platform; $[SysUtils.pas功能返回当前系统指定参数的字符串值说明 GetLocaleStr(GetThreadLocale, LOCALE_SLANGUAGE, '') = '中⽂(中国)'参考 function Windows.GetLocaleInfo例⼦ Edit1.Text := GetLocaleStr(GetThreadLocale, SpinEdit1.Value, '<NULL>');━━━━━━━━━━━━━━━━━━━━━⾸部 function GetLocaleChar(Locale, LocaleType: Integer; Default: Char):Char; platform; $[SysUtils.pas功能返回当前系统指定参数的字符值说明 GetLocaleChar(GetThreadLocale, LOCALE_STHOUSAND, #0) = ','参考 function Windows.GetLocaleInfo例⼦ Edit1.Text := GetLocaleChar(GetThreadLocale, LOCALE_SLANGUAGE, #0);━━━━━━━━━━━━━━━━━━━━━⾸部 function ByteType(const S: string; Index: Integer): TMbcsByteType;$[SysUtils.pas功能返回字符串S位置Index上的字符在MBCS中类型说明多字节字符系统:Multi-Byte Character System (MBCS)参考 var SysUtils.SysLocale例⼦ SpinEdit1.Value := Ord(ByteType(Edit1.Text, SpinEdit2.Value));━━━━━━━━━━━━━━━━━━━━━⾸部 function StrByteType(Str: PChar; Index: Cardinal): TMbcsByteType;$[SysUtils.pas功能返回指针字符串Str位置Index上的字符在MBCS中类型说明 Index从0开始参考 var SysUtils.SysLocale例⼦ SpinEdit1.Value := Ord(StrByteType(PChar(Edit1.Text),SpinEdit2.Value));━━━━━━━━━━━━━━━━━━━━━⾸部 function ByteToCharLen(const S: string; MaxLen: Integer): Integer;$[SysUtils.pas功能返回字符串S中有多少个多字节字符说明 MaxLen指定处理字符个数参考 function SysUtils.ByteToCharIndex例⼦ SpinEdit1.Value := ByteToCharLen(Edit1.Text, SpinEdit2.Value);━━━━━━━━━━━━━━━━━━━━━⾸部 function CharToByteLen(const S: string; MaxLen: Integer): Integer;$[SysUtils.pas功能返回字符串S中有多少个字符说明 MaxLen指定处理多字节字符个数参考 var SysUtils.SysLocale例⼦ SpinEdit1.Value := CharToByteLen(Edit1.Text, SpinEdit2.Value);━━━━━━━━━━━━━━━━━━━━━⾸部 function ByteToCharIndex(const S: string; Index: Integer): Integer;$[SysUtils.pas功能返回字符位置对应的多字节字符位置说明 ByteToCharIndex('你好', 2) = 1;ByteToCharIndex('你好', 3) = 2参考 function SysUtils.NextCharIndex例⼦ SpinEdit1.Value := ByteToCharIndex(Edit1.Text, SpinEdit2.Value);。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
【字符串函数大全】首部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 AValues: array of string): Boolean; $[StrUtils.pas功能返回字符串数组AValues中是否包含字符串AText说明不区分大小写参考function StrUtils.AnsiIndexText例子CheckBox1.Checked := AnsiMatchText(Edit1.Text, ['a1', 'a2', 'a3', 'a4']);━━━━━━━━━━━━━━━━━━━━━首部function AnsiIndexText(const AText: string; const AValues: array of string): Integer; $[StrUtils.pas功能返回字符串AText在字符串数组AValues中的位置说明不区分大小写;如果不包含则返回-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 AValues: array of string): Boolean; $[StrUtils.pas功能返回字符串数组AValues中是否包含字符串AText说明区分大小写参考function StrUtils.AnsiIndexStr例子CheckBox1.Checked := AnsiMatchStr(Edit1.Text, ['a1', 'a2', 'a3','a4']);━━━━━━━━━━━━━━━━━━━━━首部function AnsiIndexStr(const AText: string; const AValues: array of string): Integer; $[StrUtils.pas功能返回字符串AText在字符串数组AValues中的位置说明区分大小写参考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 AValues: array of string): string; overload; $[StrUtils.pas功能随机返回字符串数组AValues中的一个元素说明之前建议执行Randomize参考function System.Random例子Randomize; Edit3.Text := RandomFrom(['a1', 'a2', 'a3', 'a4']);━━━━━━━━━━━━━━━━━━━━━首部function IfThen(AValue: Boolean; const ATrue: string; AFalse: string =''): string; overload; $[StrUtils.pas功能返回指定的逻辑字符串说明IfThen(True, '是', '否') = '是';IfThen(False, '是', '否') = '否'参考<NULL>例子Edit3.Text := IfThen(CheckBox1.Checked, Edit1.Text, Edit2.Text);━━━━━━━━━━━━━━━━━━━━━首部function LeftStr(const AText: string; const ACount: Integer): string; $[StrUtils.pas功能返回字符串AText左边的ACount个字符说明LeftStr('123456', 3) = '123'参考function System.Copy例子Edit3.Text := LeftStr(Edit1.Text, SpinEdit1.Value);━━━━━━━━━━━━━━━━━━━━━首部function RightStr(const AText: string; const ACount: Integer): string; $[StrUtils.pas功能返回字符串AText右边的ACount个字符说明RightStr('123456', 3) = '456'参考function System.Copy例子Edit3.Text := RightStr(Edit1.Text, SpinEdit1.Value);━━━━━━━━━━━━━━━━━━━━━首部function MidStr(const AText: string; const AStart, ACount: Integer): string; $[StrUtils.pas功能返回字符串AText从AStart开始的ACount个字符说明其实就是Copy参考function System.Copy例子Edit3.Text := MidStr(Edit1.Text, SpinEdit1.Value, SpinEdit2.Value);━━━━━━━━━━━━━━━━━━━━━首部function 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(AValue: 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(AValue: 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);varI: Integer;beginCheckBox1.Checked := TryStrToInt(Edit1.Text, I);SpinEdit1.Value := I;end;///////End TryStrToInt━━━━━━━━━━━━━━━━━━━━━首部function StrToInt64(const S: string): Int64; $[SysUtils.pas功能返回字符串S转换成六十四位整数说明字符串非六十四位整数表达时将引起异常参考procedure System.Val例子SpinEdit1.Value := StrToInt64(Edit1.Text);━━━━━━━━━━━━━━━━━━━━━首部function StrToInt64Def(const S: string; const Default: Int64): Int64; $[SysUtils.pas功能返回字符串S转换成六十四位整数说明字符串非六十四位整数表达时则返回默认值Default参考procedure System.Val例子SpinEdit1.Value := StrToInt64Def(Edit1.Text, 0);━━━━━━━━━━━━━━━━━━━━━首部function TryStrToInt64(const S: string; out Value: Int64): Boolean; $[SysUtils.pas功能返回字符串S转换成六十四位整数Value是否成功说明字符串非六十四位整数表达时返回False并且Value将输出为0参考procedure System.Val例子///////Begin TryStrToInt64procedure TForm1.Button1Click(Sender: TObject);varI: Int64;beginCheckBox1.Checked := TryStrToInt64(Edit1.Text, I);SpinEdit1.Value := I;end;///////End TryStrToInt64━━━━━━━━━━━━━━━━━━━━━首部function StrToBool(const S: string): Boolean; $[SysUtils.pas功能返回字符串S转换成逻辑值说明字符非逻辑表达时将引起异常参考function SysUtils.TryStrToBool例子CheckBox1.Checked := StrToBool(Edit1.Text);━━━━━━━━━━━━━━━━━━━━━首部function StrToBoolDef(const S: string; const Default: Boolean): Boolean; $[SysUtils.pas功能返回字符串S转换成逻辑值说明字符非逻辑表达时则返回默认值Default参考function SysUtils.TryStrToBool例子CheckBox1.Checked := StrToBoolDef(Edit1.Text, False);━━━━━━━━━━━━━━━━━━━━━首部function TryStrToBool(const S: string; out Value: Boolean): Boolean; $[SysUtils.pas功能返回字符串S转换成逻辑值Value是否成功说明[注意]0为假非0为真;不是'True'和'False';Delphi6 Bug 如下修正参考function SysUtils.AnsiSameText;var SysUtils.TrueBoolStrs;var SysUtils.FalseBoolStrs例子///////Begin TryStrToBoolprocedure TForm1.Button1Click(Sender: TObject);varB: Boolean;beginSetLength(TrueBoolStrs, 2);SetLength(FalseBoolStrs, 2);TrueBoolStrs[0] := 'True';FalseBoolStrs[0] := 'False';TrueBoolStrs[1] := 'Yes';FalseBoolStrs[1] := 'No';CheckBox1.Checked := TryStrToBool(Edit1.Text, B);CheckBox2.Checked := B;end;///////End TryStrToBool附加///////Begin TryStrToBoolfunction TryStrToBool(const S: string; out Value: Boolean): Boolean; function CompareWith(const aArray: array of string): Boolean;varI: Integer;beginResult := False;for I := Low(aArray) to High(aArray) doif AnsiSameText(S, aArray[I]) thenbeginResult := True;Break;end;end;varLResult: Extended;beginResult := TryStrToFloat(S, LResult);if Result thenValue := LResult <> 0elsebeginResult := True; //修正处VerifyBoolStrArray;if CompareWith(TrueBoolStrs) thenValue := Trueelse 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);varvBuffer: PChar;beginvBuffer := '0123456789';StrMove(vBuffer, PChar(Edit1.Text), SpinEdit1.Value);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))。