Delphi 常用函數

 uses StrUtils;
【字符串函數大全】
      首部 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, '是', '否') = '否'
      參考 <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 SearchBuf
      function SearchEdit(EditControl: TCustomEdit; const SearchString: String;
      SearchOptions: TStringSearchOptions; FindFirst: Boolean = False): Boolean;
      var
      Buffer, P: PChar;
      Size: Word;
      begin
      Result := False;
      if (Length(SearchString) = 0) then Exit;
      Size := EditControl.GetTextLen;
      if (Size = 0) then Exit;
      Buffer := StrAlloc(Size + 1);
      try
      EditControl.GetTextBuf(Buffer, Size + 1);
      P := SearchBuf(Buffer, Size, EditControl.SelStart, EditControl.SelLength,
      SearchString, SearchOptions);
      if P <> nil then begin
      EditControl.SelStart := P - Buffer;
      EditControl.SelLength := Length(SearchString);
      Result := True;
      end;
      finally
      StrDispose(Buffer);
      end;
      end;
      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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章