━━━━━━━━━━━━━━━━━━━━━
首部 function ExcludeTrailingPathDelimiter(const S: string): string; $[SysUtils.pas 功能 返回排除最后路径分隔符
说明 最后一个字符不是路径分隔符则不变;否则减去最后的路径分隔符返回
参考 function SysUtils.IsPathDelimiter;function System.Length;function System.SetLength 例子 Edit1.Text := ExcludeTrailingPathDelimiter(Edit2.Text); ━━━━━━━━━━━━━━━━━━━━━
首部 function ExcludeTrailingBackslash(const S: string): string; platform; $[SysUtils.pas 功能 返回排除最后斜线
说明 Result := ExcludeTrailingPathDelimiter(S)
参考 function SysUtils.ExcludeTrailingPathDelimiter 例子 Edit1.Text := ExcludeTrailingBackslash(Edit2.Text); ━━━━━━━━━━━━━━━━━━━━━
首部 function LastDelimiter(const Delimiters, S: string): Integer; $[SysUtils.pas 功能 返回最后一个分隔符的位置
说明 LastDelimiter('.', 'kingron.myetang.com') = 16
参考 function SysUtils.StrScan;function SysUtils.ByteType 例子 SpinEdit1.Value := LastDelimiter(Edit1.Text, Edit2.Text); ━━━━━━━━━━━━━━━━━━━━━
首部 function AnsiCompareFileName(const S1, S2: string): Integer; $[SysUtils.pas 功能 返回比较两个文件名
说明 当S1>S2返回值>0;当S1 例子 SpinEdit1.Value := AnsiCompareFileName(Edit1.Text, Edit2.Text); ━━━━━━━━━━━━━━━━━━━━━ 首部 function SameFileName(const S1, S2: string): Boolean; $[SysUtils.pas 功能 返回两个文件名是否相等 说明 区分大小写 参考 function SysUtils.AnsiCompareFileName 例子 CheckBox1.Checked := SameFileName(Edit1.Text, Edit2.Text); ━━━━━━━━━━━━━━━━━━━━━ 首部 function AnsiLowerCaseFileName(const S: string): string; $[SysUtils.pas 功能 返回小写文件名 说明 在非多字节字符系统上相当于AnsiLowerCase 参考 function SysUtils.AnsiLowerCase 例子 Edit2.Text := AnsiLowerCaseFileName(Edit1.Text); ━━━━━━━━━━━━━━━━━━━━━ 首部 function AnsiUpperCaseFileName(const S: string): string; $[SysUtils.pas 功能 返回大写文件名 说明 在非多字节字符系统上相当于AnsiUpperCase 参考 function SysUtils.AnsiUpperCase 例子 Edit2.Text := AnsiUpperCaseFileName(Edit1.Text); ━━━━━━━━━━━━━━━━━━━━━ 首部 function AnsiPos(const Substr, S: string): Integer; $[SysUtils.pas 功能 返回子串Substr在字符中第一次出现的位置 说明 不存在则返回0 参考 SysUtils.AnsiStrPos 例子 SpinEdit1.Value := AnsiPos(Edit1.Text, Edit2.Text); ━━━━━━━━━━━━━━━━━━━━━ 首部 function AnsiStrPos(Str, SubStr: PChar): PChar; $[SysUtils.pas 功能 返回指针子串Substr在指针字符中第一次出现的指针位置 说明 不存在则返回nil 参考 function SysUtils.StrByteType 例子 Edit3.Text := AnsiStrPos(PChar(Edit1.Text), PChar(Edit2.Text)); ━━━━━━━━━━━━━━━━━━━━━ 首部 function AnsiStrRScan(Str: PChar; Chr: Char): PChar; $[SysUtils.pas 功能 返回在指针字符串Str搜索字符Chr最后一个出现的地址 说明 支持多字节字符系统;AnsiStrRScan('kingron.myetang.com', '.') = '.com' 参考 function SysUtils.AnsiStrScan 例子 Edit2.Text := AnsiStrScan(PChar(Edit1.Text), '.'); ━━━━━━━━━━━━━━━━━━━━━ 首部 function AnsiStrScan(Str: PChar; Chr: Char): PChar; $[SysUtils.pas 功能 返回在指针字符串Str搜索字符Chr第一个出现的地址 说明 支持多字节字符系统;AnsiStrRScan('kingron.myetang.com', '.') = '.myetang.com' 参考 function SysUtils.StrScan 例子 Edit2.Text := AnsiStrScan(PChar(Edit1.Text), '.'); ━━━━━━━━━━━━━━━━━━━━━ 首部 function StringReplace(const S, OldPattern, NewPattern: string; Flags: TReplaceFlags): string; $[SysUtils.pas 功能 返回替换后的字符串 说明 rfReplaceAll为替换全部内容;rfIgnoreCase为忽略大小写 参考 function SysUtils.AnsiUpperCase;function SysUtils.AnsiPos;function System.Copy 例子 ///////Begin StringReplace procedure TForm1.Button1Click(Sender: TObject); begin Memo1.Lines.Values['[]'] := StringReplace(Edit1.Text, Edit2.Text, Edit3.Text, []); Memo1.Lines.Values['[rfReplaceAll]'] := StringReplace(Edit1.Text, Edit2.Text, Edit3.Text, [rfReplaceAll]); Memo1.Lines.Values['[rfIgnoreCase]'] := StringReplace(Edit1.Text, Edit2.Text, Edit3.Text, [rfIgnoreCase]); Memo1.Lines.Values['[rfReplaceAll, rfIgnoreCase]'] := StringReplace(Edit1.Text, Edit2.Text, Edit3.Text, [rfReplaceAll, rfIgnoreCase]); end; ///////End StringReplace ━━━━━━━━━━━━━━━━━━━━━ 首部 function StringToGUID(const S: string): TGUID; $[SysUtils.pas 功能 返回字符串S转换成全局标识 说明 如果字符串非法将触发异常 参考 fuction Windows.Succeeded 例子 Edit2.Text := GUIDToString(StringToGUID(Edit1.Text)); ━━━━━━━━━━━━━━━━━━━━━ 首部 function GUIDToString(const GUID: TGUID): string; $[SysUtils.pas 功能 返回全局标识GUID转换成字符串 说明 参考 fuction Windows.Succeeded 例子 Edit2.Text := GUIDToString(StringToGUID(Edit1.Text)); ━━━━━━━━━━━━━━━━━━━━━ ================================================= 日期与时间函数 (Date and Time Routines) Unit: SysUtils ======================================== Date 传回今天日期。function Date: TDateTime; DateTimeToStr 将时间格式转为字串。function DateTimeToStr(DateTime: TDateTime):String; DateTimeToString 将时间格式转为字串。 procedure DateTimeToString(var Result: string;const Format: string;DateTime: TDateTime); DateToStr 将日期格式转为字串。function DateToStr(Date: TDateTime): String; DayOfWeek 传回今天星期几。function DayOfWeek(Date: TDateTime): Integer; DecodeDate 分解所指定的日期为年、月、日。 procedure DecodeDate(Date: TDateTime;var Year, Month, Day:Word); DecodeTime 分解所指定的日期为时、分、秒。 procedure DecodeTime(Time: TDateTime;var Hour, Min, Sec,MSec: Word); EncodeDate 传回将年、月、日所组合的日期格式。 function EncodeDate(Year, Month, Day: Word):TDateTime; EncodeTime 传回将时、分、秒所组合的时间格式。 function EncodeTime(Hour, Min, Sec, MSec:Word): TDateTime; FormatDateTime 以指定的格式传回日期时间。 function FormatDateTime(const Format: string;DateTime: TDateTime):String; Now 传回现在的日期时间。function Now: TDateTime; StrToDate 将字串转为日期格式。function StrToDate(const S:string): TDateTime; StrToDateTime 将字串转为日期时间格式function StrToDateTime(const S: string): TDateTime; StrToTime 将字串转为时间格式。function StrToTime(const S:string): TDateTime; Time 传回现在时间。function Time: TDateTime; TimeToStr 将时格式转为字串。function TimeToStr(Time:TDateTime): String; ======================================== 档案管理函数 Unit: SysUtils ======================================== ChangeFileExt 变更档案的延伸档名。 function ChangeFileExt(const FileName,Extension: string):string; DateTimeToFileDate 将Delphi 的日期格式转换为DOS的日期格式。 functionDateTimeToFileDate(DateTime:TDateTime): Longint; DeleteFile 删除一个档案。 function DeleteFile(const FileName: string):Boolean; DiskFree 传回磁碟的可用空间。function DiskFree(Drive: Byte): Longint; DiskSize 传回指定磁碟的容量大小。function DiskSize(Drive: Byte): Longint; ExpandFileName 传回一个完整的路径及档名字串。 function expandFileName(const FileName: string):string; ExtractFileExt 传回档案的延伸档名。function ExtractFileExt(const FileName string):string; ExtractFileName 传回档案的档名。function ExtractFileName(const FileName: string):string; ExtractFilePath 传回档案的路径。function ExtractFilePath(const FileName: string):string; FileAge 传回档案的年纪function FileAge(const FileName: string):Longint; FileCreate 以指定档名建立一个档案。function FileCreate(const FileName: string):Integer; FileClose 关闭指定的档案。procedureFileClose(Handle: Integer); FileDateToDateTime 将DOS 的日期格式转为Delphi 的日期格式。 function FileDateToDateTime(FileDate: Longint):TDateTime; FileExists 判别档案是否存在。function FileExists(const FileName: string):Boolean; FileGetAttr 传回档案属性。function FileGetAttr(const FileName: string):Integer; FileGetDate 传回档案的日期及时间。function FileGetDate(Handle: Integer): Longint; FileRead 从指定的档案读入资料。 function FileRead(Handle:Integer; var Buffer;Count:Longint):Longint; FileSearch 在目录列中搜寻指定的档案。function FileSearch(constName, DirList: string):string; FileSeek 改变档案游标的位置。function FileSeek(Handle: Integer;Offset: Longint;Origin: Integer):Longint; FileSetAttr 设定档案属性。function FileSetAttr(const FileName: string;Attr:Integer): Integer; FileSetDate 设定档案的日期及时间。procedure FileSetDate(Handle: Integer; Age:Longint); FileOpen 开启档案。function FileOpen(const FileName: string; Mode:Word): Integer; FileWrite 写资料到档案。function FileWrite(Handle:Integer;const Buffer; Count:Longint): Longint; FindClose 终止找寻第一个/下一个的动作。procedure FindClose(var SearchRec: TSearchRec); FindFirst 寻找第一个符合的档案并设定其属性。 function FindFirst(const Path: string;Attr: Word; var F:TSearchRec): Integer; FindNext 传回下一个符合的档案。function FindNext(var F:TSearchRec): Integer; RenameFile 变更档名。function RenameFile(const OldName,NewName: string):Boolean; 怎样在 CASE 语句中使用字符串 ///////////////////////////////////////// 首先建立 CaseString 函数,用于获取某字符串在一个字符串数组中的顺序: function CaseString (const s: string; const x: array of string): Integer; var i: Integer; begin Result:= -1; // Default return parameter for i:= Low (x) to High (x) do begin if s = x[i] then begin Result:= i; Exit; end; end; end; Low() 提供第一个数组成员(通常是0),High() 则返回最后一个。因为 CaseString 返回的是待查字符串在字符串数组中的位置,因此,它可以被直接用到 CASE 语句中: search:= 'delphi3000'; case CaseString (search, ['delphi3000', 'delphipages', 'Torry's']) of 0: s:= 'Excellent!'; 1: s:= 'Good source'; 2: s:= 'Not bad!'; end; copy(str,pos,num) 从str字符串的pos处开始,截取num个字符的串返回.假设str为'abcdef',copy(str,3,2)='cd',copy(str,4,10)='def' concat(str1,str2{,strn}) 把各自变量连接起来,返回连接后的字符串(长度不能超过255) length(str) 返回str的字符个数,即其长度. pos(obj,target) 在target字符串中找出第一个出现obj的第一个字符位置,如果找不到,返回0. AnsiStrLastChar('你好')结果是“好”。如果有半个汉字出现,返回这半个汉字。二者字符串长度分别为2和1。 CompareStr - 区分大小写 CompareText - 不区分大小写 //////////////////////////////////////////////////////// {判断字符是否是数字} function IsDigit(ch: char): boolean; begin Result := ch in ['0'..'9']; end; {判断字符是否是大写字符} function IsUpper(ch: char): boolean; begin Result := ch in ['A'..'Z']; end; {判断字符是否是小写字符} function IsLower(ch: char): boolean; begin Result := ch in ['a'..'z']; end; {转换为大写字符} function ToUpper(ch: char): char; begin Result := chr(ord(ch) and $DF); end; {转换为小写字符} function ToLower(ch: char): char; begin Result := chr(ord(ch) or $20); end; { Capitalizes first letter of every word in s } function Proper(const s: string): string;