zoukankan      html  css  js  c++  java
  • 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
    ━━━━━━━━━━━━━━━━━━━━━  
    首部  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;]
    ━━━━━━━━━━━━━━━━━━━━━

  • 相关阅读:
    131. Palindrome Partitioning
    130. Surrounded Regions
    129. Sum Root to Leaf Numbers
    128. Longest Consecutive Sequence
    125. Valid Palindrome
    124. Binary Tree Maximum Path Sum
    122. Best Time to Buy and Sell Stock II
    121. Best Time to Buy and Sell Stock
    120. Triangle
    119. Pascal's Triangle II
  • 原文地址:https://www.cnblogs.com/railgunman/p/1866720.html
Copyright © 2011-2022 走看看