Delphi 6的函数

这些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 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; $[StrUtils.pas   
   5功能 返回字符串AText左边的ACount个字符   
   6说明 LeftStr('123456', 3) = '123'   
   7参考 function System.Copy   
   8例子 Edit3.Text := LeftStr(Edit1.Text, SpinEdit1.Value);   
   9━━━━━━━━━━━━━━━━━━━━━   
  10首部 function RightStr(const AText: string; const ACount: Integer): string; $[StrUtils.pas   
  11功能 返回字符串AText右边的ACount个字符   
  12说明 RightStr('123456', 3) = '456'   
  13参考 function System.Copy   
  14例子 Edit3.Text := RightStr(Edit1.Text, SpinEdit1.Value);   
  15━━━━━━━━━━━━━━━━━━━━━   
  16首部 function MidStr(const AText: string; const AStart, ACount: Integer): string; $[StrUtils.pas   
  17功能 返回字符串AText从AStart开始的ACount个字符   
  18说明 其实就是Copy   
  19参考 function System.Copy   
  20例子 Edit3.Text := MidStr(Edit1.Text, SpinEdit1.Value, SpinEdit2.Value);   
  21━━━━━━━━━━━━━━━━━━━━━   
  22首部 function SearchBuf(Buf: PChar; BufLen: Integer; SelStart, SelLength: Integer; SearchString: String; Options: TStringSearchOptions = [soDown]): PChar; $[StrUtils.pas   
  23功能 返回第一个搜索到的指针位置   
  24说明 这函数常用于文本中搜索字符串   
  25参考 <null>   
  26例子   
  27///////Begin SearchBuf   
  28function SearchEdit(EditControl: TCustomEdit; const SearchString: String;   
  29SearchOptions: TStringSearchOptions; FindFirst: Boolean = False): Boolean;   
  30var   
  31Buffer, P: PChar;   
  32Size: Word;   
  33begin   
  34Result := False;   
  35if (Length(SearchString) = 0) then Exit;   
  36Size := EditControl.GetTextLen;   
  37if (Size = 0) then Exit;   
  38Buffer := StrAlloc(Size + 1);   
  39try   
  40EditControl.GetTextBuf(Buffer, Size + 1);   
  41P := SearchBuf(Buffer, Size, EditControl.SelStart, EditControl.SelLength,   
  42SearchString, SearchOptions);   
  43if P &lt;&gt; nil then begin   
  44EditControl.SelStart := P - Buffer;   
  45EditControl.SelLength := Length(SearchString);   
  46Result := True;   
  47end;   
  48finally   
  49StrDispose(Buffer);   
  50end;   
  51end;   
  52  
  53procedure TForm1.Button1Click(Sender: TObject);   
  54var   
  55SearchOptions: TStringSearchOptions;   
  56begin   
  57SearchOptions := [];   
  58if CheckBox1.Checked then   
  59Include(SearchOptions, soDown);   
  60if CheckBox2.Checked then   
  61Include(SearchOptions, soMatchCase);   
  62if CheckBox3.Checked then   
  63Include(SearchOptions, soWholeWord);   
  64SearchEdit(Memo1, Edit1.Text, SearchOptions);   
  65Memo1.SetFocus;   
  66end;   
  67///////End SearchBuf   
  68━━━━━━━━━━━━━━━━━━━━━   
  69首部 function Soundex(const AText: string; ALength: TSoundexLength = 4): string; $[StrUtils.pas   
  70功能 返回探测字符串   
  71说明 根据探测法(Soundex)可以找到相进的字符串;http://www.nara.gov/genealogy/coding.html   
  72参考 <null>   
  73例子 Edit2.Text := Soundex(Edit1.Text, SpinEdit1.Value);   
  74━━━━━━━━━━━━━━━━━━━━━   
  75首部 function SoundexInt(const AText: string; ALength: TSoundexIntLength = 4): Integer; $[StrUtils.pas   
  76功能 返回探测整数   
  77说明 ALength的值越大解码准确率越高   
  78参考 <null>   
  79例子 SpinEdit2.Value := SoundexInt(Edit1.Text, SpinEdit1.Value);   
  80━━━━━━━━━━━━━━━━━━━━━   
  81首部 function DecodeSoundexInt(AValue: Integer): string; $[StrUtils.pas   
  82功能 返回探测整数的解码   
  83说明 DecodeSoundexInt(SoundexInt('hello')) 相当于 Soundex('hello')   
  84参考 <null>   
  85例子 Edit2.Text := DecodeSoundexInt(SpinEdit2.Value);   
  86━━━━━━━━━━━━━━━━━━━━━   
  87首部 function SoundexWord(const AText: string): Word; $[StrUtils.pas   
  88功能 返回探测文字数值   
  89说明 没有参数ALength已经固定为4   
  90参考 <null>   
  91例子 SpinEdit2.Value := SoundexWord(Edit1.Text);   
  92━━━━━━━━━━━━━━━━━━━━━   
  93首部 function DecodeSoundexWord(AValue: Word): string; $[StrUtils.pas   
  94功能 返回探测文字数值的解码   
  95说明 DecodeSoundexWord(SoundexWord('hello')) 相当于 Soundex('hello')   
  96参考 <null>   
  97例子 Edit2.Text := DecodeSoundexWord(SpinEdit2.Value);   
  98━━━━━━━━━━━━━━━━━━━━━   
  99首部 function SoundexSimilar(const AText, AOther: string; ALength: TSoundexLength = 4): Boolean; $[StrUtils.pas   
 100功能 返回两个字符串的探测字符串是否相同   
 101说明 Result := Soundex(AText, ALength) = Soundex(AOther, ALength)   
 102参考 <null>   
 103例子 CheckBox1.Checked := SoundexSimilar(Edit1.Text, Edit2.Text, SpinEdit1.Value);   
 104━━━━━━━━━━━━━━━━━━━━━   
 105首部 function SoundexCompare(const AText, AOther: string; ALength: TSoundexLength = 4): Integer; $[StrUtils.pas   
 106功能 返回比较两个字符串的探测字符串的结果   
 107说明 Result := AnsiCompareStr(Soundex(AText, ALength), Soundex(AOther, ALength))   
 108参考 function SysUtils.AnsiCompareStr   
 109例子 SpinEdit2.Value := SoundexCompare(Edit1.Text, Edit2.Text, SpinEdit1.Value);   
 110━━━━━━━━━━━━━━━━━━━━━   
 111首部 function SoundexProc(const AText, AOther: string): Boolean; $[StrUtils.pas   
 112功能 调用SoundexSimilar返回两个字符串的探测字符串是否相同   
 113说明 系统变量AnsiResemblesProc的默认值   
 114参考 function StrUtils.AnsiResemblesText   
 115例子 [var AnsiResemblesProc: TCompareTextProc = SoundexProc;]   
 116首部 function Languages: TLanguages; $[SysUtils.pas   
 117功能 返回系统语言对象   
 118说明 通过此函数可以得到系统的语言环境   
 119参考 type SysUtils.TLanguages   
 120例子   
 121///////Begin Languages   
 122procedure TForm1.Button1Click(Sender: TObject);   
 123var   
 124I: Integer;   
 125begin   
 126Memo1.Clear;   
 127for I := 0 to Languages.Count - 1 do   
 128Memo1.Lines.Add(Languages.Name[I]);   
 129end;   
 130///////End Languages   
 131━━━━━━━━━━━━━━━━━━━━━   
 132首部 function AllocMem(Size: Cardinal): Pointer; $[SysUtils.pas   
 133功能 返回一个指定大小Size的内存块   
 134说明 配合用FreeMem释放资源   
 135参考 function System.GetMem   
 136例子   
 137///////Begin AllocMem   
 138procedure TForm1.Button1Click(Sender: TObject);   
 139var   
 140I: PInteger;   
 141begin   
 142I := AllocMem(SizeOf(Integer));   
 143I^ := 100;   
 144Edit1.Text := IntToStr(I^);   
 145FreeMem(I, SizeOf(Integer));   
 146end;   
 147///////End AllocMem   
 148━━━━━━━━━━━━━━━━━━━━━   
 149首部 procedure AddExitProc(Proc: TProcedure); $[SysUtils.pas   
 150功能 添加一个退出处理的过程   
 151说明 建议用finalization部分取代   
 152参考 <null>   
 153例子   
 154////////Begin AddExitProc   
 155uses   
 156ShellApi;   
 157  
 158procedure ExitProc;   
 159begin   
 160ShellExecute(0, 'Open', 'Calc.exe', nil, nil, SW_SHOW);   
 161end;   
 162  
 163procedure TForm1.Button1Click(Sender: TObject);   
 164begin   
 165AddExitProc(ExitProc);   
 166end;   
 167////////End AddExitProc   
 168━━━━━━━━━━━━━━━━━━━━━   
 169首部 function NewStr(const S: string): PString; deprecated; $[SysUtils.pas   
 170功能 返回一个新的字符串指针地址   
 171说明 字符串S为空时返回NullStr   
 172参考 procedure System.New   
 173例子   
 174////////Begin NewStr,DisposeStr   
 175procedure TForm1.Button1Click(Sender: TObject);   
 176var   
 177P: PString;   
 178begin   
 179P := NewStr(Edit1.Text);   
 180Edit2.Text := P^;   
 181DisposeStr(P);   
 182end;   
 183////////End NewStr,DisposeStr   
 184━━━━━━━━━━━━━━━━━━━━━   
 185首部 procedure DisposeStr(P: PString); deprecated; $[SysUtils.pas   
 186功能 释放字符串指针P资源   
 187说明 配合函数NewStr使用   
 188参考 procedure System.Dispose   
 189例子 &lt;如上参见,如下参见&gt;   
 190━━━━━━━━━━━━━━━━━━━━━   
 191首部 procedure AssignStr(var P: PString; const S: string); deprecated; $[SysUtils.pas   
 192功能 将字符串S更新给字符串指针P   
 193说明 更新值时会释放以前字符串指针的资源   
 194参考 function SysUtils.NewStr;function SysUtils.DisposeStr   
 195例子   
 196////////Begin AssignStr   
 197procedure TForm1.Button1Click(Sender: TObject);   
 198var   
 199P: PString;   
 200begin   
 201P := nil;   
 202AssignStr(P, Edit1.Text);   
 203Edit2.Text := P^;   
 204DisposeStr(P);   
 205end;   
 206////////End AssignStr   
 207━━━━━━━━━━━━━━━━━━━━━   
 208首部 procedure AppendStr(var Dest: string; const S: string); deprecated; $[SysUtils.pas   
 209功能 在字符串Dest后追加字符串S   
 210说明 相当于Dest := Dest + S;Delphi6已经不建议使用   
 211参考 <null>   
 212例子   
 213////////Begin AppendStr   
 214procedure TForm1.Button1Click(Sender: TObject);   
 215var   
 216S: string;   
 217begin   
 218S := Edit2.Text;   
 219AppendStr(S, Edit1.Text);   
 220Edit2.Text := S;   
 221end;   
 222////////End AppendStr   
 223━━━━━━━━━━━━━━━━━━━━━   
 224首部 function UpperCase(const S: string): string; $[SysUtils.pas   
 225功能 返回字符串S的大写形式   
 226说明 非小写字符不处理   
 227参考 procedure System.SetLength   
 228例子 Edit2.Text := UpperCase(Edit1.Text);   
 229━━━━━━━━━━━━━━━━━━━━━   
 230首部 function LowerCase(const S: string): string; $[SysUtils.pas   
 231功能 返回字符串S的小写形式   
 232说明 非大写字符不处理   
 233参考 procedure System.SetLength   
 234例子 Edit2.Text := LowerCase(Edit1.Text);   
 235━━━━━━━━━━━━━━━━━━━━━   
 236首部 function CompareStr(const S1, S2: string): Integer; $[SysUtils.pas   
 237功能 返回比较两个字符   
 238说明 当S1&gt;S2返回值&gt;0;当S1<s2返回值<0;当s1=s2返回值=0;区分大小写 <null="" 参考="">   
 239例子 SpinEdit1.Value := CompareStr(Edit1.Text, Edit2.Text);   
 240━━━━━━━━━━━━━━━━━━━━━   
 241首部 function CompareMem(P1, P2: Pointer; Length: Integer): Boolean; assembler; $[SysUtils.pas   
 242功能 返回比较两个内存指针   
 243说明 CompareMem(PChar('12a'), PChar('12c'), 2)=True;CompareMem(PChar('12a'), PChar('12c'), 3)=False   
 244参考 <null>   
 245例子 CheckBox1.Checked := CompareMem(Self, Form1, 8);   
 246━━━━━━━━━━━━━━━━━━━━━   
 247首部 function CompareText(const S1, S2: string): Integer; $[SysUtils.pas   
 248功能 返回比较两个字符串   
 249说明 不区分大小写   
 250参考 <null>   
 251例子 SpinEdit1.Value := CompareText(Edit1.Text, Edit2.Text);   
 252━━━━━━━━━━━━━━━━━━━━━   
 253首部 function SameText(const S1, S2: string): Boolean; $[SysUtils.pas   
 254功能 返回两个字符串是否相等   
 255说明 不区分大小写   
 256参考 <null>   
 257例子 CheckBox1.Checked := SameText(Edit1.Text, Edit2.Text);   
 258━━━━━━━━━━━━━━━━━━━━━   
 259首部 function AnsiUpperCase(const S: string): string; $[SysUtils.pas   
 260功能 返回字符串S的大写形式   
 261说明 ANSI(American National Standards Institute)美国国家标准协会;非小写的字符不变   
 262参考 function Windows.CharUpperBuff   
 263例子 Edit2.Text := AnsiUpperCase(Edit1.Text);   
 264━━━━━━━━━━━━━━━━━━━━━   
 265首部 function AnsiLowerCase(const S: string): string; $[SysUtils.pas   
 266功能 返回字符串S的小写形式   
 267说明 非大写字符不处理   
 268参考 function Windows.CharLowerBuff   
 269例子 Edit2.Text := AnsiLowerCase(Edit1.Text);   
 270━━━━━━━━━━━━━━━━━━━━━   
 271首部 function AnsiCompareStr(const S1, S2: string): Integer; $[SysUtils.pas   
 272功能 反回比较两个字符串   
 273说明 当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左边不可见字符="" 首部="">   
 274━━━━━━━━━━━━━━━━━━━━━   
 275首部 function IsValidIdent(const Ident: string): Boolean; $[SysUtils.pas   
 276功能 返回字符串Ident是否是正确的标识符   
 277说明 标识符::字母|下划线[字母|下划线|数字]...   
 278参考 <null>   
 279例子 CheckBox1.Checked := IsValidIdent(Edit1.Text);   
 280━━━━━━━━━━━━━━━━━━━━━   
 281首部 function IntToStr(Value: Integer): string; overload; $[SysUtils.pas   
 282首部 function IntToStr(Value: Int64): string; overload; $[SysUtils.pas   
 283功能 返回整数Value转换成字符串   
 284说明 Format('%d', [Value])   
 285参考 function SysUtils.FmtStr   
 286例子 Edit2.Text := IntToStr(SpinEdit1.Value);   
 287━━━━━━━━━━━━━━━━━━━━━   
 288首部 function IntToHex(Value: Integer; Digits: Integer): string; overload; $[SysUtils.pas   
 289首部 function IntToHex(Value: Int64; Digits: Integer): string; overload; $[SysUtils.pas   
 290功能 返回整数Value转换成十六进制表现结果;Format('%.*x', [Digits, Value])   
 291说明 参数Digits指定字符最小宽度;最小宽度不足时将用0填充   
 292参考 function SysUtils.FmtStr   
 293例子 Edit2.Text := IntToHex(SpinEdit1.Value, SpinEdit2.Value);   
 294━━━━━━━━━━━━━━━━━━━━━   
 295首部 function StrToInt(const S: string): Integer; $[SysUtils.pas   
 296功能 返回字符串S转换成整数   
 297说明 字符串非整数表达时将引起异常   
 298参考 procedure System.Val   
 299例子 SpinEdit1.Value := StrToInt(Edit1.Text);   
 300━━━━━━━━━━━━━━━━━━━━━   
 301首部 function StrToIntDef(const S: string; Default: Integer): Integer; $[SysUtils.pas   
 302功能 返回字符串S转换成整数   
 303说明 字符串非整数表达时则返回默认值Default   
 304参考 procedure System.Val   
 305例子 SpinEdit1.Value := StrToIntDef(Edit1.Text, 0);   
 306━━━━━━━━━━━━━━━━━━━━━   
 307首部 function TryStrToInt(const S: string; out Value: Integer): Boolean; $[SysUtils.pas   
 308功能 返回字符串S转换成整数Value是否成功   
 309说明 字符串非整数表达时返回False并且Value将输出为0   
 310参考 procedure System.Val   
 311例子   
 312///////Begin TryStrToInt   
 313procedure TForm1.Button1Click(Sender: TObject);   
 314var   
 315I: Integer;   
 316begin   
 317CheckBox1.Checked := TryStrToInt(Edit1.Text, I);   
 318SpinEdit1.Value := I;   
 319end;   
 320///////End TryStrToInt   
 321━━━━━━━━━━━━━━━━━━━━━   
 322首部 function StrToInt64(const S: string): Int64; $[SysUtils.pas   
 323功能 返回字符串S转换成六十四位整数   
 324说明 字符串非六十四位整数表达时将引起异常   
 325参考 procedure System.Val   
 326例子 SpinEdit1.Value := StrToInt64(Edit1.Text);   
 327━━━━━━━━━━━━━━━━━━━━━   
 328首部 function StrToInt64Def(const S: string; const Default: Int64): Int64; $[SysUtils.pas   
 329功能 返回字符串S转换成六十四位整数   
 330说明 字符串非六十四位整数表达时则返回默认值Default   
 331参考 procedure System.Val   
 332例子 SpinEdit1.Value := StrToInt64Def(Edit1.Text, 0);   
 333━━━━━━━━━━━━━━━━━━━━━   
 334首部 function TryStrToInt64(const S: string; out Value: Int64): Boolean; $[SysUtils.pas   
 335功能 返回字符串S转换成六十四位整数Value是否成功   
 336说明 字符串非六十四位整数表达时返回False并且Value将输出为0   
 337参考 procedure System.Val   
 338例子   
 339///////Begin TryStrToInt64   
 340procedure TForm1.Button1Click(Sender: TObject);   
 341var   
 342I: Int64;   
 343begin   
 344CheckBox1.Checked := TryStrToInt64(Edit1.Text, I);   
 345SpinEdit1.Value := I;   
 346end;   
 347///////End TryStrToInt64   
 348━━━━━━━━━━━━━━━━━━━━━   
 349首部 function StrToBool(const S: string): Boolean; $[SysUtils.pas   
 350功能 返回字符串S转换成逻辑值   
 351说明 字符非逻辑表达时将引起异常   
 352参考 function SysUtils.TryStrToBool   
 353例子 CheckBox1.Checked := StrToBool(Edit1.Text);   
 354━━━━━━━━━━━━━━━━━━━━━   
 355首部 function StrToBoolDef(const S: string; const Default: Boolean): Boolean; $[SysUtils.pas   
 356功能 返回字符串S转换成逻辑值   
 357说明 字符非逻辑表达时则返回默认值Default   
 358参考 function SysUtils.TryStrToBool   
 359例子 CheckBox1.Checked := StrToBoolDef(Edit1.Text, False);   
 360━━━━━━━━━━━━━━━━━━━━━   
 361首部 function TryStrToBool(const S: string; out Value: Boolean): Boolean; $[SysUtils.pas   
 362功能 返回字符串S转换成逻辑值Value是否成功   
 363说明 [注意]0为假非0为真;不是'True'和'False';Delphi6 Bug 如下修正   
 364参考 function SysUtils.AnsiSameText;var SysUtils.TrueBoolStrs;var SysUtils.FalseBoolStrs   
 365例子   
 366///////Begin TryStrToBool   
 367procedure TForm1.Button1Click(Sender: TObject);   
 368var   
 369B: Boolean;   
 370begin   
 371SetLength(TrueBoolStrs, 2);   
 372SetLength(FalseBoolStrs, 2);   
 373TrueBoolStrs[0] := 'True';   
 374FalseBoolStrs[0] := 'False';   
 375TrueBoolStrs[1] := 'Yes';   
 376FalseBoolStrs[1] := 'No';   
 377CheckBox1.Checked := TryStrToBool(Edit1.Text, B);   
 378CheckBox2.Checked := B;   
 379end;   
 380///////End TryStrToBool   
 381附加   
 382///////Begin TryStrToBool   
 383function TryStrToBool(const S: string; out Value: Boolean): Boolean;   
 384function CompareWith(const aArray: array of string): Boolean;   
 385var   
 386I: Integer;   
 387begin   
 388Result := False;   
 389for I := Low(aArray) to High(aArray) do   
 390if AnsiSameText(S, aArray[I]) then   
 391begin   
 392Result := True;   
 393Break;   
 394end;   
 395end;   
 396var   
 397LResult: Extended;   
 398begin   
 399Result := TryStrToFloat(S, LResult);   
 400if Result then   
 401Value := LResult &lt;&gt; 0   
 402else   
 403begin   
 404Result := True; //修正处   
 405VerifyBoolStrArray;   
 406if CompareWith(TrueBoolStrs) then   
 407Value := True   
 408else if CompareWith(FalseBoolStrs) then   
 409Value := False   
 410else   
 411Result := False;   
 412end;   
 413end;   
 414///////End TryStrToBool   
 415━━━━━━━━━━━━━━━━━━━━━   
 416首部 function BoolToStr(B: Boolean; UseBoolStrs: Boolean = False): string; $[SysUtils.pas   
 417功能 返回逻辑值B转换成字符串   
 418说明 BoolToStr(False, False)='0';BoolToStr(False, True)='-1'   
 419参考 var SysUtils.TrueBoolStrs;var SysUtils.FalseBoolStrs   
 420例子 Edit1.Text := BoolToStr(CheckBox1.Checked, CheckBox2.Checked);   
 421━━━━━━━━━━━━━━━━━━━━━   
 422首部 function LoadStr(Ident: Integer): string; $[SysUtils.pas   
 423功能 返回根据标识Ident的字符串资源   
 424说明 字符串资源是指程序的内部资源   
 425参考 function SysUtils.FindStringResource   
 426例子 Edit2.Text := LoadStr(StrToIntDef(Edit1.Text, 0));   
 427━━━━━━━━━━━━━━━━━━━━━   
 428首部 function FmtLoadStr(Ident: Integer; const Args: array of const): string; $[SysUtils.pas   
 429功能 返回格式化的字符串资源   
 430说明 字符串资源是指程序的内部资源   
 431参考 function SysUtils.FmtStr;function SysUtils.FindStringResource   
 432例子 <null>;   
 433━━━━━━━━━━━━━━━━━━━━━   
 434首部 function FileOpen(const FileName: string; Mode: LongWord): Integer; $[SysUtils.pas   
 435功能 返回打开文件果   
 436说明 Mode指定打开文件的模式(fmOpenRead,fmOpenWrite,fmOpenReadWrite....);打开失败则返回负数   
 437参考 function Windows.CreateFile   
 438例子   
 439///////Begin FileOpen,FileClose   
 440procedure TForm1.Button1Click(Sender: TObject);   
 441var   
 442I: Integer;   
 443begin   
 444I := FileOpen(Edit1.Text, fmOpenRead);   
 445CheckBox1.Checked := I &gt; 0;   
 446FileClose(I);   
 447end;   
 448///////Begin FileOpen,FileClose   
 449━━━━━━━━━━━━━━━━━━━━━   
 450首部 function FileCreate(const FileName: string): Integer; overload; $[SysUtils.pas   
 451首部 function FileCreate(const FileName: string; Rights: Integer): Integer; overload; $[SysUtils.pas   
 452功能 返回创建文件   
 453说明 创建失败则返回负数   
 454参考 function Windows.CreateFile   
 455例子   
 456///////Begin FileCreate   
 457procedure TForm1.Button1Click(Sender: TObject);   
 458var   
 459I: Integer;   
 460begin   
 461I := FileCreate(Edit1.Text);   
 462CheckBox1.Checked := I &gt; 0;   
 463FileClose(I);   
 464end;   
 465///////End FileCreate   
 466━━━━━━━━━━━━━━━━━━━━━   
 467首部 function FileRead(Handle: Integer; var Buffer; Count: LongWord): Integer; $[SysUtils.pas   
 468功能 返回读取文件缓冲区的大小   
 469说明 读取失败则返回负数   
 470参考 function Windows.ReadFile   
 471例子 &lt;参见FileOpen&gt;   
 472━━━━━━━━━━━━━━━━━━━━━   
 473首部 function FileWrite(Handle: Integer; const Buffer; Count: LongWord): Integer; $[SysUtils.pas   
 474功能 返回写入文件缓冲区的大小   
 475说明 写入失败则返回负数   
 476参考 function Windows.WriteFile   
 477例子 &lt;参见FileCreate&gt;   
 478━━━━━━━━━━━━━━━━━━━━━   
 479首部 function FileSeek(Handle, Offset, Origin: Integer): Integer; overload; $[SysUtils.pas   
 480首部 function FileSeek(Handle: Integer; const Offset: Int64; Origin: Integer): Int64; overload; $[SysUtils.pas   
 481功能 返回指定文件偏移量   
 482说明 Offset指定偏移量;Origin指定原点(Origin为0时指文件首;为1时指当前位置;为2时指文件尾)   
 483参考 function Windows.SetFilePointer   
 484例子 &lt;参见FileOpen&gt;   
 485━━━━━━━━━━━━━━━━━━━━━   
 486首部 procedure FileClose(Handle: Integer); $[SysUtils.pas   
 487功能 返回关闭文件   
 488说明 不关闭打开的文件会占用系统资源   
 489参考 function Windows.CloseHandle   
 490例子 &lt;参见FileOpen&gt;   
 491━━━━━━━━━━━━━━━━━━━━━   
 492首部 function FileAge(const FileName: string): Integer; $[SysUtils.pas   
 493功能 返回文件创建的时间   
 494说明 文件不存在则返回-1   
 495参考 function Windows.FindFirstFile   
 496例子   
 497///////Begin FileAge,DateTimeToStr,FileDateToDateTime   
 498procedure TForm1.Button1Click(Sender: TObject);   
 499begin   
 500SpinEdit1.Value := FileAge(Edit1.Text);   
 501if SpinEdit1.Value &gt; 0 then   
 502Edit2.Text := DateTimeToStr(FileDateToDateTime(SpinEdit1.Value));   
 503end;   
 504///////End FileAge,DateTimeToStr,FileDateToDateTime   
 505━━━━━━━━━━━━━━━━━━━━━   
 506首部 function FileExists(const FileName: string): Boolean; $[SysUtils.pas   
 507功能 返回文件名FileName是否有实体存在   
 508说明 包括隐藏文件   
 509参考 function SysUtils.FileAge   
 510例子 CheckBox1.Checked := FileExists(Edit1.Text);   
 511━━━━━━━━━━━━━━━━━━━━━   
 512首部 function DirectoryExists(const Directory: string): Boolean; $[SysUtils.pas   
 513功能 返回目录名FileName是否有实体存在   
 514说明 包括隐藏目录   
 515参考 function Windows.GetFileAttributes   
 516例子 CheckBox1.Checked := DirectoryExists(Edit1.Text);   
 517━━━━━━━━━━━━━━━━━━━━━   
 518首部 function ForceDirectories(Dir: string): Boolean; $[SysUtils.pas   
 519功能 返回创建子目录是否成功   
 520说明 直接创建多级目录   
 521参考 function SysUtils.CreateDir   
 522例子 CheckBox1.Checked := ForceDirectories(Edit1.Text);   
 523━━━━━━━━━━━━━━━━━━━━━   
 524首部 function FindFirst(const Path: string; Attr: Integer; var F: TSearchRec): Integer; $[SysUtils.pas   
 525功能 返回设置文件搜索   
 526说明 搜索成功则返回0   
 527参考 function Windows.FindFirstFile   
 528例子   
 529///////Begin FindFirst,FindNext,FindClose   
 530procedure TForm1.Button1Click(Sender: TObject);   
 531var   
 532vSearchRec: TSearchRec;   
 533I: Integer;   
 534begin   
 535Memo1.Clear;   
 536I := FindFirst(Edit1.Text, faAnyFile, vSearchRec);   
 537while I = 0 do begin   
 538Memo1.Lines.Add(vSearchRec.Name);   
 539I := FindNext(vSearchRec);   
 540end;   
 541FindClose(vSearchRec);   
 542end;   
 543///////End FindFirst,FindNext,FindClose   
 544━━━━━━━━━━━━━━━━━━━━━ 
 545
 546首部 function FindNext(var F: TSearchRec): Integer; $[SysUtils.pas   
 547功能 返回继续文件搜索   
 548说明 搜索成功则返回0   
 549参考 function Windows.FindNextFile   
 550例子 &lt;参见FindFirst&gt;   
 551━━━━━━━━━━━━━━━━━━━━━   
 552首部 procedure FindClose(var F: TSearchRec); $[SysUtils.pas   
 553功能 结束当前文件搜索   
 554说明 不关闭查询会占用系统资源   
 555参考 function Windows.FindClose   
 556例子 &lt;参见FindFirst&gt;   
 557━━━━━━━━━━━━━━━━━━━━━   
 558首部 function FileGetDate(Handle: Integer): Integer; $[SysUtils.pas   
 559功能 返回文件的修改时间   
 560说明 读取失败则返回-1   
 561参考 function Windows.GetFileTime   
 562例子   
 563///////Begin FileGetDate   
 564procedure TForm1.Button1Click(Sender: TObject);   
 565var   
 566I: Integer;   
 567begin   
 568I := FileOpen(Edit1.Text, fmOpenRead);   
 569if I &lt; 0 then Exit;   
 570SpinEdit1.Value := FileGetDate(I);   
 571Edit2.Text := DateTimeToStr(FileDateToDateTime(SpinEdit1.Value));   
 572FileClose(I);   
 573end;   
 574///////End FileGetDate   
 575━━━━━━━━━━━━━━━━━━━━━   
 576首部 function FileSetDate(const FileName: string; Age: Integer): Integer; overload; $[SysUtils.pas   
 577首部 function FileSetDate(Handle: Integer; Age: Integer): Integer; overload; platform; $[SysUtils.pas   
 578功能 返回设置文件的修改时间   
 579说明 修改成功则返回0   
 580参考 function Windows.SetFileTime   
 581例子 SpinEdit1.Value := FileSetDate(Edit1.Text, DateTimeToFileDate(StrToDateTime(Edit2.Text)));   
 582━━━━━━━━━━━━━━━━━━━━━   
 583首部 function FileGetAttr(const FileName: string): Integer; platform; $[SysUtils.pas   
 584功能 返回文件的属性   
 585说明 读取失败则返回$FFFFFFFF   
 586参考 function Windows.GetFileAttributes   
 587例子 SpinEdit1.Value := FileGetAttr(Edit1.Text);   
 588━━━━━━━━━━━━━━━━━━━━━   
 589首部 function FileSetAttr(const FileName: string; Attr: Integer): Integer; platform; $[SysUtils.pas   
 590功能 返回设置文件的属性   
 591说明 设置成功则返回0   
 592参考 function Windows.SetFileAttributes   
 593例子 SpinEdit1.Value := FileSetAttr(Edit1.Text, SpinEdit2.Value);   
 594━━━━━━━━━━━━━━━━━━━━━   
 595首部 function FileIsReadOnly(const FileName: string): Boolean; $[SysUtils.pas   
 596功能 返回文件是否只读   
 597说明 文件不存在看作只读   
 598参考 function Windows.GetFileAttributes   
 599例子 CheckBox1.Checked := FileIsReadOnly(Edit1.Text);   
 600━━━━━━━━━━━━━━━━━━━━━   
 601首部 function FileSetReadOnly(const FileName: string; ReadOnly: Boolean): Boolean; $[SysUtils.pas   
 602功能 返回设置文件是否只读是否成功   
 603说明 文件不存在则返回False   
 604参考 function Windows.GetFileAttributes;function Windows.SetFileAttributes   
 605例子 CheckBox1.Checked := FileSetReadOnly(Edit1.Text, CheckBox2.Checked);   
 606━━━━━━━━━━━━━━━━━━━━━   
 607首部 function DeleteFile(const FileName: string): Boolean; $[SysUtils.pas   
 608功能 返回删除文件是否成功   
 609说明 文件不存在则返回False   
 610参考 function Windows.DeleteFile   
 611例子 CheckBox1.Checked := DeleteFile(Edit1.Text);   
 612━━━━━━━━━━━━━━━━━━━━━   
 613首部 function RenameFile(const OldName, NewName: string): Boolean; $[SysUtils.pas   
 614功能 返回重命名文件是否成功   
 615说明 文件不存在则返回False   
 616参考 function Windows.MoveFile   
 617例子 CheckBox1.Checked := RenameFile(Edit1.Text, Edit2.Text);   
 618━━━━━━━━━━━━━━━━━━━━━   
 619首部 function ChangeFileExt(const FileName, Extension: string): string; $[SysUtils.pas   
 620功能 返回改变扩展名后的文件名   
 621说明 [注意]扩展名Extension前要加点;ChangeFileExt('a.jpg', 'bmp')='abmp'   
 622参考 function SysUtils.LastDelimiter;function System.Copy   
 623例子 Edit1.Text := ChangeFileExt(Edit2.Text, Edit3.Text);   
 624━━━━━━━━━━━━━━━━━━━━━   
 625首部 function ExtractFilePath(const FileName: string): string; $[SysUtils.pas   
 626功能 返回文件名所在的路径   
 627说明 ExtractFilePath('C:\')='C:\';ExtractFilePath('\\\Server\Tool\Calc.exe')='\\\Server\Tool\'   
 628参考 function SysUtils.LastDelimiter;function System.Copy   
 629例子 Edit1.Text := ExtractFilePath(Edit2.Text);   
 630━━━━━━━━━━━━━━━━━━━━━   
 631首部 function ExtractFileDir(const FileName: string): string; $[SysUtils.pas   
 632功能 返回文件名所在的目录   
 633说明 ExtractFileDir('C:\')='C:\';ExtractFileDir('\\\Server\Tool\Calc.exe')='\\\Server\Tool'   
 634参考 function SysUtils.LastDelimiter;function System.Copy   
 635例子 Edit1.Text := ExtractFileDir(Edit2.Text);   
 636━━━━━━━━━━━━━━━━━━━━━   
 637首部 function ExtractFileDrive(const FileName: string): string; $[SysUtils.pas   
 638功能 返回文件名所在驱动器   
 639说明 ExtractFileDrive('C:\')='C:';ExtractFileDrive('\\\Server\Tool\Calc.exe')='\\\Server\Tool'   
 640参考 function System.Copy   
 641例子 Edit1.Text := ExtractFileDrive(Edit2.Text);   
 642━━━━━━━━━━━━━━━━━━━━━   
 643首部 function ExtractFileName(const FileName: string): string; $[SysUtils.pas   
 644功能 返回绝对文件名   
 645说明 ExtractFileName('C:\')='';ExtractFileName('\\\Server\Tool\Calc.exe')='Calc.exe'   
 646参考 function SysUtils.LastDelimiter;function System.Copy   
 647例子 Edit1.Text := ExtractFileName(Edit2.Text);   
 648━━━━━━━━━━━━━━━━━━━━━   
 649首部 function ExtractFileExt(const FileName: string): string; $[SysUtils.pas   
 650功能 返回文件名的扩展名   
 651说明 ExtractFileExt('C:\')='';ExtractFileExt('\\\Server\Tool\Calc.exe')='.exe'   
 652参考 function SysUtils.LastDelimiter;function System.Copy   
 653例子 Edit1.Text := ExtractFileExt(Edit2.Text);   
 654━━━━━━━━━━━━━━━━━━━━━   
 655首部 function ExpandFileName(const FileName: string): string; $[SysUtils.pas   
 656功能 返回文件名的完整表示   
 657说明 ExpandFileName('hello.pas')='C:\Program Files\Borland\Delphi6\Projects\hello.pas'   
 658参考 function Windows.GetFullPathName   
 659例子 Edit1.Text := ExpandFileName(Edit2.Text);   
 660━━━━━━━━━━━━━━━━━━━━━   
 661首部 function ExpandFileNameCase(const FileName: string; out MatchFound: TFilenameCaseMatch): string; $[SysUtils.pas   
 662功能 分情况返回文件名的完整表示   
 663说明 type TFilenameCaseMatch = (mkNone, mkExactMatch, mkSingleMatch, mkAmbiguous);   
 664参考 function Windows.GetFullPathName;function SysUtils.SameFileName;function SysUtils.FindFirst   
 665例子   
 666///////Begin ExpandFileNameCase   
 667procedure TForm1.Button1Click(Sender: TObject);   
 668var   
 669vFilenameCaseMatch: TFilenameCaseMatch;   
 670begin   
 671Edit1.Text := ExpandFileNameCase(Edit2.Text, vFilenameCaseMatch);   
 672SpinEdit1.Value := Ord(vFilenameCaseMatch);   
 673end;   
 674///////End ExpandFileNameCase   
 675━━━━━━━━━━━━━━━━━━━━━   
 676首部 function ExpandUNCFileName(const FileName: string): string; $[SysUtils.pas   
 677功能 返回LINUX文件名的完整表示   
 678说明 ExpandUNCFileName('C:/')='C:\'   
 679参考 function SysUtils.ExpandFileName   
 680例子 Edit1.Text := ExpandUNCFileName(Edit2.Text);   
 681━━━━━━━━━━━━━━━━━━━━━   
 682首部 function ExtractRelativePath(const BaseName, DestName: string): string; $[SysUtils.pas   
 683功能 返回参数的相对路径   
 684说明 ExtractRelativePath('C:\Windows\', 'C:\Windows\System')='System'   
 685参考 function SysUtils.SameFilename;function SysUtils.ExtractFileDrive   
 686例子 Edit1.Text := ExtractRelativePath(Edit2.Text, Edit3.Text);   
 687━━━━━━━━━━━━━━━━━━━━━   
 688首部 function ExtractShortPathName(const FileName: string): string; $[SysUtils.pas   
 689功能 返回参数的DOS路径   
 690说明 ExtractShortPathName('C:\Program Files\Borland')='C:\PROGRA~1\BORLAND'   
 691参考 function Windows.GetShortPathName   
 692例子 Edit1.Text := ExtractShortPathName(Edit2.Text);   
 693━━━━━━━━━━━━━━━━━━━━━   
 694首部 function FileSearch(const Name, DirList: string): string; $[SysUtils.pas   
 695功能 返回目录列表中DirList搜索的第一个结果   
 696说明 FileSearch('Calc.exe', 'd:\winxp\system32;c:\windows')='d:\winxp\system32\calc.exe'   
 697参考 function SysUtils.FileExists;function SysUtils.AnsiLastChar   
 698例子 Edit1.Text := FileSearch(Edit2.Text, Edit3.Text);   
 699━━━━━━━━━━━━━━━━━━━━━   
 700首部 function DiskFree(Drive: Byte): Int64; $[SysUtils.pas   
 701功能 返回驱动器可用空间   
 702说明 参数Drive为0表示当前路径,为1表示=A驱,为2表示=B驱...;获取失败则返回-1   
 703参考 function Windows.GetDiskFreeSpaceExA   
 704例子 SpinEdit1.Value := DiskFree(SpinEdit2.Value);   
 705━━━━━━━━━━━━━━━━━━━━━   
 706首部 function DiskSize(Drive: Byte): Int64; $[SysUtils.pas   
 707功能 返回驱动器全部空间   
 708说明 参数Drive为0表示当前路径,为1表示=A驱,为2表示=B驱...;获取失败则返回-1   
 709参考 function Windows.GetDiskFreeSpaceExA   
 710例子 SpinEdit1.Value := DiskSize(SpinEdit2.Value);   
 711━━━━━━━━━━━━━━━━━━━━━   
 712首部 function FileDateToDateTime(FileDate: Integer): TDateTime; $[SysUtils.pas   
 713功能 返回将文件日期时间类型转换日期时间类型   
 714说明 FileDate非法是将触发异常   
 715参考 function SysUtils.EncodeDate;function SysUtils.EncodeTime   
 716例子 &lt;参见FileAge&gt;   
 717━━━━━━━━━━━━━━━━━━━━━   
 718首部 function DateTimeToFileDate(DateTime: TDateTime): Integer; $[SysUtils.pas   
 719功能 返回将日期时间类型转换文件日期时间类型   
 720说明 年份在1980到2107之外则返回0   
 721参考 function SysUtils.DecodeDate;function SysUtils.DecodeTime   
 722例子 &lt;参见FileSetDate&gt;   
 723━━━━━━━━━━━━━━━━━━━━━   
 724首部 function GetCurrentDir: string; $[SysUtils.pas   
 725功能 返回当前操作目录   
 726说明 [注意]调用文件对话框会改变当前操作目录   
 727参考 function System.GetDir   
 728例子 Edit1.Text := GetCurrentDir;   
 729━━━━━━━━━━━━━━━━━━━━━   
 730首部 function SetCurrentDir(const Dir: string): Boolean; $[SysUtils.pas   
 731功能 返回设置当前操作目录是否成功   
 732说明 [注意]调用文件对话框会改变当前操作目录   
 733参考 function Windows.SetCurrentDirectory   
 734例子 CheckBox1.Checked := SetCurrentDir(Edit1.Text);   
 735━━━━━━━━━━━━━━━━━━━━━   
 736首部 function CreateDir(const Dir: string): Boolean; $[SysUtils.pas   
 737功能 返回创建目录是否成功   
 738说明 不支持多级目录;已经存在则返回False   
 739参考 function Windows.CreateDirectory   
 740例子 CheckBox1.Checked := CreateDir(Edit1.Text);   
 741━━━━━━━━━━━━━━━━━━━━━   
 742首部 function RemoveDir(const Dir: string): Boolean; $[SysUtils.pas   
 743功能 返回删除目录是否成功   
 744说明 必须是空目录   
 745参考 function Windows.RemoveDirectory   
 746例子 CheckBox1.Checked := RemoveDir(Edit1.Text);   
 747━━━━━━━━━━━━━━━━━━━━━   
 748首部 function StrLen(const Str: PChar): Cardinal; $[SysUtils.pas   
 749功能 返回指针字符串的长度   
 750说明 当指针字符串Str为nil时将触发异常   
 751参考 <null>   
 752例子 SpinEdit2.Value := StrLen(PChar(Edit1.Text));   
 753━━━━━━━━━━━━━━━━━━━━━   
 754首部 function StrEnd(const Str: PChar): PChar; $[SysUtils.pas   
 755功能 返回指针字符串的结尾   
 756说明 当指针字符串Str为nil时将触发异常   
 757参考 <null>   
 758例子 Edit2.Text := StrEnd(PChar(Edit1.Text)) - SpinEdit1.Value;   
 759━━━━━━━━━━━━━━━━━━━━━   
 760首部 function StrMove(Dest: PChar; const Source: PChar; Count: Cardinal): PChar; $[SysUtils.pas   
 761功能 返回将指针字符串Source指定内存数量Count复制覆盖到指针字符串Dest中   
 762说明 Dest没有分配资源将触发异常s   
 763参考 function System.Move   
 764例子   
 765///////Begin StrMove   
 766procedure TForm1.Button1Click(Sender: TObject);   
 767var   
 768vBuffer: PChar;   
 769begin   
 770vBuffer := '0123456789';   
 771StrMove(vBuffer, PChar(Edit1.Text), SpinEdit1.Value);   
 772Edit2.Text := vBuffer;   
 773end;   
 774///////End StrMove   
 775━━━━━━━━━━━━━━━━━━━━━   
 776首部 function StrCopy(Dest: PChar; const Source: PChar): PChar; $[SysUtils.pas   
 777功能 返回将指针字符串Source复制到指针字符串Dest中   
 778说明 Dest应已经分配足够的空间非则将触发异常   
 779参考 <null>   
 780例子   
 781///////Begin StrCopy   
 782procedure TForm1.Button1Click(Sender: TObject);   
 783var   
 784vBuffer: PChar;   
 785begin   
 786GetMem(vBuffer, Length(Edit1.Text) + 1);   
 787StrCopy(vBuffer, PChar(Edit1.Text));   
 788Edit2.Text := vBuffer;   
 789FreeMem(vBuffer);   
 790end;   
 791///////End StrCopy   
 792━━━━━━━━━━━━━━━━━━━━━   
 793首部 function StrECopy(Dest:PChar; const Source: PChar): PChar; $[SysUtils.pas   
 794功能 返回将指针字符串Source复制到指针字符串Dest中的结尾   
 795说明 可以连接指针字符串   
 796参考 <null>   
 797例子   
 798///////Begin StrECopy   
 799procedure TForm1.Button1Click(Sender: TObject);   
 800var   
 801vBuffer: array[0..255] of Char;   
 802begin   
 803StrECopy(StrECopy(vBuffer, PChar(Edit1.Text)), PChar(Edit2.Text));   
 804Edit3.Text := vBuffer;   
 805end;   
 806///////End StrECopy   
 807━━━━━━━━━━━━━━━━━━━━━   
 808首部 function StrLCopy(Dest: PChar; const Source: PChar; MaxLen: Cardinal): PChar; $[SysUtils.pas   
 809功能 返回将指针字符串Source指定长度MaxLen复制到指针字符串Dest中   
 810说明 Dest应已经分配足够的空间非则将触发异常   
 811参考 <null>   
 812例子   
 813///////Begin StrLCopy   
 814procedure TForm1.Button1Click(Sender: TObject);   
 815var   
 816vBuffer: array[0..255] of Char;   
 817begin   
 818StrLCopy(vBuffer, PChar(Edit1.Text), SpinEdit1.Value);   
 819Edit2.Text := vBuffer;   
 820end;   
 821///////End StrLCopy   
 822━━━━━━━━━━━━━━━━━━━━━   
 823首部 function StrPCopy(Dest: PChar; const Source: string): PChar; $[SysUtils.pas   
 824功能 返回将指针字符串Source复制到指针字符串Dest中   
 825说明 StrLCopy(Dest, PChar(Source), Length(Source))   
 826参考 function SysUtils.StrLCopy   
 827例子   
 828///////Begin StrPCopy   
 829procedure TForm1.Button1Click(Sender: TObject);   
 830var   
 831vBuffer: array[0..255] of Char;   
 832begin   
 833StrPCopy(vBuffer, PChar(Edit1.Text));   
 834Edit2.Text := vBuffer;   
 835end;   
 836///////End StrPCopy   
 837━━━━━━━━━━━━━━━━━━━━━   
 838首部 function StrPLCopy(Dest: PChar; const Source: string; MaxLen: Cardinal): PChar; $[SysUtils.pas   
 839功能 返回将字符串Source指定长度MaxLen复制到指针字符串Dest中   
 840说明 StrLCopy(Dest, PChar(Source), MaxLen)   
 841参考 function SysUtils.StrLCopy   
 842例子   
 843///////Begin StrPLCopy   
 844procedure TForm1.Button1Click(Sender: TObject);   
 845var   
 846vBuffer: array[0..255] of Char;   
 847begin   
 848StrPLCopy(vBuffer, Edit1.Text, SpinEdit1.Value);   
 849Edit2.Text := vBuffer;   
 850end;   
 851///////End StrPLCopy   
 852━━━━━━━━━━━━━━━━━━━━━   
 853首部 function StrCat(Dest: PChar; const Source: PChar): PChar; $[SysUtils.pas   
 854功能 返回连接指针字符串Dest和指针字符串Source   
 855说明 StrCopy(StrEnd(Dest), Source)   
 856参考 function SysUntils.StrCopy   
 857例子   
 858///////Begin StrCat   
 859procedure TForm1.Button1Click(Sender: TObject);   
 860var   
 861vBuffer: array[0..255] of Char;   
 862begin   
 863StrPCopy(vBuffer, Edit1.Text);   
 864StrCat(vBuffer, PChar(Edit2.Text));   
 865Edit3.Text := vBuffer;   
 866end;   
 867///////End StrCat   
 868━━━━━━━━━━━━━━━━━━━━━   
 869首部 function StrLCat(Dest: PChar; const Source: PChar; MaxLen: Cardinal): PChar; $[SysUtils.pas   
 870功能 返回连接指针字符串Dest和指针字符串Source   
 871说明 [注意]MaxLen指定连接后的最大长度不是指针字符串Source的长度   
 872参考 <null>   
 873例子   
 874///////Begin StrLCat   
 875procedure TForm1.Button1Click(Sender: TObject);   
 876var   
 877vBuffer: array[0..255] of Char;   
 878begin   
 879StrPCopy(vBuffer, Edit1.Text);   
 880StrLCat(vBuffer, PChar(Edit2.Text), SpinEdit1.Value);   
 881Edit3.Text := vBuffer;   
 882end;   
 883///////End StrLCat   
 884━━━━━━━━━━━━━━━━━━━━━   
 885首部 function StrComp(const Str1, Str2: PChar): Integer; $[SysUtils.pas   
 886功能 返回比较两个指针字符串   
 887说明 当S1&gt;S2返回值&gt;0;当S1<s2返回值<0;当s1=s2返回值=0;区分大小写;[注意]返回第一个出现不同字符的差异 <null="" 参考="">   
 888例子 SpinEdit1.Value := StrComp(PChar(Edit1.Text), PChar(Edit2.Text));   
 889━━━━━━━━━━━━━━━━━━━━━   
 890首部 function StrIComp(const Str1, Str2: PChar): Integer; $[SysUtils.pas   
 891功能 返回比较两个指针字符串   
 892说明 当S1&gt;S2返回值&gt;0;当S1<s2返回值<0;当s1=s2返回值=0;不区分大小写;[注意]返回第一个出现不同字符的差异 <null="" 参考="">   
 893例子 SpinEdit1.Value := StrIComp(PChar(Edit1.Text), PChar(Edit2.Text));   
 894━━━━━━━━━━━━━━━━━━━━━   
 895首部 function StrLComp(const Str1, Str2: PChar; MaxLen: Cardinal): Integer; $[SysUtils.pas   
 896功能 返回比较两个指针字符串指定长度   
 897说明 当S1&gt;S2返回值&gt;0;当S1<s2返回值<0;当s1=s2返回值=0;区分大小写;length(长度);[注意]返回第一个出现不同字符的差异 <null="" 参考="">   
 898例子 SpinEdit1.Value := StrLComp(PChar(Edit1.Text), PChar(Edit2.Text), SpinEdit2.Value)   
 899━━━━━━━━━━━━━━━━━━━━━   
 900首部 function StrLIComp(const Str1, Str2: PChar; MaxLen: Cardinal): Integer; $[SysUtils.pas   
 901功能 返回比较两个指针字符串指定长度   
 902说明 当S1&gt;S2返回值&gt;0;当S1<s2返回值<0;当s1=s2返回值=0;不区分大小写;[注意]返回第一个出现不同字符的差异 <null="" 参考="">   
 903例子 SpinEdit1.Value := StrLIComp(PChar(Edit1.Text), PChar(Edit2.Text), SpinEdit2.Value)   
 904━━━━━━━━━━━━━━━━━━━━━   
 905首部 function StrScan(const Str: PChar; Chr: Char): PChar; $[SysUtils.pas   
 906功能 返回在指针字符串Str搜索字符Chr第一个出现的地址   
 907说明 没有找到则返回空指针   
 908参考 <null>   
 909例子 Edit2.Text := StrScan(PChar(Edit1.Text), '*');   
 910━━━━━━━━━━━━━━━━━━━━━   
 911首部 function StrRScan(const Str: PChar; Chr: Char): PChar; $[SysUtils.pas   
 912功能 返回在指针字符串Str搜索字符Chr最后一个出现的地址   
 913说明 没有找到则返回空指针   
 914参考 <null>   
 915例子 Edit2.Text := StrRScan(PChar(Edit1.Text), '*');   
 916━━━━━━━━━━━━━━━━━━━━━   
 917首部 function StrPos(const Str1, Str2: PChar): PChar; $[SysUtils.pas   
 918功能 返回指针字符串Str2在Str1中第一个出现的地址   
 919说明 没有找到则返回空指针;StrPos('12345', '3') = '345'   
 920参考 <null>   
 921例子 Edit3.Text := StrPos(PChar(Edit1.Text), PChar(Edit2.Text));   
 922━━━━━━━━━━━━━━━━━━━━━   
 923首部 function StrUpper(Str: PChar): PChar; $[SysUtils.pas   
 924功能 返回指针字符串Str大写   
 925说明 非小写字符不处理   
 926参考 <null>   
 927例子 Edit1.Text := StrUpper(PChar(Edit2.Text));   
 928━━━━━━━━━━━━━━━━━━━━━   
 929首部 function StrLower(Str: PChar): PChar; $[SysUtils.pas   
 930功能 返回指针字符串Str小写   
 931说明 非大写字符不处理   
 932参考 <null>   
 933例子 Edit1.Text := StrLower(PChar(Edit2.Text));   
 934━━━━━━━━━━━━━━━━━━━━━   
 935首部 function StrPas(const Str: PChar): string; $[SysUtils.pas   
 936功能 返回指针字符串Str转换成字符串   
 937说明 也可以直接赋值   
 938参考 <null>   
 939例子 Edit1.Text := StrPas(PChar(Edit2.Text));   
 940━━━━━━━━━━━━━━━━━━━━━   
 941首部 function StrAlloc(Size: Cardinal): PChar; $[SysUtils.pas   
 942功能 返回分配指定空间的内存资源给指针字符串   
 943说明 空间的大小也将保存;用StrDispose才能全部释放   
 944参考 function System.GetMem   
 945例子   
 946///////Begin StrAlloc   
 947procedure TForm1.Button1Click(Sender: TObject);   
 948var   
 949P: PChar;   
 950begin   
 951P := StrAlloc(SpinEdit1.Value);   
 952ShowMessage(IntToStr(StrLen(P)));   
 953Dec(P, SizeOf(Cardinal));   
 954ShowMessage(IntToStr(Cardinal(Pointer(P)^)));   
 955Inc(P, SizeOf(Cardinal));   
 956StrDispose(P);   
 957end;   
 958///////End StrAlloc   
 959  
 960━━━━━━━━━━━━━━━━━━━━━   
 961首部 function StrBufSize(const Str: PChar): Cardinal; $[SysUtils.pas   
 962功能 返回通过函数StrAlloc分配的缓冲区大小   
 963说明 出现异常情况则返回不可预知的结果   
 964参考 function System.SizeOf   
 965例子 SpinEdit1.Value := StrBufSize(StrAlloc(SpinEdit2.Value));   
 966━━━━━━━━━━━━━━━━━━━━━   
 967首部 function StrNew(const Str: PChar): PChar; $[SysUtils.pas   
 968功能 返回复制一个新的指针字符串   
 969说明 如果Str为nil则返回nil   
 970参考 function SysUtils.StrLen;function SysUtils.StrMove;function SysUtils.StrAlloc   
 971例子   
 972///////Begin StrNew,StrDispose   
 973procedure TForm1.Button1Click(Sender: TObject);   
 974var   
 975P: PChar;   
 976begin   
 977P := StrNew(PChar(Edit1.Text));   
 978ShowMessage(P);   
 979StrDispose(P);   
 980end;   
 981///////End StrNew,StrDispose   
 982━━━━━━━━━━━━━━━━━━━━━   
 983首部 procedure StrDispose(Str: PChar); $[SysUtils.pas   
 984功能 释放指针字符串Str内存资源   
 985说明 如果Str为nil则不作任何处理;并且释放空间大小信息   
 986参考 function System.Dec;function System.SizeOf;function System.FreeMem   
 987例子 &lt;参见StrNew&gt;   
 988━━━━━━━━━━━━━━━━━━━━━   
 989首部 function Format(const Format: string; const Args: array of const): string; $[SysUtils.pas   
 990功能 返回按指定方式格式化一个数组常量的字符形式   
 991说明 这个函数是我在Delphi中用得最多的函数,现在就列举几个例子给你个直观的理解   
 992"%" [索引 ":"] ["-"] [宽度] ["." 摘要] 类型   
 993Format('x=%d', [12]); //'x=12' //最普通   
 994Format('x=%3d', [12]); //'x= 12' //指定宽度   
 995Format('x=%f', [12.0]); //'x=12.00' //浮点数   
 996Format('x=%.3f', [12.0]); //'x=12.000' //指定小数   
 997Format('x=%.*f', [5, 12.0]); //'x=12.00000' //动态配置   
 998Format('x=%.5d', [12]); //'x=00012' //前面补充0   
 999Format('x=%.5x', [12]); //'x=0000C' //十六进制   
1000Format('x=%1:d%0:d', [12, 13]); //'x=1312' //使用索引   
1001Format('x=%p', [nil]); //'x=00000000' //指针   
1002Format('x=%1.1e', [12.0]); //'x=1.2E+001' //科学记数法   
1003Format('x=%%', []); //'x=%' //得到"%"   
1004S := Format('%s%d', [S, I]); //S := S + StrToInt(I); //连接字符串   
1005参考 proceduer SysUtils.FmtStr   
1006例子 Edit1.Text := Format(Edit2.Text, [StrToFloatDef(Edit.3.Text, 0)]);   
1007━━━━━━━━━━━━━━━━━━━━━   
1008首部 procedure FmtStr(var Result: string; const Format: string; const Args: array of const); $[SysUtils.pas   
1009功能 按指定方式格式化一个数组常量的字符形式返回   
1010说明 &lt;参见Format&gt;   
1011参考 function SysUtils.FormatBuf;function System.Length;function System.SetLength   
1012例子 &lt;参见Format&gt;   
1013━━━━━━━━━━━━━━━━━━━━━   
1014首部 function StrFmt(Buffer, Format: PChar; const Args: array of const): PChar; $[SysUtils.pas   
1015功能 返回按指定方式格式化一个数组常量的字符指针形式   
1016说明 如果Buffer和Format其中只要有一个为nil则返回nil   
1017参考 function SysUtils.Format</null></null></null></null></null></null></s2返回值<0;当s1=s2返回值=0;不区分大小写;[注意]返回第一个出现不同字符的差异></s2返回值<0;当s1=s2返回值=0;区分大小写;length(长度);[注意]返回第一个出现不同字符的差异></s2返回值<0;当s1=s2返回值=0;不区分大小写;[注意]返回第一个出现不同字符的差异></s2返回值<0;当s1=s2返回值=0;区分大小写;[注意]返回第一个出现不同字符的差异></null></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></null>
Published At
Categories with Web编程
Tagged with
comments powered by Disqus