📄 funexam.dat
字号:
FileRead
例子 <参见FileOpen>
==========
==========
FileWrite
例子 <参见FileCreate>
==========
==========
FileSeek
<参见FileOpen>
==========
==========
FileClose
<参见FileOpen>
==========
==========
FileAge
///////Begin FileAge,DateTimeToStr,FileDateToDateTime
procedure TForm1.Button1Click(Sender: TObject);
begin
SpinEdit1.Value := FileAge(Edit1.Text);
if SpinEdit1.Value > 0 then
Edit2.Text := DateTimeToStr(FileDateToDateTime(SpinEdit1.Value));
end;
///////End FileAge,DateTimeToStr,FileDateToDateTime
==========
==========
FileExists
CheckBox1.Checked := FileExists(Edit1.Text);
==========
==========
DirectoryExists
CheckBox1.Checked := DirectoryExists(Edit1.Text);
==========
==========
ForceDirectories
CheckBox1.Checked := ForceDirectories(Edit1.Text);
==========
==========
FindFirst
///////Begin FindFirst,FindNext,FindClose
procedure TForm1.Button1Click(Sender: TObject);
var
vSearchRec: TSearchRec;
I: Integer;
begin
Memo1.Clear;
I := FindFirst(Edit1.Text, faAnyFile, vSearchRec);
while I = 0 do begin
Memo1.Lines.Add(vSearchRec.Name);
I := FindNext(vSearchRec);
end;
FindClose(vSearchRec);
end;
///////End FindFirst,FindNext,FindClose
==========
==========
FindNext
例子 <参见FindFirst>
==========
==========
FindClose
例子 <参见FindFirst>
==========
==========
FileGetDate
///////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
==========
==========
FileSetDate
SpinEdit1.Value := FileSetDate(Edit1.Text, DateTimeToFileDate(StrToDateTime(Edit2.Text)));
==========
==========
FileGetAttr
SpinEdit1.Value := FileGetAttr(Edit1.Text);
==========
==========
FileSetAttr
SpinEdit1.Value := FileSetAttr(Edit1.Text, SpinEdit2.Value);
==========
==========
FileIsReadOnly
CheckBox1.Checked := FileIsReadOnly(Edit1.Text);
==========
==========
FileSetReadOnly
CheckBox1.Checked := FileSetReadOnly(Edit1.Text, CheckBox2.Checked);
==========
==========
DeleteFile
CheckBox1.Checked := DeleteFile(Edit1.Text);
==========
==========
RenameFile
CheckBox1.Checked := RenameFile(Edit1.Text, Edit2.Text);
==========
==========
ChangeFileExt
Edit1.Text := ChangeFileExt(Edit2.Text, Edit3.Text);
==========
==========
ExtractFilePath
Edit1.Text := ExtractFilePath(Edit2.Text);
==========
==========
ExtractFileDir
Edit1.Text := ExtractFileDir(Edit2.Text);
==========
==========
ExtractFileDrive
Edit1.Text := ExtractFileDrive(Edit2.Text);
==========
==========
ExtractFileName
Edit1.Text := ExtractFileName(Edit2.Text);
==========
==========
ExtractFileExt
Edit1.Text := ExtractFileExt(Edit2.Text);
==========
==========
ExpandFileName
Edit1.Text := ExpandFileName(Edit2.Text);
==========
==========
ExpandFileNameCase
///////Begin ExpandFileNameCase
procedure TForm1.Button1Click(Sender: TObject);
var
vFilenameCaseMatch: TFilenameCaseMatch;
begin
Edit1.Text := ExpandFileNameCase(Edit2.Text, vFilenameCaseMatch);
SpinEdit1.Value := Ord(vFilenameCaseMatch);
end;
///////End ExpandFileNameCase
==========
==========
ExpandUNCFileName
Edit1.Text := ExpandUNCFileName(Edit2.Text);
==========
==========
ExtractRelativePath
Edit1.Text := ExtractRelativePath(Edit2.Text, Edit3.Text);
==========
==========
ExtractShortPathName
Edit1.Text := ExtractShortPathName(Edit2.Text);
==========
==========
FileSearch
Edit1.Text := FileSearch(Edit2.Text, Edit3.Text);
==========
==========
DiskFree
SpinEdit1.Value := DiskFree(SpinEdit2.Value);
==========
==========
DiskSize
SpinEdit1.Value := DiskSize(SpinEdit2.Value);
==========
==========
FileDateToDateTime
例子 <参见FileAge>
==========
==========
DateTimeToFileDate
<参见FileSetDate>
==========
==========
GetCurrentDir
Edit1.Text := GetCurrentDir;
==========
==========
SetCurrentDir
CheckBox1.Checked := SetCurrentDir(Edit1.Text);
==========
==========
CreateDir
CheckBox1.Checked := CreateDir(Edit1.Text);
==========
==========
RemoveDir
CheckBox1.Checked := RemoveDir(Edit1.Text);
==========
==========
StrLen
SpinEdit2.Value := StrLen(PChar(Edit1.Text));
==========
==========
StrEnd
Edit2.Text := StrEnd(PChar(Edit1.Text)) - SpinEdit1.Value;
==========
==========
StrMove
///////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
==========
==========
StrCopy
///////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
==========
==========
StrECopy
///////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
==========
==========
StrLCopy
///////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
==========
==========
StrPCopy
///////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
==========
==========
StrPLCopy
///////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
==========
==========
StrCat
///////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
==========
==========
StrLCat
///////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
==========
==========
StrComp
SpinEdit1.Value := StrComp(PChar(Edit1.Text), PChar(Edit2.Text));
==========
==========
StrIComp
==========
==========
StrLComp
SpinEdit1.Value := StrLComp(PChar(Edit1.Text), PChar(Edit2.Text), SpinEdit2.Value)
==========
==========
StrLIComp
SpinEdit1.Value := StrLIComp(PChar(Edit1.Text), PChar(Edit2.Text), SpinEdit2.Value)
==========
==========
StrScan
Edit2.Text := StrScan(PChar(Edit1.Text), '*');
==========
==========
StrRScan
Edit2.Text := StrRScan(PChar(Edit1.Text), '*');
==========
==========
StrPos
Edit3.Text := StrPos(PChar(Edit1.Text), PChar(Edit2.Text));
==========
==========
StrUpper
Edit1.Text := StrUpper(PChar(Edit2.Text));
==========
==========
StrLower
Edit1.Text := StrLower(PChar(Edit2.Text));
==========
==========
StrPas
Edit1.Text := StrPas(PChar(Edit2.Text));
==========
==========
StrAlloc
///////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
==========
==========
StrBufSize
SpinEdit1.Value := StrBufSize(StrAlloc(SpinEdit2.Value));
==========
==========
StrNew
///////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
==========
==========
StrDispose
例子 <参见StrNew>
==========
==========
Format
"%" [索引 ":"] ["-"] [宽度] ["." 摘要] 类型
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)]);
==========
==========
FmtStr
参见Format>
==========
==========
StrFmt
<参见Format>
==========
==========
StrLFmt
<参见Format>
==========
==========
FormatBuf
<参见Format>
==========
==========
WideFormat
<参见Format>
==========
==========
WideFmtStr
参见Format>
==========
==========
WideFormatBuf
<参见Format>
==========
==========
FloatToStr
Edit1.Text := FloatToStr(Now);
==========
==========
CurrToStr
Edit1.Text := CurrToStr(Now);
==========
==========
FloatToCurr
Edit1.Text := CurrToStr(FloatToCurr(Now));
==========
==========
FloatToStrF
///////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
==========
==========
CurrToStrF
///////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
==========
==========
FloatToText
///////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(
==========
==========
FormatFloat
Edit1.Text := FormatFloat(Edit2.Text, StrToFloatDef(Edit3.Text, 0));
==========
==========
FormatCurr
Edit1.Text := FormatCurr(Edit2.Text, StrToCurrDef(Edit3.Text, 0));
==========
==========
FloatToTextFmt
///////Begin FloatToTextFmt
procedure TForm1.Button1Click(Sender: TObject);
var
vBuffer: array[0..255] of Char;
E: Extended;
begin
E := StrToFloatDef(Edit1.Text, 0);
SpinEdit1.Value := FloatToTextFmt(vBuffer, E,
fvExtended, PChar(Edit2.Text));
Edit3.Text := Copy(vBuffer, 1, SpinEdit1.Value);
end;
///////End FloatToTextFmt
==========
==========
StrToFloat
var E: Extended; begin E := StrToFloat(Edit1.Text); end;
==========
==========
StrToFloatDef
var E: Extended; begin E := StrToFloatDef(Edit1.Text, 0); end;
==========
==========
TryStrToFloat
///////Begin TryStrToFloat
procedure TForm1.Button1Click(Sender: TObject);
var
E: Extended;
begin
CheckBox1.Checked := TryStrToFloat(Edit1.Text, E);
Edit2.Text := FormatFloat('', E);
end;
///////End TryStrToFloat
==========
==========
StrToCurr
var C: Currency; begin C := StrToCurr(Edit1.Text); end;
==========
==========
StrToCurrDef
var C: Currency; begin C := StrToCurrDef(Edit1.Text, 0); end;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -