字符串函数大全

【字符串函数大全】
首部 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 Windows.CompareString
例子 CheckBox1.Checked := AnsiStartsText(Edit1.Text, Edit2.Text);
━━━━━━━━━━━━━━━━━━━━━
首部 function AnsiEndsText(const ASubText, AText: string): Boolean;
$[StrUtils.pas
功能 返回字符串AText是否以子串ASubText结尾
说明 不区分大小写
参考 function Windows.CompareString
例子 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, '是', '否') = '否'
参考

  1<null>   
  2例子 Edit3.Text := IfThen(CheckBox1.Checked, Edit1.Text, Edit2.Text);   
  3━━━━━━━━━━━━━━━━━━━━━   
  4首部 function LeftStr(const AText: string; const ACount: Integer): string;   
  5$[StrUtils.pas   
  6功能 返回字符串AText左边的ACount个字符   
  7说明 LeftStr('123456', 3) = '123'   
  8参考 function System.Copy   
  9例子 Edit3.Text := LeftStr(Edit1.Text, SpinEdit1.Value);   
 10━━━━━━━━━━━━━━━━━━━━━   
 11首部 function RightStr(const AText: string; const ACount: Integer): string;   
 12$[StrUtils.pas   
 13功能 返回字符串AText右边的ACount个字符   
 14说明 RightStr('123456', 3) = '456'   
 15参考 function System.Copy   
 16例子 Edit3.Text := RightStr(Edit1.Text, SpinEdit1.Value);   
 17━━━━━━━━━━━━━━━━━━━━━   
 18首部 function MidStr(const AText: string; const AStart, ACount: Integer):   
 19string; $[StrUtils.pas   
 20功能 返回字符串AText从AStart开始的ACount个字符   
 21说明 其实就是Copy   
 22参考 function System.Copy   
 23例子 Edit3.Text := MidStr(Edit1.Text, SpinEdit1.Value, SpinEdit2.Value);   
 24━━━━━━━━━━━━━━━━━━━━━   
 25首部 function SearchBuf(Buf: PChar; BufLen: Integer; SelStart, SelLength:   
 26Integer; SearchString: String; Options: TStringSearchOptions = [soDown]):   
 27PChar; $[StrUtils.pas   
 28功能 返回第一个搜索到的指针位置   
 29说明 这函数常用于文本中搜索字符串   
 30参考 <null>   
 31例子   
 32///////Begin SearchBuf   
 33function SearchEdit(EditControl: TCustomEdit; const SearchString: String;   
 34SearchOptions: TStringSearchOptions; FindFirst: Boolean = False): Boolean;   
 35var   
 36Buffer, P: PChar;   
 37Size: Word;   
 38begin   
 39Result := False;   
 40if (Length(SearchString) = 0) then Exit;   
 41Size := EditControl.GetTextLen;   
 42if (Size = 0) then Exit;   
 43Buffer := StrAlloc(Size + 1);   
 44try   
 45EditControl.GetTextBuf(Buffer, Size + 1);   
 46P := SearchBuf(Buffer, Size, EditControl.SelStart, EditControl.SelLength,   
 47SearchString, SearchOptions);   
 48if P &lt;&gt; nil then begin   
 49EditControl.SelStart := P - Buffer;   
 50EditControl.SelLength := Length(SearchString);   
 51Result := True;   
 52end;   
 53finally   
 54StrDispose(Buffer);   
 55end;   
 56end; 
 57
 58procedure TForm1.Button1Click(Sender: TObject);   
 59var   
 60SearchOptions: TStringSearchOptions;   
 61begin   
 62SearchOptions := [];   
 63if CheckBox1.Checked then   
 64Include(SearchOptions, soDown);   
 65if CheckBox2.Checked then   
 66Include(SearchOptions, soMatchCase);   
 67if CheckBox3.Checked then   
 68Include(SearchOptions, soWholeWord);   
 69SearchEdit(Memo1, Edit1.Text, SearchOptions);   
 70Memo1.SetFocus;   
 71end;   
 72///////End SearchBuf   
 73━━━━━━━━━━━━━━━━━━━━━   
 74首部 function Soundex(const AText: string; ALength: TSoundexLength = 4):   
 75string; $[StrUtils.pas   
 76功能 返回探测字符串   
 77说明 根据探测法(Soundex)可以找到相进的字符串;http://www.nara.gov/genealogy/coding.html   
 78参考 <null>   
 79例子 Edit2.Text := Soundex(Edit1.Text, SpinEdit1.Value);   
 80━━━━━━━━━━━━━━━━━━━━━   
 81首部 function SoundexInt(const AText: string; ALength: TSoundexIntLength =   
 824): Integer; $[StrUtils.pas   
 83功能 返回探测整数   
 84说明 ALength的值越大解码准确率越高   
 85参考 <null>   
 86例子 SpinEdit2.Value := SoundexInt(Edit1.Text, SpinEdit1.Value);   
 87━━━━━━━━━━━━━━━━━━━━━   
 88首部 function DecodeSoundexInt(AValue: Integer): string; $[StrUtils.pas   
 89功能 返回探测整数的解码   
 90说明 DecodeSoundexInt(SoundexInt('hello')) 相当于 Soundex('hello')   
 91参考 <null>   
 92例子 Edit2.Text := DecodeSoundexInt(SpinEdit2.Value);   
 93━━━━━━━━━━━━━━━━━━━━━   
 94首部 function SoundexWord(const AText: string): Word; $[StrUtils.pas   
 95功能 返回探测文字数值   
 96说明 没有参数ALength已经固定为4   
 97参考 <null>   
 98例子 SpinEdit2.Value := SoundexWord(Edit1.Text);   
 99━━━━━━━━━━━━━━━━━━━━━   
100首部 function DecodeSoundexWord(AValue: Word): string; $[StrUtils.pas   
101功能 返回探测文字数值的解码   
102说明 DecodeSoundexWord(SoundexWord('hello')) 相当于 Soundex('hello')   
103参考 <null>   
104例子 Edit2.Text := DecodeSoundexWord(SpinEdit2.Value);   
105━━━━━━━━━━━━━━━━━━━━━   
106首部 function SoundexSimilar(const AText, AOther: string; ALength:   
107TSoundexLength = 4): Boolean; $[StrUtils.pas   
108功能 返回两个字符串的探测字符串是否相同   
109说明 Result := Soundex(AText, ALength) = Soundex(AOther, ALength)   
110参考 <null>   
111例子 CheckBox1.Checked := SoundexSimilar(Edit1.Text, Edit2.Text,   
112SpinEdit1.Value);   
113━━━━━━━━━━━━━━━━━━━━━   
114首部 function SoundexCompare(const AText, AOther: string; ALength:   
115TSoundexLength = 4): Integer; $[StrUtils.pas   
116功能 返回比较两个字符串的探测字符串的结果   
117说明 Result := AnsiCompareStr(Soundex(AText, ALength), Soundex(AOther,   
118ALength))   
119参考 function SysUtils.AnsiCompareStr   
120例子 SpinEdit2.Value := SoundexCompare(Edit1.Text, Edit2.Text,   
121SpinEdit1.Value);   
122━━━━━━━━━━━━━━━━━━━━━   
123首部 function SoundexProc(const AText, AOther: string): Boolean;   
124$[StrUtils.pas   
125功能 调用SoundexSimilar返回两个字符串的探测字符串是否相同   
126说明 系统变量AnsiResemblesProc的默认值   
127参考 function StrUtils.AnsiResemblesText   
128例子 [var AnsiResemblesProc: TCompareTextProc = SoundexProc;]   
129━━━━━━━━━━━━━━━━━━━━━   
130首部 function NewStr(const S: string): PString; deprecated; $[SysUtils.pas   
131功能 返回一个新的字符串指针地址   
132说明 字符串S为空时返回NullStr   
133参考 procedure System.New   
134例子   
135////////Begin NewStr,DisposeStr   
136procedure TForm1.Button1Click(Sender: TObject);   
137var   
138P: PString;   
139begin   
140P := NewStr(Edit1.Text);   
141Edit2.Text := P^;   
142DisposeStr(P);   
143end;   
144////////End NewStr,DisposeStr   
145━━━━━━━━━━━━━━━━━━━━━   
146首部 procedure DisposeStr(P: PString); deprecated; $[SysUtils.pas   
147功能 释放字符串指针P资源   
148说明 配合函数NewStr使用   
149参考 procedure System.Dispose   
150例子 &lt;如上参见,如下参见&gt;   
151━━━━━━━━━━━━━━━━━━━━━   
152首部 procedure AssignStr(var P: PString; const S: string); deprecated;   
153$[SysUtils.pas   
154功能 将字符串S更新给字符串指针P   
155说明 更新值时会释放以前字符串指针的资源   
156参考 function SysUtils.NewStr;function SysUtils.DisposeStr   
157例子   
158////////Begin AssignStr   
159procedure TForm1.Button1Click(Sender: TObject);   
160var   
161P: PString;   
162begin   
163P := nil;   
164AssignStr(P, Edit1.Text);   
165Edit2.Text := P^;   
166DisposeStr(P);   
167end;   
168////////End AssignStr   
169━━━━━━━━━━━━━━━━━━━━━   
170首部 procedure AppendStr(var Dest: string; const S: string); deprecated;   
171$[SysUtils.pas   
172功能 在字符串Dest后追加字符串S   
173说明 相当于Dest := Dest + S;Delphi6已经不建议使用   
174参考 <null>   
175例子   
176////////Begin AppendStr   
177procedure TForm1.Button1Click(Sender: TObject);   
178var   
179S: string;   
180begin   
181S := Edit2.Text;   
182AppendStr(S, Edit1.Text);   
183Edit2.Text := S;   
184end;   
185////////End AppendStr   
186━━━━━━━━━━━━━━━━━━━━━   
187首部 function UpperCase(const S: string): string; $[SysUtils.pas   
188功能 返回字符串S的大写形式   
189说明 非小写字符不处理   
190参考 procedure System.SetLength   
191例子 Edit2.Text := UpperCase(Edit1.Text);   
192━━━━━━━━━━━━━━━━━━━━━   
193首部 function LowerCase(const S: string): string; $[SysUtils.pas   
194功能 返回字符串S的小写形式   
195说明 非大写字符不处理   
196参考 procedure System.SetLength   
197例子 Edit2.Text := LowerCase(Edit1.Text);   
198━━━━━━━━━━━━━━━━━━━━━   
199首部 function CompareStr(const S1, S2: string): Integer; $[SysUtils.pas   
200功能 返回比较两个字符   
201说明 当S1&gt;S2返回值&gt;0;当S1<s2返回值<0;当s1=s2返回值=0;区分大小写 <null="" 参考="">   
202例子 SpinEdit1.Value := CompareStr(Edit1.Text, Edit2.Text);   
203━━━━━━━━━━━━━━━━━━━━━   
204首部 function CompareMem(P1, P2: Pointer; Length: Integer): Boolean;   
205assembler; $[SysUtils.pas   
206功能 返回比较两个内存指针   
207说明 CompareMem(PChar('12a'), PChar('12c'), 2)=True;CompareMem(PChar('12a'),   
208PChar('12c'), 3)=False   
209参考 <null>   
210例子 CheckBox1.Checked := CompareMem(Self, Form1, 8);   
211━━━━━━━━━━━━━━━━━━━━━   
212首部 function CompareText(const S1, S2: string): Integer; $[SysUtils.pas   
213功能 返回比较两个字符串   
214说明 不区分大小写   
215参考 <null>   
216例子 SpinEdit1.Value := CompareText(Edit1.Text, Edit2.Text);   
217━━━━━━━━━━━━━━━━━━━━━   
218首部 function SameText(const S1, S2: string): Boolean; $[SysUtils.pas   
219功能 返回两个字符串是否相等   
220说明 不区分大小写   
221参考 <null>   
222例子 CheckBox1.Checked := SameText(Edit1.Text, Edit2.Text);   
223━━━━━━━━━━━━━━━━━━━━━   
224首部 function AnsiUpperCase(const S: string): string; $[SysUtils.pas   
225功能 返回字符串S的大写形式   
226说明 ANSI(American National Standards Institute)美国国家标准协会;非小写的字符不变   
227参考 function Windows.CharUpperBuff   
228例子 Edit2.Text := AnsiUpperCase(Edit1.Text);   
229━━━━━━━━━━━━━━━━━━━━━   
230首部 function AnsiLowerCase(const S: string): string; $[SysUtils.pas   
231功能 返回字符串S的小写形式   
232说明 非大写字符不处理   
233参考 function Windows.CharLowerBuff   
234例子 Edit2.Text := AnsiLowerCase(Edit1.Text);   
235━━━━━━━━━━━━━━━━━━━━━   
236首部 function AnsiCompareStr(const S1, S2: string): Integer; $[SysUtils.pas   
237功能 反回比较两个字符串   
238说明 当S1&gt;S2返回值&gt;0;当S1<s2返回值<0;当s1=s2返回值=0;区分大小写 $[sysutils.pas="" :="AnsiSameStr(Edit1.Text," ansicomparetext(const="" ansisamestr(const="" boolean;="" checkbox1.checked="" edit2.text);="" function="" integer;="" s1,="" s2:="" spinedit1.value="" string):="" sysutils.ansicomparestr="" windows.comparestring="" ━━━━━━━━━━━━━━━━━━━━━="" 例子="" 功能="" 区分大小写="" 参考="" 反回比较两个字符串="" 当s1="" 说明="" 返回两个字符串是否相等="" 首部="">S2返回值&gt;0;当S1<s2返回值<0;当s1=s2返回值=0;不区分大小写 $[sysutils.pas="" :="AnsiSameText(Edit1.Text," ansisametext(const="" ansistrcomp(s1,="" boolean;="" checkbox1.checked="" edit2.text);="" function="" integer;="" pchar):="" s1,="" s2:="" spinedit1.value="" string):="" sysutils.ansicomparetext="" windows.comparestring="" ━━━━━━━━━━━━━━━━━━━━━="" 不区分大小写="" 例子="" 功能="" 参考="" 当s1="" 说明="" 返回两个字符串是否相等="" 返回比较两个指针字符串="" 首部="">S2返回值&gt;0;当S1<s2返回值<0;当s1=s2返回值=0;区分大小写 $[sysutils.pas="" :="AnsiStrComp(PChar(Edit1.Text)," ansistricomp(s1,="" function="" integer;="" pchar(edit2.text))="" pchar):="" s2:="" spinedit1.value="" system.comparestring="" ━━━━━━━━━━━━━━━━━━━━━="" 例子="" 功能="" 参考="" 当s1="" 说明="" 返回比较两个指针字符串="" 首部="">S2返回值&gt;0;当S1<s2返回值<0;当s1=s2返回值=0;不区分大小写;ignore(忽略) $[sysutils.pas="" :="AnsiStrIComp(PChar(Edit1.Text)," ansistrlcomp(s1,="" cardinal):="" function="" integer;="" maxlen:="" pchar(edit2.text))="" pchar;="" s2:="" spinedit1.value="" windows.comparestring="" ━━━━━━━━━━━━━━━━━━━━━="" 例子="" 功能="" 参考="" 当s1="" 说明="" 返回比较两个指针字符串指定长度="" 首部="">S2返回值&gt;0;当S1<s2返回值<0;当s1=s2返回值=0;区分大小写;length(长度) $[sysutils.pas="" :="AnsiStrLComp(PChar(Edit1.Text)," ansistrlicomp(s1,="" cardinal):="" function="" integer;="" maxlen:="" pchar(edit2.text),="" pchar;="" s2:="" spinedit1.value="" spinedit2.value)="" windows.comparestring="" ━━━━━━━━━━━━━━━━━━━━━="" 例子="" 功能="" 参考="" 当s1="" 说明="" 返回比较两个指针字符串指定长度="" 首部="">S2返回值&gt;0;当S1<s2返回值<0;当s1=s2返回值=0;不区分大小写 $[sysutils.pas="" :="WideLowerCase(Edit1.Text);" ansilastchar(const="" ansistrlastchar(p:="" ansistrlower(str:="" ansistrupper(str:="" edit2.text="" function="" integer;="" pchar(edit2.text),="" pchar):="" pchar;="" s1,="" s2:="" s:="" spinedit1.value="" spinedit2.value)="" string):="" sysutils.bytetype="" widechar双字节字符="" widecomparestr(const="" widelowercase(const="" widestring):="" widestring;="" wideuppercase(const="" windows.charlower="" windows.charlowerbuffw="" windows.charupper="" windows.charupperbuffw="" windows.comparestring="" ━━━━━━━━━━━━━━━━━━━━━="" 例子="" 功能="" 参考="" 当s1="" 当字符串p为空空指针则返回空指针="" 当字符串s为空串则返回空指针="" 我怎么就测试不出来呢="" 说明="" 返回双字节字符串的大写形式="" 返回双字节字符串的小写形式="" 返回字符串s的最后一个指针字符="" 返回指针字符串p的最后一个指针字符="" 返回指针字符串大写形式="" 返回指针字符串小写形式="" 返回比较两个双字节字符串="" 非大写字符不处理="" 非小写字符不处理="" 首部="">S2返回值&gt;0;当S1<s2返回值<0;当s1=s2返回值=0;区分大小写 $[sysutils.pas="" :="WideSameStr(Edit1.Text," boolean;="" checkbox1.checked="" edit2.text);="" function="" integer;="" s1,="" s2:="" spinedit1.value="" sysutils.widecomparestr="" widecomparetext(const="" widesamestr(const="" widestring):="" windows.comparestringw="" ━━━━━━━━━━━━━━━━━━━━━="" 例子="" 功能="" 区分大小写="" 参考="" 当s1="" 说明="" 返回两个双字节字符串是否相同="" 返回比较两个双字节字符串="" 首部="">S2返回值&gt;0;当S1<s2返回值<0;当s1=s2返回值=0;不区分大小写 #13#10'2'#13#10="" #13#10'2'#13#10;adjustlinebreaks('1'#10'2'#10)="1" $[sysutils.pas="" '"')='"hello""world"' '"');="" '@')='@hello"world@' ,="" :="AnsiDequotedStr(Edit1.Text," ;ansiquotedstr('hello"world'="" <null="" adjustlinebreaks('1'#13'2'#13)="1" adjustlinebreaks(const="" ansidequotedstr(const="" ansiextractquotedstr="" ansiextractquotedstr(var="" ansiquotedstr('hello"world',="" ansiquotedstr(const="" aquote:="" begin="" boolean;="" char):="" checkbox1.checked="" edit2.text="" edit2.text);="" edit3.text="" end="" end;="" function="" lf序列="" linux}="" mswindows}="" overload;="" p="" p:="" pchar;="" procedure="" quote:="" quotedstr(const="" s1,="" s2:="" s:="" spinedit1.value="" src:="" string):="" string;="" style:="" system.copy="" system.insert="" sysutils.ansiextractquotedstr="" sysutils.ansistrscan="" sysutils.strnextchar="" sysutils.widecomparetext="" tform1.button1click(sender:="" tlbscrlf="" tlbslf="" tobject);="" trim(const="" trimleft(const="" trimright(const="" ttextlinebreakstyle="{$IFDEF" var="" widesametext(const="" widestring):="" widestring;="" windows.comparestringw="" {$endif}="" {$endif}):="" {$ifdef="" ━━━━━━━━━━━━━━━━━━━━━="" 不区分大小写="" 例子="" 功能="" 单引号中的一个单引号将转成两个="" 参考="" 小于#32的字符看作不可见字符="" 表现形式非法时src不变否则为空="" 表现形式非法时则返回s="" 说明="" 返回两个双字节字符串是否相同="" 返回以字符aquote为引号的表现形式原形="" 返回以字符quote为引号的表现形式原形="" 返回字符串s以字符quote为引号的表现形式="" 返回字符串s在pascal中的表现形式="" 返回将给定字符串的行分隔符调整为cr="" 返回除去字符串s右边不可见字符="" 返回除去字符串s左右不可见字符="" 返回除去字符串s左边不可见字符="" 首部="">   
239━━━━━━━━━━━━━━━━━━━━━   
240首部 function IsValidIdent(const Ident: string): Boolean; $[SysUtils.pas   
241功能 返回字符串Ident是否是正确的标识符   
242说明 标识符::字母|下划线[字母|下划线|数字]...   
243参考 <null>   
244例子 CheckBox1.Checked := IsValidIdent(Edit1.Text);   
245━━━━━━━━━━━━━━━━━━━━━   
246首部 function IntToStr(Value: Integer): string; overload; $[SysUtils.pas   
247首部 function IntToStr(Value: Int64): string; overload; $[SysUtils.pas   
248功能 返回整数Value转换成字符串   
249说明 Format('%d', [Value])   
250参考 function SysUtils.FmtStr   
251例子 Edit2.Text := IntToStr(SpinEdit1.Value);   
252━━━━━━━━━━━━━━━━━━━━━   
253首部 function IntToHex(Value: Integer; Digits: Integer): string; overload;   
254$[SysUtils.pas   
255首部 function IntToHex(Value: Int64; Digits: Integer): string; overload;   
256$[SysUtils.pas   
257功能 返回整数Value转换成十六进制表现结果;Format('%.*x', [Digits, Value])   
258说明 参数Digits指定字符最小宽度;最小宽度不足时将用0填充   
259参考 function SysUtils.FmtStr   
260例子 Edit2.Text := IntToHex(SpinEdit1.Value, SpinEdit2.Value);   
261━━━━━━━━━━━━━━━━━━━━━   
262首部 function StrToInt(const S: string): Integer; $[SysUtils.pas   
263功能 返回字符串S转换成整数   
264说明 字符串非整数表达时将引起异常   
265参考 procedure System.Val   
266例子 SpinEdit1.Value := StrToInt(Edit1.Text);   
267━━━━━━━━━━━━━━━━━━━━━   
268首部 function StrToIntDef(const S: string; Default: Integer): Integer;   
269$[SysUtils.pas   
270功能 返回字符串S转换成整数   
271说明 字符串非整数表达时则返回默认值Default   
272参考 procedure System.Val   
273例子 SpinEdit1.Value := StrToIntDef(Edit1.Text, 0);   
274━━━━━━━━━━━━━━━━━━━━━   
275首部 function TryStrToInt(const S: string; out Value: Integer): Boolean;   
276$[SysUtils.pas   
277功能 返回字符串S转换成整数Value是否成功   
278说明 字符串非整数表达时返回False并且Value将输出为0   
279参考 procedure System.Val   
280例子   
281///////Begin TryStrToInt   
282procedure TForm1.Button1Click(Sender: TObject);   
283var   
284I: Integer;   
285begin   
286CheckBox1.Checked := TryStrToInt(Edit1.Text, I);   
287SpinEdit1.Value := I;   
288end;   
289///////End TryStrToInt   
290━━━━━━━━━━━━━━━━━━━━━   
291首部 function StrToInt64(const S: string): Int64; $[SysUtils.pas   
292功能 返回字符串S转换成六十四位整数   
293说明 字符串非六十四位整数表达时将引起异常   
294参考 procedure System.Val   
295例子 SpinEdit1.Value := StrToInt64(Edit1.Text);   
296━━━━━━━━━━━━━━━━━━━━━   
297首部 function StrToInt64Def(const S: string; const Default: Int64): Int64;   
298$[SysUtils.pas   
299功能 返回字符串S转换成六十四位整数   
300说明 字符串非六十四位整数表达时则返回默认值Default   
301参考 procedure System.Val   
302例子 SpinEdit1.Value := StrToInt64Def(Edit1.Text, 0);   
303━━━━━━━━━━━━━━━━━━━━━   
304首部 function TryStrToInt64(const S: string; out Value: Int64): Boolean;   
305$[SysUtils.pas   
306功能 返回字符串S转换成六十四位整数Value是否成功   
307说明 字符串非六十四位整数表达时返回False并且Value将输出为0   
308参考 procedure System.Val   
309例子   
310///////Begin TryStrToInt64   
311procedure TForm1.Button1Click(Sender: TObject);   
312var   
313I: Int64;   
314begin   
315CheckBox1.Checked := TryStrToInt64(Edit1.Text, I);   
316SpinEdit1.Value := I;   
317end;   
318///////End TryStrToInt64   
319━━━━━━━━━━━━━━━━━━━━━   
320首部 function StrToBool(const S: string): Boolean; $[SysUtils.pas   
321功能 返回字符串S转换成逻辑值   
322说明 字符非逻辑表达时将引起异常   
323参考 function SysUtils.TryStrToBool   
324例子 CheckBox1.Checked := StrToBool(Edit1.Text);   
325━━━━━━━━━━━━━━━━━━━━━   
326首部 function StrToBoolDef(const S: string; const Default: Boolean):   
327Boolean; $[SysUtils.pas   
328功能 返回字符串S转换成逻辑值   
329说明 字符非逻辑表达时则返回默认值Default   
330参考 function SysUtils.TryStrToBool   
331例子 CheckBox1.Checked := StrToBoolDef(Edit1.Text, False);   
332━━━━━━━━━━━━━━━━━━━━━   
333首部 function TryStrToBool(const S: string; out Value: Boolean): Boolean;   
334$[SysUtils.pas   
335功能 返回字符串S转换成逻辑值Value是否成功   
336说明 [注意]0为假非0为真;不是'True'和'False';Delphi6 Bug 如下修正   
337参考 function SysUtils.AnsiSameText;var SysUtils.TrueBoolStrs;var   
338SysUtils.FalseBoolStrs   
339例子   
340///////Begin TryStrToBool   
341procedure TForm1.Button1Click(Sender: TObject);   
342var   
343B: Boolean;   
344begin   
345SetLength(TrueBoolStrs, 2);   
346SetLength(FalseBoolStrs, 2);   
347TrueBoolStrs[0] := 'True';   
348FalseBoolStrs[0] := 'False';   
349TrueBoolStrs[1] := 'Yes';   
350FalseBoolStrs[1] := 'No';   
351CheckBox1.Checked := TryStrToBool(Edit1.Text, B);   
352CheckBox2.Checked := B;   
353end;   
354///////End TryStrToBool   
355附加   
356///////Begin TryStrToBool   
357function TryStrToBool(const S: string; out Value: Boolean): Boolean;   
358function CompareWith(const aArray: array of string): Boolean;   
359var   
360I: Integer;   
361begin   
362Result := False;   
363for I := Low(aArray) to High(aArray) do   
364if AnsiSameText(S, aArray[I]) then   
365begin   
366Result := True;   
367Break;   
368end;   
369end;   
370var   
371LResult: Extended;   
372begin   
373Result := TryStrToFloat(S, LResult);   
374if Result then   
375Value := LResult &lt;&gt; 0   
376else   
377begin   
378Result := True; //修正处   
379VerifyBoolStrArray;   
380if CompareWith(TrueBoolStrs) then   
381Value := True   
382else if CompareWith(FalseBoolStrs) then   
383Value := False   
384else   
385Result := False;   
386end;   
387end;   
388///////End TryStrToBool   
389━━━━━━━━━━━━━━━━━━━━━   
390首部 function BoolToStr(B: Boolean; UseBoolStrs: Boolean = False): string;   
391$[SysUtils.pas   
392功能 返回逻辑值B转换成字符串   
393说明 BoolToStr(False, False)='0';BoolToStr(False, True)='-1'   
394参考 var SysUtils.TrueBoolStrs;var SysUtils.FalseBoolStrs   
395例子 Edit1.Text := BoolToStr(CheckBox1.Checked, CheckBox2.Checked);   
396━━━━━━━━━━━━━━━━━━━━━   
397首部 function LoadStr(Ident: Integer): string; $[SysUtils.pas   
398功能 返回根据标识Ident的字符串资源   
399说明 字符串资源是指程序的内部资源   
400参考 function SysUtils.FindStringResource   
401例子 Edit2.Text := LoadStr(StrToIntDef(Edit1.Text, 0));   
402━━━━━━━━━━━━━━━━━━━━━   
403首部 function FmtLoadStr(Ident: Integer; const Args: array of const):   
404string; $[SysUtils.pas   
405功能 返回格式化的字符串资源   
406说明 字符串资源是指程序的内部资源   
407参考 function SysUtils.FmtStr;function SysUtils.FindStringResource   
408例子 <null>;   
409━━━━━━━━━━━━━━━━━━━━━   
410首部 function StrLen(const Str: PChar): Cardinal; $[SysUtils.pas   
411功能 返回指针字符串的长度   
412说明 当指针字符串Str为nil时将触发异常   
413参考 <null>   
414例子 SpinEdit2.Value := StrLen(PChar(Edit1.Text));   
415━━━━━━━━━━━━━━━━━━━━━   
416首部 function StrEnd(const Str: PChar): PChar; $[SysUtils.pas   
417功能 返回指针字符串的结尾   
418说明 当指针字符串Str为nil时将触发异常   
419参考 <null>   
420例子 Edit2.Text := StrEnd(PChar(Edit1.Text)) - SpinEdit1.Value;   
421━━━━━━━━━━━━━━━━━━━━━   
422首部 function StrMove(Dest: PChar; const Source: PChar; Count: Cardinal):   
423PChar; $[SysUtils.pas   
424功能 返回将指针字符串Source指定内存数量Count复制覆盖到指针字符串Dest中   
425说明 Dest没有分配资源将触发异常s   
426参考 function System.Move   
427例子   
428///////Begin StrMove   
429procedure TForm1.Button1Click(Sender: TObject);   
430var   
431vBuffer: PChar;   
432begin   
433vBuffer := '0123456789';   
434StrMove(vBuffer, PChar(Edit1.Text), SpinEdit1.Value);   
435Edit2.Text := vBuffer;   
436end;   
437///////End StrMove   
438━━━━━━━━━━━━━━━━━━━━━   
439首部 function StrCopy(Dest: PChar; const Source: PChar): PChar;   
440$[SysUtils.pas   
441功能 返回将指针字符串Source复制到指针字符串Dest中   
442说明 Dest应已经分配足够的空间非则将触发异常   
443参考 <null>   
444例子   
445///////Begin StrCopy   
446procedure TForm1.Button1Click(Sender: TObject);   
447var   
448vBuffer: PChar;   
449begin   
450GetMem(vBuffer, Length(Edit1.Text) + 1);   
451StrCopy(vBuffer, PChar(Edit1.Text));   
452Edit2.Text := vBuffer;   
453FreeMem(vBuffer);   
454end;   
455///////End StrCopy   
456━━━━━━━━━━━━━━━━━━━━━   
457首部 function StrECopy(Dest:PChar; const Source: PChar): PChar;   
458$[SysUtils.pas   
459功能 返回将指针字符串Source复制到指针字符串Dest中的结尾   
460说明 可以连接指针字符串   
461参考 <null>   
462例子   
463///////Begin StrECopy   
464procedure TForm1.Button1Click(Sender: TObject);   
465var   
466vBuffer: array[0..255] of Char;   
467begin   
468StrECopy(StrECopy(vBuffer, PChar(Edit1.Text)), PChar(Edit2.Text));   
469Edit3.Text := vBuffer;   
470end;   
471///////End StrECopy   
472━━━━━━━━━━━━━━━━━━━━━   
473首部 function StrLCopy(Dest: PChar; const Source: PChar; MaxLen: Cardinal):   
474PChar; $[SysUtils.pas   
475功能 返回将指针字符串Source指定长度MaxLen复制到指针字符串Dest中   
476说明 Dest应已经分配足够的空间非则将触发异常   
477参考 <null>   
478例子   
479///////Begin StrLCopy   
480procedure TForm1.Button1Click(Sender: TObject);   
481var   
482vBuffer: array[0..255] of Char;   
483begin   
484StrLCopy(vBuffer, PChar(Edit1.Text), SpinEdit1.Value);   
485Edit2.Text := vBuffer;   
486end;   
487///////End StrLCopy   
488━━━━━━━━━━━━━━━━━━━━━   
489首部 function StrPCopy(Dest: PChar; const Source: string): PChar;   
490$[SysUtils.pas   
491功能 返回将指针字符串Source复制到指针字符串Dest中   
492说明 StrLCopy(Dest, PChar(Source), Length(Source))   
493参考 function SysUtils.StrLCopy   
494例子   
495///////Begin StrPCopy   
496procedure TForm1.Button1Click(Sender: TObject);   
497var   
498vBuffer: array[0..255] of Char;   
499begin   
500StrPCopy(vBuffer, PChar(Edit1.Text));   
501Edit2.Text := vBuffer;   
502end;   
503///////End StrPCopy   
504━━━━━━━━━━━━━━━━━━━━━   
505首部 function StrPLCopy(Dest: PChar; const Source: string; MaxLen:   
506Cardinal): PChar; $[SysUtils.pas   
507功能 返回将字符串Source指定长度MaxLen复制到指针字符串Dest中   
508说明 StrLCopy(Dest, PChar(Source), MaxLen)   
509参考 function SysUtils.StrLCopy   
510例子   
511///////Begin StrPLCopy   
512procedure TForm1.Button1Click(Sender: TObject);   
513var   
514vBuffer: array[0..255] of Char;   
515begin   
516StrPLCopy(vBuffer, Edit1.Text, SpinEdit1.Value);   
517Edit2.Text := vBuffer;   
518end;   
519///////End StrPLCopy   
520━━━━━━━━━━━━━━━━━━━━━   
521首部 function StrCat(Dest: PChar; const Source: PChar): PChar;   
522$[SysUtils.pas   
523功能 返回连接指针字符串Dest和指针字符串Source   
524说明 StrCopy(StrEnd(Dest), Source)   
525参考 function SysUntils.StrCopy   
526例子   
527///////Begin StrCat   
528procedure TForm1.Button1Click(Sender: TObject);   
529var   
530vBuffer: array[0..255] of Char;   
531begin   
532StrPCopy(vBuffer, Edit1.Text);   
533StrCat(vBuffer, PChar(Edit2.Text));   
534Edit3.Text := vBuffer;   
535end;   
536///////End StrCat   
537━━━━━━━━━━━━━━━</null></null></null></null></null></null></null></s2返回值<0;当s1=s2返回值=0;不区分大小写></s2返回值<0;当s1=s2返回值=0;区分大小写></s2返回值<0;当s1=s2返回值=0;不区分大小写></s2返回值<0;当s1=s2返回值=0;区分大小写;length(长度)></s2返回值<0;当s1=s2返回值=0;不区分大小写;ignore(忽略)></s2返回值<0;当s1=s2返回值=0;区分大小写></s2返回值<0;当s1=s2返回值=0;不区分大小写></s2返回值<0;当s1=s2返回值=0;区分大小写></null></null></null></s2返回值<0;当s1=s2返回值=0;区分大小写></null></null></null></null></null></null></null></null></null>
Published At
Categories with Web编程
Tagged with
comments powered by Disqus