天气与日历 切换到窄版

 找回密码
 立即注册

QQ登录

只需一步,快速开始

限时开通VIP永久会员,可免费下载所有附件
查看: 727|回复: 0

[Delphi教程] Delphi6函数大全3-SysUtils.pas

[复制链接]

3188

主题

4

回帖

3290

积分

管理员

积分
3290
发表于 2024-2-26 21:31:04 | 显示全部楼层 |阅读模式
Delphi6函数大全3-SysUtils.pas

首部      function FindNext(var F: TSearchRec): Integer; $[SysUtils.pas
功能      返回继续文件搜索
说明 搜索成功则返回0
参考 function Windows.FindNextFile
例子      <参见FindFirst>
━━━━━━━━━━━━━━━━━━━━━
首部 procedure FindClose(var      F: TSearchRec); $[SysUtils.pas
功能 结束当前文件搜索
说明 不关闭查询会占用系统资源
参考      function Windows.FindClose
例子      <参见FindFirst>
━━━━━━━━━━━━━━━━━━━━━
首部 function      FileGetDate(Handle: Integer): Integer; $[SysUtils.pas
功能      返回文件的修改时间
说明 读取失败则返回-1
参考 function      Windows.GetFileTime
例子
///////Begin FileGetDate
procedure      TForm1.Button1Click(Sender: TObject);
var
I: Integer;
begin
I      := FileOpen(Edit1.Text, fmOpenRead);
if I < 0 then      Exit;
SpinEdit1.Value := FileGetDate(I);
Edit2.Text :=      DateTimeToStr(FileDateToDateTime(SpinEdit1.Value));
FileClose(I);
end;
///////End      FileGetDate
━━━━━━━━━━━━━━━━━━━━━
首部 function FileSetDate(const      FileName: string; Age: Integer): Integer; overload; $[SysUtils.pas
首部      function FileSetDate(Handle: Integer; Age: Integer): Integer; overload;      platform; $[SysUtils.pas
功能 返回设置文件的修改时间
说明 修改成功则返回0
参考 function      Windows.SetFileTime
例子 SpinEdit1.Value := FileSetDate(Edit1.Text,      DateTimeToFileDate(StrToDateTime(Edit2.Text)));
━━━━━━━━━━━━━━━━━━━━━      
首部 function FileGetAttr(const FileName: string): Integer; platform;      $[SysUtils.pas
功能 返回文件的属性
说明 读取失败则返回$FFFFFFFF
参考 function      Windows.GetFileAttributes
例子 SpinEdit1.Value :=      FileGetAttr(Edit1.Text);
━━━━━━━━━━━━━━━━━━━━━
首部 function      FileSetAttr(const FileName: string; Attr: Integer): Integer; platform;      $[SysUtils.pas
功能 返回设置文件的属性
说明 设置成功则返回0
参考 function      Windows.SetFileAttributes
例子 SpinEdit1.Value := FileSetAttr(Edit1.Text,      SpinEdit2.Value);
━━━━━━━━━━━━━━━━━━━━━
首部 function      FileIsReadOnly(const FileName: string): Boolean; $[SysUtils.pas
功能      返回文件是否只读
说明 文件不存在看作只读
参考 function Windows.GetFileAttributes
例子      CheckBox1.Checked :=      FileIsReadOnly(Edit1.Text);
━━━━━━━━━━━━━━━━━━━━━
首部 function      FileSetReadOnly(const FileName: string; ReadOnly: Boolean): Boolean;      $[SysUtils.pas
功能 返回设置文件是否只读是否成功
说明 文件不存在则返回False
参考 function      Windows.GetFileAttributes;function Windows.SetFileAttributes
例子      CheckBox1.Checked := FileSetReadOnly(Edit1.Text,      CheckBox2.Checked);
━━━━━━━━━━━━━━━━━━━━━
首部 function      DeleteFile(const FileName: string): Boolean; $[SysUtils.pas
功能      返回删除文件是否成功
说明 文件不存在则返回False
参考 function Windows.DeleteFile
例子      CheckBox1.Checked := DeleteFile(Edit1.Text);
━━━━━━━━━━━━━━━━━━━━━      
首部 function RenameFile(const OldName, NewName: string): Boolean;      $[SysUtils.pas
功能 返回重命名文件是否成功
说明 文件不存在则返回False
参考 function      Windows.MoveFile
例子 CheckBox1.Checked := RenameFile(Edit1.Text,      Edit2.Text);
━━━━━━━━━━━━━━━━━━━━━
首部 function ChangeFileExt(const      FileName, Extension: string): string; $[SysUtils.pas
功能      返回改变扩展名后的文件名
说明 [注意]扩展名Extension前要加点;ChangeFileExt('a.jpg',      'bmp')='abmp'
参考 function SysUtils.LastDelimiter;function      System.Copy
例子 Edit1.Text := ChangeFileExt(Edit2.Text,      Edit3.Text);
━━━━━━━━━━━━━━━━━━━━━
首部 function ExtractFilePath(const      FileName: string): string; $[SysUtils.pas
功能 返回文件名所在的路径
说明      ExtractFilePath('C:\')='C:\';ExtractFilePath('\\Server\Tool\Calc.exe')='\\Server\Tool\'
参考      function SysUtils.LastDelimiter;function System.Copy
例子 Edit1.Text :=      ExtractFilePath(Edit2.Text);
━━━━━━━━━━━━━━━━━━━━━
首部 function      ExtractFileDir(const FileName: string): string; $[SysUtils.pas
功能      返回文件名所在的目录
说明      ExtractFileDir('C:\')='C:\';ExtractFileDir('\\Server\Tool\Calc.exe')='\\Server\Tool'
参考      function SysUtils.LastDelimiter;function System.Copy
例子 Edit1.Text :=      ExtractFileDir(Edit2.Text);
━━━━━━━━━━━━━━━━━━━━━
首部 function      ExtractFileDrive(const FileName: string): string; $[SysUtils.pas
功能      返回文件名所在驱动器
说明      ExtractFileDrive('C:\')='C:';ExtractFileDrive('\\Server\Tool\Calc.exe')='\\Server\Tool'
参考      function System.Copy
例子 Edit1.Text :=      ExtractFileDrive(Edit2.Text);
━━━━━━━━━━━━━━━━━━━━━
首部 function      ExtractFileName(const FileName: string): string; $[SysUtils.pas
功能      返回绝对文件名
说明      ExtractFileName('C:\')='';ExtractFileName('\\Server\Tool\Calc.exe')='Calc.exe'
参考      function SysUtils.LastDelimiter;function System.Copy
例子 Edit1.Text :=      ExtractFileName(Edit2.Text);
━━━━━━━━━━━━━━━━━━━━━
首部 function      ExtractFileExt(const FileName: string): string; $[SysUtils.pas
功能      返回文件名的扩展名
说明      ExtractFileExt('C:\')='';ExtractFileExt('\\Server\Tool\Calc.exe')='.exe'
参考      function SysUtils.LastDelimiter;function System.Copy
例子 Edit1.Text :=      ExtractFileExt(Edit2.Text);
━━━━━━━━━━━━━━━━━━━━━
首部 function      ExpandFileName(const FileName: string): string; $[SysUtils.pas
功能      返回文件名的完整表示
说明 ExpandFileName('hello.pas')='C:\Program      Files\Borland\Delphi6\Projects\hello.pas'
参考 function      Windows.GetFullPathName
例子 Edit1.Text :=      ExpandFileName(Edit2.Text);
━━━━━━━━━━━━━━━━━━━━━
首部 function      ExpandFileNameCase(const FileName: string; out MatchFound:      TFilenameCaseMatch): string; $[SysUtils.pas
功能 分情况返回文件名的完整表示
说明 type      TFilenameCaseMatch = (mkNone, mkExactMatch, mkSingleMatch,      mkAmbiguous);
参考 function Windows.GetFullPathName;function      SysUtils.SameFileName;function SysUtils.FindFirst
例子
///////Begin      ExpandFileNameCase
procedure TForm1.Button1Click(Sender:      TObject);
var
vFilenameCaseMatch:      TFilenameCaseMatch;
begin
Edit1.Text :=      ExpandFileNameCase(Edit2.Text, vFilenameCaseMatch);
SpinEdit1.Value :=      Ord(vFilenameCaseMatch);
end;
///////End      ExpandFileNameCase
━━━━━━━━━━━━━━━━━━━━━
首部 function      ExpandUNCFileName(const FileName: string): string; $[SysUtils.pas
功能      返回LINUX文件名的完整表示
说明 ExpandUNCFileName('C:/')='C:\'
参考 function      SysUtils.ExpandFileName
例子 Edit1.Text :=      ExpandUNCFileName(Edit2.Text);
━━━━━━━━━━━━━━━━━━━━━
首部 function      ExtractRelativePath(const BaseName, DestName: string): string;      $[SysUtils.pas
功能 返回参数的相对路径
说明 ExtractRelativePath('C:\Windows\',      'C:\Windows\System')='System'
参考 function      SysUtils.SameFilename;function SysUtils.ExtractFileDrive
例子 Edit1.Text      := ExtractRelativePath(Edit2.Text,      Edit3.Text);
━━━━━━━━━━━━━━━━━━━━━
首部 function      ExtractShortPathName(const FileName: string): string; $[SysUtils.pas
功能      返回参数的DOS路径
说明 ExtractShortPathName('C:\Program      Files\Borland')='C:\PROGRA~1\BORLAND'
参考 function      Windows.GetShortPathName
例子 Edit1.Text :=      ExtractShortPathName(Edit2.Text);
━━━━━━━━━━━━━━━━━━━━━
首部 function      FileSearch(const Name, DirList: string): string; $[SysUtils.pas
功能      返回目录列表中DirList搜索的第一个结果
说明 FileSearch('Calc.exe',      'd:\winxp\system32;c:\windows')='d:\winxp\system32\calc.exe'
参考      function SysUtils.FileExists;function SysUtils.AnsiLastChar
例子      Edit1.Text := FileSearch(Edit2.Text,      Edit3.Text);
━━━━━━━━━━━━━━━━━━━━━
首部 function DiskFree(Drive:      Byte): Int64; $[SysUtils.pas
功能 返回驱动器可用空间
说明      参数Drive为0表示当前路径,为1表示=A驱,为2表示=B驱...;获取失败则返回-1
参考 function      Windows.GetDiskFreeSpaceExA
例子 SpinEdit1.Value :=      DiskFree(SpinEdit2.Value);
━━━━━━━━━━━━━━━━━━━━━
首部 function      DiskSize(Drive: Byte): Int64; $[SysUtils.pas
功能 返回驱动器全部空间
说明      参数Drive为0表示当前路径,为1表示=A驱,为2表示=B驱...;获取失败则返回-1
参考 function      Windows.GetDiskFreeSpaceExA
例子 SpinEdit1.Value :=      DiskSize(SpinEdit2.Value);
━━━━━━━━━━━━━━━━━━━━━
首部 function      FileDateToDateTime(FileDate: Integer): TDateTime; $[SysUtils.pas
功能      返回将文件日期时间类型转换日期时间类型
说明 FileDate非法是将触发异常
参考 function      SysUtils.EncodeDate;function SysUtils.EncodeTime
例子      <参见FileAge>
━━━━━━━━━━━━━━━━━━━━━
首部 function      DateTimeToFileDate(DateTime: TDateTime): Integer; $[SysUtils.pas
功能      返回将日期时间类型转换文件日期时间类型
说明 年份在1980到2107之外则返回0
参考 function      SysUtils.DecodeDate;function SysUtils.DecodeTime
例子      <参见FileSetDate>
━━━━━━━━━━━━━━━━━━━━━
首部 function      GetCurrentDir: string; $[SysUtils.pas
功能 返回当前操作目录
说明      [注意]调用文件对话框会改变当前操作目录
参考 function System.GetDir
例子 Edit1.Text :=      GetCurrentDir;
━━━━━━━━━━━━━━━━━━━━━
首部 function      SetCurrentDir(const Dir: string): Boolean; $[SysUtils.pas
功能      返回设置当前操作目录是否成功
说明 [注意]调用文件对话框会改变当前操作目录
参考 function      Windows.SetCurrentDirectory
例子 CheckBox1.Checked :=      SetCurrentDir(Edit1.Text);
━━━━━━━━━━━━━━━━━━━━━
首部 function      CreateDir(const Dir: string): Boolean; $[SysUtils.pas
功能      返回创建目录是否成功
说明 不支持多级目录;已经存在则返回False
参考 function      Windows.CreateDirectory
例子 CheckBox1.Checked :=      CreateDir(Edit1.Text);
━━━━━━━━━━━━━━━━━━━━━
首部 function      RemoveDir(const Dir: string): Boolean; $[SysUtils.pas
功能      返回删除目录是否成功
说明 必须是空目录
参考 function Windows.RemoveDirectory
例子      CheckBox1.Checked := RemoveDir(Edit1.Text);
━━━━━━━━━━━━━━━━━━━━━
首部      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(DestChar; 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);
Edit3.Text :=      vBuffer;
end;
///////End StrLCat
━━━━━━━━━━━━━━━━━━━━━
首部      function StrComp(const Str1, Str2: PChar): Integer; $[SysUtils.pas
功能      返回比较两个指针字符串
说明      当S1>S2返回值>0;当S1<S2返回值<0;当S1=S2返回值=0;区分大小写;[注意]返回第一个出现不同字符的差异
参考      <NULL>
例子 SpinEdit1.Value := StrComp(PChar(Edit1.Text),      PChar(Edit2.Text));
━━━━━━━━━━━━━━━━━━━━━
首部 function StrIComp(const      Str1, Str2: PChar): Integer; $[SysUtils.pas
功能 返回比较两个指针字符串
说明      当S1>S2返回值>0;当S1<S2返回值<0;当S1=S2返回值=0;不区分大小写;[注意]返回第一个出现不同字符的差异
参考      <NULL>
例子 SpinEdit1.Value := StrIComp(PChar(Edit1.Text),      PChar(Edit2.Text));
━━━━━━━━━━━━━━━━━━━━━
首部 function StrLComp(const      Str1, Str2: PChar; MaxLen: Cardinal): Integer; $[SysUtils.pas
功能      返回比较两个指针字符串指定长度
说明      当S1>S2返回值>0;当S1<S2返回值<0;当S1=S2返回值=0;区分大小写;Length(长度);[注意]返回第一个出现不同字符的差异
参考      <NULL>
例子 SpinEdit1.Value := StrLComp(PChar(Edit1.Text),      PChar(Edit2.Text), SpinEdit2.Value)
━━━━━━━━━━━━━━━━━━━━━
首部      function StrLIComp(const Str1, Str2: PChar; MaxLen: Cardinal): Integer;      $[SysUtils.pas
功能 返回比较两个指针字符串指定长度
说明      当S1>S2返回值>0;当S1<S2返回值<0;当S1=S2返回值=0;不区分大小写;[注意]返回第一个出现不同字符的差异
参考      <NULL>
例子 SpinEdit1.Value := StrLIComp(PChar(Edit1.Text),      PChar(Edit2.Text), SpinEdit2.Value)
━━━━━━━━━━━━━━━━━━━━━
首部      function StrScan(const Str: PChar; Chr: Char): PChar; $[SysUtils.pas
功能      返回在指针字符串Str搜索字符Chr第一个出现的地址
说明 没有找到则返回空指针
参考 <NULL>
例子      Edit2.Text := StrScan(PChar(Edit1.Text),      '*');
━━━━━━━━━━━━━━━━━━━━━
首部 function StrRScan(const Str: PChar;      Chr: Char): PChar; $[SysUtils.pas
功能 返回在指针字符串Str搜索字符Chr最后一个出现的地址
说明      没有找到则返回空指针
参考 <NULL>
例子 Edit2.Text :=      StrRScan(PChar(Edit1.Text), '*');
━━━━━━━━━━━━━━━━━━━━━
首部 function      StrPos(const Str1, Str2: PChar): PChar; $[SysUtils.pas
功能      返回指针字符串Str2在Str1中第一个出现的地址
说明 没有找到则返回空指针;StrPos('12345', '3') =      '345'
参考 <NULL>
例子 Edit3.Text := StrPos(PChar(Edit1.Text),      PChar(Edit2.Text));
━━━━━━━━━━━━━━━━━━━━━
首部 function StrUpper(Str:      PChar): PChar; $[SysUtils.pas
功能 返回指针字符串Str大写
说明 非小写字符不处理
参考      <NULL>
例子 Edit1.Text :=      StrUpper(PChar(Edit2.Text));
━━━━━━━━━━━━━━━━━━━━━
首部 function      StrLower(Str: PChar): PChar; $[SysUtils.pas
功能 返回指针字符串Str小写
说明      非大写字符不处理
参考 <NULL>
例子 Edit1.Text :=      StrLower(PChar(Edit2.Text));
━━━━━━━━━━━━━━━━━━━━━
首部 function      StrPas(const Str: PChar): string; $[SysUtils.pas
功能      返回指针字符串Str转换成字符串
说明 也可以直接赋值
参考 <NULL>
例子 Edit1.Text :=      StrPas(PChar(Edit2.Text));
━━━━━━━━━━━━━━━━━━━━━
首部 function      StrAlloc(Size: Cardinal): PChar; $[SysUtils.pas
功能      返回分配指定空间的内存资源给指针字符串
说明 空间的大小也将保存;用StrDispose才能全部释放
参考 function      System.GetMem
例子
///////Begin StrAlloc
procedure      TForm1.Button1Click(Sender: TObject);
var
P: PChar;
begin
P :=      StrAlloc(SpinEdit1.Value);
ShowMessage(IntToStr(StrLen(P)));
Dec(P,      SizeOf(Cardinal));
ShowMessage(IntToStr(Cardinal(Pointer(P)^)));
Inc(P,      SizeOf(Cardinal));
StrDispose(P);
end;
///////End      StrAlloc

━━━━━━━━━━━━━━━━━━━━━
首部 function StrBufSize(const Str:      PChar): Cardinal; $[SysUtils.pas
功能 返回通过函数StrAlloc分配的缓冲区大小
说明      出现异常情况则返回不可预知的结果
参考 function System.SizeOf
例子 SpinEdit1.Value :=      StrBufSize(StrAlloc(SpinEdit2.Value));
━━━━━━━━━━━━━━━━━━━━━
首部      function StrNew(const Str: PChar): PChar; $[SysUtils.pas
功能      返回复制一个新的指针字符串
说明 如果Str为nil则返回nil
参考 function      SysUtils.StrLen;function SysUtils.StrMove;function      SysUtils.StrAlloc
例子
///////Begin StrNew,StrDispose
procedure      TForm1.Button1Click(Sender: TObject);
var
P: PChar;
begin
P :=      StrNew(PChar(Edit1.Text));
ShowMessage(P);
StrDispose(P);
end;
///////End      StrNew,StrDispose
━━━━━━━━━━━━━━━━━━━━━
首部 procedure StrDispose(Str:      PChar); $[SysUtils.pas
功能 释放指针字符串Str内存资源
说明      如果Str为nil则不作任何处理;并且释放空间大小信息
参考 function System.Dec;function      System.SizeOf;function System.FreeMem
例子      <参见StrNew>
━━━━━━━━━━━━━━━━━━━━━
首部 function Format(const      Format: string; const Args: array of const): string; $[SysUtils.pas
功能      返回按指定方式格式化一个数组常量的字符形式
说明 这个函数是我在Delphi中用得最多的函数,现在就列举几个例子给你个直观的理解
"%"      [索引 ":"] ["-"] [宽度] ["." 摘要] 类型
Format('x=%d', [12]); //'x=12'      //最普通
Format('x=%3d', [12]); //'x= 12' //指定宽度
Format('x=%f',      [12.0]); //'x=12.00' //浮点数
Format('x=%.3f', [12.0]); //'x=12.000'      //指定小数
Format('x=%.*f', [5, 12.0]); //'x=12.00000'      //动态配置
Format('x=%.5d', [12]); //'x=00012' //前面补充0
Format('x=%.5x',      [12]); //'x=0000C' //十六进制
Format('x=%1:d%0:d', [12, 13]); //'x=1312'      //使用索引
Format('x=%p', [nil]); //'x=00000000' //指针
Format('x=%1.1e',      [12.0]); //'x=1.2E+001' //科学记数法
Format('x=%%', []); //'x=%'      //得到"%"
S := Format('%s%d', [S, I]); //S := S + StrToInt(I);      //连接字符串
参考 proceduer SysUtils.FmtStr
例子 Edit1.Text :=      Format(Edit2.Text, [StrToFloatDef(Edit.3.Text,      0)]);
━━━━━━━━━━━━━━━━━━━━━
首部 procedure FmtStr(var Result: string;      const Format: string; const Args: array of const); $[SysUtils.pas
功能      按指定方式格式化一个数组常量的字符形式返回
说明 <参见Format>
参考 function      SysUtils.FormatBuf;function System.Length;function System.SetLength
例子      <参见Format>
━━━━━━━━━━━━━━━━━━━━━
首部 function StrFmt(Buffer,      Format: PChar; const Args: array of const): PChar; $[SysUtils.pas
功能      返回按指定方式格式化一个数组常量的字符指针形式
说明 如果Buffer和Format其中只要有一个为nil则返回nil
参考      function SysUtils.FormatBuf
例子      <参见Format>
━━━━━━━━━━━━━━━━━━━━━
首部 function StrLFmt(Buffer:      PChar; MaxBufLen: Cardinal; Format: PChar; const Args: array of const):      PChar; $[SysUtils.pas
功能 返回按指定方式和长度格式化一个数组常量的字符指针形式
说明      StrLFmt(vBuffer, 6, '%d|12345', [1024]) = '1024|1';
参考 function      SysUtils.FormatBuf
例子 <参见Format>
━━━━━━━━━━━━━━━━━━━━━
首部      function FormatBuf(var Buffer; BufLen: Cardinal; const Format; FmtLen:      Cardinal; const Args: array of const): Cardinal; $[SysUtils.pas
功能      返回按指定方式格式化一个数组常量到缓冲区Buffer中
说明 <NULL>
参考 <NULL>
例子      <参见Format>
━━━━━━━━━━━━━━━━━━━━━
首部 function WideFormat(const      Format: WideString; const Args: array of const): WideString;      $[SysUtils.pas
功能 返回按指定方式格式化一个数组常量的多字节字符形式
说明 <NULL>
参考      procedure SysUtils.WideFmtStr
例子      <参见Format>
━━━━━━━━━━━━━━━━━━━━━
首部 procedure WideFmtStr(var      Result: WideString; const Format: WideString; const Args: array of const);      $[SysUtils.pas
功能 按指定方式格式化一个数组常量的多字节字符形式返回
说明 <NULL>
参考      function SysUtils.WideFormatBuf
例子      <参见Format>
━━━━━━━━━━━━━━━━━━━━━
首部 function WideFormatBuf(var      Buffer; BufLen: Cardinal; const Format; FmtLen: Cardinal; const Args:      array of const): Cardinal; $[SysUtils.pas
功能      返回按指定方式格式化一个数组常量到缓冲区Buffer中
说明 <NULL>
参考 <NULL>
例子      <参见Format>
━━━━━━━━━━━━━━━━━━━━━
首部 function FloatToStr(Value:      Extended): string; $[SysUtils.pas
功能 返回浮点数Value转换成字符串
说明      当浮点数大等于1E15将采用科学记数法
参考 function SysUtils.FloatToText
例子 Edit1.Text      := FloatToStr(Now);
━━━━━━━━━━━━━━━━━━━━━
首部 function      CurrToStr(Value: Currency): string; $[SysUtils.pas
功能      返回货币数Value转换成字符串
说明 货币数只保留四位小数
参考 function      SysUtils.FloatToText
例子 Edit1.Text :=      CurrToStr(Now);
━━━━━━━━━━━━━━━━━━━━━
首部 function FloatToCurr(const      Value: Extended): Currency; $[SysUtils.pas
功能 返回浮点数Value转换成货币数
说明      如果浮点数Value超出范围则将触发异常
参考 const SysUtiles.MinCurrency;const      SysUtiles.MaxCurrency
例子 Edit1.Text :=      CurrToStr(FloatToCurr(Now));
━━━━━━━━━━━━━━━━━━━━━
首部 function      FloatToStrF(Value: Extended; Format: TFloatFormat; Precision, Digits:      Integer): string; $[SysUtils.pas
功能 返回浮点数以指定格式转换成字符串
说明      Precision指定精度;Digits指定小数宽度
参考 function      SysUtils.FloatToText
例子
///////Begin FloatToStrF
procedure      TForm1.Button1Click(Sender:      TObject);
begin
Memo1.Lines.Values['ffGeneral'] :=      FloatToStrF(StrToFloatDef(Edit1.Text, 0),
ffGeneral, SpinEdit1.Value,      SpinEdit2.Value);
Memo1.Lines.Values['ffExponent'] :=      FloatToStrF(StrToFloatDef(Edit1.Text, 0),
ffExponent, SpinEdit1.Value,      SpinEdit2.Value);
Memo1.Lines.Values['ffFixed'] :=      FloatToStrF(StrToFloatDef(Edit1.Text, 0),
ffFixed, SpinEdit1.Value,      SpinEdit2.Value);
Memo1.Lines.Values['ffNumber'] :=      FloatToStrF(StrToFloatDef(Edit1.Text, 0),
ffNumber, SpinEdit1.Value,      SpinEdit2.Value);
Memo1.Lines.Values['ffCurrency'] :=      FloatToStrF(StrToFloatDef(Edit1.Text, 0),
ffCurrency, SpinEdit1.Value,      SpinEdit2.Value);
end;
///////End      FloatToStrF
━━━━━━━━━━━━━━━━━━━━━
首部 function CurrToStrF(Value:      Currency; Format: TFloatFormat; Digits: Integer): string;      $[SysUtils.pas
功能 返回货币类型以指定格式转换成字符串
说明 Digits指定小数宽度
参考 function      SysUtils.FloatToText
例子
///////Begin CurrToStrF
procedure      TForm1.Button1Click(Sender:      TObject);
begin
Memo1.Lines.Values['ffGeneral'] :=      CurrToStrF(StrToCurrDef(Edit1.Text, 0),
ffGeneral,      SpinEdit1.Value);
Memo1.Lines.Values['ffExponent'] :=      CurrToStrF(StrToCurrDef(Edit1.Text, 0),
ffExponent,      SpinEdit1.Value);
Memo1.Lines.Values['ffFixed'] :=      CurrToStrF(StrToCurrDef(Edit1.Text, 0),
ffFixed,      SpinEdit1.Value);
Memo1.Lines.Values['ffNumber'] :=      CurrToStrF(StrToCurrDef(Edit1.Text, 0),
ffNumber,      SpinEdit1.Value);
Memo1.Lines.Values['ffCurrency'] :=      CurrToStrF(StrToCurrDef(Edit1.Text, 0),
ffCurrency,      SpinEdit1.Value);
end;
///////End      CurrToStrF
━━━━━━━━━━━━━━━━━━━━━
首部 function FloatToText(BufferArg:      PChar; const Value; ValueType: TFloatValue; Format: TFloatFormat;      Precision, Digits: Integer): Integer; $[SysUtils.pas
功能      返回浮点数以指定格式转换成指针字符串的内存大小
说明 Precision指定精度;Digits指定小数宽度
参考      <NULL>
例子
///////Begin FloatToText
procedure      TForm1.Button1Click(Sender: TObject);
var
vBuffer: array[0..255] of      Char;
E: Extended;
begin
E := StrToFloatDef(Edit1.Text,      0);
SpinEdit3.Value := FloatToText(vBuffer, E,
fvExtended, ffNumber,      SpinEdit1.Value, SpinEdit2.Value);
Edit2.Text := Copy(vBuffer, 1,      SpinEdit3.Value);
end;
///////End      FloatToText(

相关帖子

扫码关注微信公众号,及时获取最新资源信息!下载附件优惠VIP会员5折;永久VIP免费
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

免责声明:
1、本站提供的所有资源仅供参考学习使用,版权归原著所有,禁止下载本站资源参与商业和非法行为,请在24小时之内自行删除!
2、本站所有内容均由互联网收集整理、网友上传,并且以计算机技术研究交流为目的,仅供大家参考、学习,请勿任何商业目的与商业用途。
3、若您需要商业运营或用于其他商业活动,请您购买正版授权并合法使用。
4、论坛的所有内容都不保证其准确性,完整性,有效性,由于源码具有复制性,一经售出,概不退换。阅读本站内容因误导等因素而造成的损失本站不承担连带责任。
5、用户使用本网站必须遵守适用的法律法规,对于用户违法使用本站非法运营而引起的一切责任,由用户自行承担
6、本站所有资源来自互联网转载,版权归原著所有,用户访问和使用本站的条件是必须接受本站“免责声明”,如果不遵守,请勿访问或使用本网站
7、本站使用者因为违反本声明的规定而触犯中华人民共和国法律的,一切后果自己负责,本站不承担任何责任。
8、凡以任何方式登陆本网站或直接、间接使用本网站资料者,视为自愿接受本网站声明的约束。
9、本站以《2013 中华人民共和国计算机软件保护条例》第二章 “软件著作权” 第十七条为原则:为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软件等方式使用软件的,可以不经软件著作权人许可,不向其支付报酬。若有学员需要商用本站资源,请务必联系版权方购买正版授权!
10、本网站如无意中侵犯了某个企业或个人的知识产权,请来信【站长信箱312337667@qq.com】告之,本站将立即删除。
郑重声明:
本站所有资源仅供用户本地电脑学习源代码的内含设计思想和原理,禁止任何其他用途!
本站所有资源、教程来自互联网转载,仅供学习交流,不得商业运营资源,不确保资源完整性,图片和资源仅供参考,不提供任何技术服务。
本站资源仅供本地编辑研究学习参考,禁止未经资源商正版授权参与任何商业行为,违法行为!如需商业请购买各资源商正版授权
本站仅收集资源,提供用户自学研究使用,本站不存在私自接受协助用户架设游戏或资源,非法运营资源行为。
快速回复 返回顶部 返回列表