procedure TForm1.Button1Click(Sender: TObject);
        var
        SearchOptions: TStringSearchOptions;
        begin
        SearchOptions := [];
        if CheckBox1.Checked then
        Include(SearchOptions, soDown);
        if CheckBox2.Checked then
        Include(SearchOptions, soMatchCase);
        if CheckBox3.Checked then
        Include(SearchOptions, soWholeWord);
        SearchEdit(Memo1, Edit1.Text, SearchOptions);
        Memo1.SetFocus;
        end;
        ///////End SearchBuf
        ━━━━━━━━━━━━━━━━━━━━━
        首部 function Soundex(const AText: string; ALength: TSoundexLength = 4):
        string; $[StrUtils.pas
        功能 返回探測字符串
        說明 根據探測法(Soundex)可以找到相進的字符串;http://www.nara.gov/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,DisposeStr
        procedure TForm1.Button1Click(Sender: TObject);
        var
        P: PString;
        begin
        P := 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 AssignStr
        procedure TForm1.Button1Click(Sender: TObject);
        var
        P: PString;
        begin
        P := 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 AppendStr
        procedure TForm1.Button1Click(Sender: TObject);
        var
        S: string;
        begin
        S := 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 Windows.CompareString
        例子 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 Windows.CompareString
        例子 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 System.CompareString
        例子 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 Windows.CompareString
        例子 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 Windows.CompareString
        例子 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 Windows.CompareString
        例子 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 Windows.CompareStringW
        例子 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 Windows.CompareStringW
        例子 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 AnsIExtractQuotedStr
        procedure TForm1.Button1Click(Sender: TObject);
        var
        P: PChar;
        begin
        P := 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 TryStrToInt
        procedure TForm1.Button1Click(Sender: TObject);
        var
        I: Integer;
        begin
        CheckBox1.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 TryStrToInt64
        procedure TForm1.Button1Click(Sender: TObject);
        var
        I: Int64;
        begin
        CheckBox1.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 TryStrToBool
        procedure TForm1.Button1Click(Sender: TObject);
        var
        B: Boolean;
        begin
        SetLength(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 TryStrToBool
        function TryStrToBool(const S: string; out Value: Boolean): Boolean;
        function CompareWith(const aArray: array of string): Boolean;
        var
        I: Integer;
        begin
        Result := False;
        for I := Low(aArray) to High(aArray) do
        if AnsiSameText(S, aArray[I]) then
        begin
        Result := True;
        Break;
        end;
        end;
        var
        LResult: Extended;
        begin
        Result := TryStrToFloat(S, LResult);
        if Result then
        Value := LResult <> 0
        else
        begin
        Result := True; //修正處
        VerifyBoolStrArray;
        if CompareWith(TrueBoolStrs) then
        Value := True
        else if CompareWith(FalseBoolStrs) then
        Value := False
        else
        Result := 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 StrMove
        procedure TForm1.Button1Click(Sender: TObject);
        var
        vBuffer: PChar;
        begin
        vBuffer := '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 StrCopy
        procedure TForm1.Button1Click(Sender: TObject);
        var
        vBuffer: PChar;
        begin
        GetMem(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 StrECopy
        procedure TForm1.Button1Click(Sender: TObject);
        var
        vBuffer: array[0..255] of Char;
        begin
        StrECopy(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 StrLCopy
        procedure TForm1.Button1Click(Sender: TObject);
        var
        vBuffer: array[0..255] of Char;
        begin
        StrLCopy(vBuffer, PChar(Edit1.Text), SpinEdit1.Value);
        Edit2.Text := vBuffer;
        end;
        ///////End StrLCopy
        ━━━━━━━━━━━━━━━━━━━━━
        首部 function StrPCopy(Dest: PChar; const Source: string): PChar;
        $[SysUtils.pas
        功能 返回將指針字符串Source復制到指針字符串Dest中
        說明 StrLCopy(Dest, PChar(Source), Length(Source))
        參考 function SysUtils.StrLCopy
        例子
        ///////Begin StrPCopy
        procedure TForm1.Button1Click(Sender: TObject);
        var
        vBuffer: array[0..255] of Char;
        begin
        StrPCopy(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 StrPLCopy
        procedure TForm1.Button1Click(Sender: TObject);
        var
        vBuffer: array[0..255] of Char;
        begin
        StrPLCopy(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 StrCat
        procedure TForm1.Button1Click(Sender: TObject);
        var
        vBuffer: array[0..255] of Char;
        begin
        StrPCopy(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 StrLCat
        procedure TForm1.Button1Click(Sender: TObject);
        var
        vBuffer: array[0..255] of Char;
        begin
        StrPCopy(vBuffer, Edit1.Text);
        StrLCat(vBuffer, PChar(Edit2.Text), SpinEdit1.Value);