📄 funexam.dat
字号:
==========
AnsiResemblesText
CheckBox1.Checked := AnsiResemblesText(Edit1.Text, Edit2.Text);
==========
==========
AnsiContainsText
CheckBox1.Checked := AnsiContainsText(Edit1.Text, Edit2.Text);
==========
==========
AnsiStartsText
CheckBox1.Checked := AnsiStartsText(Edit1.Text, Edit2.Text);
==========
==========
AnsiEndsText
CheckBox1.Checked := AnsiEndsText(Edit1.Text, Edit2.Text);
==========
==========
AnsiReplaceText
Edit4.Text := AnsiReplaceText(Edit1.Text, Edit2.Text, Edit3.Text);
==========
==========
AnsiMatchText
CheckBox1.Checked :=AnsiMatchText(Edit1.Text, ['a1', 'a2', 'a3', 'a4']);
==========
==========
AnsiIndexText
SpinEdit1.Value := AnsiIndexText(Edit1.Text, ['a1', 'a2', 'a3', 'a4']);
==========
==========
AnsiContainsStr
CheckBox1.Checked := AnsiContainsStr(Edit1.Text, Edit2.Text);
==========
==========
AnsiStartsStr
CheckBox1.Checked := AnsiStartsStr(Edit1.Text, Edit2.Text);
==========
==========
AnsiEndsStr
CheckBox1.Checked := AnsiEndsStr(Edit1.Text, Edit2.Text);
==========
==========
AnsiReplaceStr
Edit4.Text := AnsiReplaceStr(Edit1.Text, Edit2.Text, Edit3.Text);
==========
==========
AnsiMatchStr
CheckBox1.Checked := AnsiMatchStr(Edit1.Text, ['a1', 'a2', 'a3', 'a4']);
==========
==========
AnsiIndexStr
SpinEdit1.Value := AnsiIndexStr(Edit1.Text, ['a1', 'a2', 'a3', 'a4']);
==========
==========
DupeString
Edit3.Text := DupeString(Edit1.Text, SpinEdit1.Value);
==========
==========
ReverseString
Edit3.Text := ReverseString(Edit1.Text);
==========
==========
StuffString
Edit3.Text := StuffString(Edit1.Text, SpinEdit1.Value, SpinEdit2.Value, Edit2.Text);
==========
==========
RandomFrom
Randomize; Edit3.Text := RandomFrom(['a1', 'a2', 'a3', 'a4']);
==========
==========
IfThen
Edit3.Text := IfThen(CheckBox1.Checked, Edit1.Text, Edit2.Text);
==========
==========
LeftStr
Edit3.Text := LeftStr(Edit1.Text, SpinEdit1.Value);
==========
==========
RightStr
Edit3.Text := RightStr(Edit1.Text, SpinEdit1.Value);
==========
==========
MidStr
Edit3.Text := MidStr(Edit1.Text, SpinEdit1.Value, SpinEdit2.Value);
==========
==========
SearchBuf
首部 function SearchBuf(Buf: PChar; BufLen: Integer; SelStart, SelLength: Integer; SearchString: String; Options: TStringSearchOptions = [soDown]): PChar; $[StrUtils.pas
功能 返回第一个搜索到的指针位置
说明 这函数常用于文本中搜索字符串
参考 <NULL>
例子
///////Begin SearchBuf
function SearchEdit(EditControl: TCustomEdit; const SearchString: String;
SearchOptions: TStringSearchOptions; FindFirst: Boolean = False): Boolean;
var
Buffer, P: PChar;
Size: Word;
begin
Result := False;
if (Length(SearchString) = 0) then Exit;
Size := EditControl.GetTextLen;
if (Size = 0) then Exit;
Buffer := StrAlloc(Size + 1);
try
EditControl.GetTextBuf(Buffer, Size + 1);
P := SearchBuf(Buffer, Size, EditControl.SelStart, EditControl.SelLength,
SearchString, SearchOptions);
if P <> nil then begin
EditControl.SelStart := P - Buffer;
EditControl.SelLength := Length(SearchString);
Result := True;
end;
finally
StrDispose(Buffer);
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
SearchOptions: TStringSearchOptions;
begin
SearchOptions := [];
if CheckBox1.Checked then
Include(SearchOptions, soDown);
if CheckBox2.Checked then
Include(SearchOptions, soMatchCase);
if CheckBox3.Checked then
Include(SearchOptions, soWholeWord);
SearchEdit(Memo1, Edit1.Text, SearchOptions);
Memo1.SetFocus;
end;
///////End SearchBuf
==========
==========
Soundex
Edit2.Text := Soundex(Edit1.Text, SpinEdit1.Value);
==========
==========
SoundexInt
SpinEdit2.Value := SoundexInt(Edit1.Text, SpinEdit1.Value);
==========
==========
DecodeSoundexInt
Edit2.Text := DecodeSoundexInt(SpinEdit2.Value);
==========
==========
SoundexWord
SpinEdit2.Value := SoundexWord(Edit1.Text);
==========
==========
DecodeSoundexWord
Edit2.Text := DecodeSoundexWord(SpinEdit2.Value);
==========
==========
SoundexSimilar
CheckBox1.Checked := SoundexSimilar(Edit1.Text, Edit2.Text, SpinEdit1.Value);
==========
==========
SoundexCompare
说明 Result := AnsiCompareStr(Soundex(AText, ALength), Soundex(AOther, ALength))
例子 SpinEdit2.Value := SoundexCompare(Edit1.Text, Edit2.Text, SpinEdit1.Value);
==========
==========
SoundexProc
[var AnsiResemblesProc: TCompareTextProc = SoundexProc;]
==========
==========
AllocMem
procedure TForm1.Button1Click(Sender: TObject);
var
I: PInteger;
begin
I := AllocMem(SizeOf(Integer));
I^ := 100;
Edit1.Text := IntToStr(I^);
FreeMem(I, SizeOf(Integer));
end;
==========
==========
AddExitProc
uses
ShellApi;
procedure ExitProc;
begin
ShellExecute(0, 'Open', 'Calc.exe', nil, nil, SW_SHOW);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
AddExitProc(ExitProc);
end;
==========
==========
NewStr
procedure TForm1.Button1Click(Sender: TObject);
var
P: PString;
begin
P := NewStr(Edit1.Text);
Edit2.Text := P^;
DisposeStr(P);
end;
==========
==========
DisposeStr
procedure
TForm1.Button1Click(Sender:TObject);
var
P: PString;
begin
P := NewStr(Edit1.Text);
Edit2.Text := P^;
DisposeStr(P);
end;
==========
==========
AssignStr
procedure TForm1.Button1Click(Sender: TObject);
var
P: PString;
begin
P := nil;
AssignStr(P, Edit1.Text);
Edit2.Text := P^;
DisposeStr(P);
end;
==========
==========
AppendStr
procedure TForm1.Button1Click(Sender: TObject);
var
S: string;
begin
S := Edit2.Text;
AppendStr(S, Edit1.Text);
Edit2.Text := S;
end;
==========
==========
UpperCase
Edit2.Text := UpperCase(Edit1.Text);
==========
==========
LowerCase
Edit2.Text := LowerCase(Edit1.Text);
==========
==========
CompareStr
SpinEdit1.Value := CompareStr(Edit1.Text, Edit2.Text);
==========
==========
CompareMem
CheckBox1.Checked := CompareMem(Self, Form1, 8);
==========
==========
CompareText
SpinEdit1.Value := CompareText(Edit1.Text, Edit2.Text);
==========
==========
SameText
CheckBox1.Checked := SameText(Edit1.Text, Edit2.Text);
==========
==========
AnsiUpperCase
Edit2.Text := AnsiUpperCase(Edit1.Text);
==========
==========
AnsiLowerCase
Edit2.Text := AnsiLowerCase(Edit1.Text);
==========
==========
AnsiCompareStr
SpinEdit1.Value := AnsiCompareStr(Edit1.Text, Edit2.Text);
==========
==========
AnsiSameStr
CheckBox1.Checked := AnsiSameStr(Edit1.Text, Edit2.Text);
==========
==========
AnsiCompareText
SpinEdit1.Value := AnsiCompareText(Edit1.Text, Edit2.Text);
==========
==========
AnsiSameText
CheckBox1.Checked := AnsiSameText(Edit1.Text, Edit2.Text);
==========
==========
AnsiStrComp
SpinEdit1.Value := AnsiStrComp(PChar(Edit1.Text), PChar(Edit2.Text))
==========
==========
AnsiStrIComp
SpinEdit1.Value := AnsiStrIComp(PChar(Edit1.Text), PChar(Edit2.Text))
==========
==========
AnsiStrLComp
SpinEdit1.Value := AnsiStrLComp(PChar(Edit1.Text), PChar(Edit2.Text), SpinEdit2.Value)
==========
==========
AnsiStrLIComp
SpinEdit1.Value := AnsiStrLIComp(PChar(Edit1.Text), PChar(Edit2.Text), SpinEdit2.Value)
==========
==========
AnsiStrLower
Edit2.Text := AnsiStrLower(PChar(Edit1.Text));
==========
==========
AnsiStrUpper
Edit2.Text := AnsiStrUpper(PChar(Edit1.Text));
==========
==========
AnsiLastChar
Edit2.Text := AnsiLastChar(Edit1.Text);
==========
==========
AnsiStrLastChar
Edit2.Text := AnsiLastChar(PChar(Edit1.Text));
==========
==========
WideUpperCase
Edit2.Text := WideUpperCase(Edit1.Text);
==========
==========
WideLowerCase
Edit2.Text := WideLowerCase(Edit1.Text);
==========
==========
WideCompareStr
SpinEdit1.Value := WideCompareStr(Edit1.Text, Edit2.Text);
==========
==========
WideSameStr
CheckBox1.Checked := WideSameStr(Edit1.Text, Edit2.Text);
==========
==========
WideCompareText
SpinEdit1.Value := WideCompareText(Edit1.Text, Edit2.Text);
==========
==========
WideSameText
CheckBox1.Checked := WideSameText(Edit1.Text, Edit2.Text);
==========
==========
Trim
Edit2.Text := Trim(Edit1.Text);
==========
==========
TrimLeft
Edit2.Text := TrimLeft(Edit1.Text);
==========
==========
TrimRight
Edit2.Text := TrimRight(Edit1.Text);
==========
==========
QuotedStr
Edit2.Text := QuotedStr(Edit1.Text);
==========
==========
AnsiQuotedStr
Edit2.Text := AnsiQuotedStr(Edit1.Text, '"');
==========
==========
AnsiExtractQuotedStr
procedure TForm1.Button1Click(Sender: TObject);
var
P: PChar;
begin
P := PChar(Edit1.Text);
Edit2.Text := AnsiExtractQuotedStr(P, '"');
Edit3.Text := P;
end;
==========
==========
AnsiDequotedStr
Edit2.Text := AnsiDequotedStr(Edit1.Text, '"');
==========
==========
AdjustLineBreaks
功能 返回将给定字符串的行分隔符调整为CR/LF序列
说明 AdjustLineBreaks('1'#13'2'#13)='1'#13#10'2'#13#10;AdjustLineBreaks('1'#10'2'#10)='1'#13#10'2'#13#10
参考 function SysUtils.StrNextChar
==========
==========
IsValidIdent
CheckBox1.Checked := IsValidIdent(Edit1.Text);
==========
==========
IntToStr
Edit2.Text := IntToStr(SpinEdit1.Value);
==========
==========
IntToHex
Edit2.Text := IntToHex(SpinEdit1.Value, SpinEdit2.Value);
==========
==========
StrToInt
SpinEdit1.Value := StrToInt(Edit1.Text);
==========
==========
StrToIntDef
SpinEdit1.Value := StrToIntDef(Edit1.Text, 0);
==========
==========
TryStrToInt
procedure TForm1.Button1Click(Sender: TObject);
var
I: Integer;
begin
CheckBox1.Checked := TryStrToInt(Edit1.Text, I);
SpinEdit1.Value := I;
end;
==========
==========
StrToInt64
SpinEdit1.Value := StrToInt64(Edit1.Text);
==========
==========
StrToInt64Def
SpinEdit1.Value := StrToInt64Def(Edit1.Text, 0);
==========
==========
TryStrToInt64
procedure TForm1.Button1Click(Sender: TObject);
var
I: Int64;
begin
CheckBox1.Checked := TryStrToInt64(Edit1.Text, I);
SpinEdit1.Value := I;
end;
==========
==========
StrToBool
CheckBox1.Checked := StrToBool(Edit1.Text);
==========
==========
StrToBoolDef
CheckBox1.Checked := StrToBoolDef(Edit1.Text, False);
==========
==========
TryStrToBool
说明 [注意]0为假非0为真;不是'True'和'False';Delphi6 Bug 如下修正
参考 function SysUtils.AnsiSameText;var SysUtils.TrueBoolStrs;var SysUtils.FalseBoolStrs
例子
Begin TryStrToBool
procedure TForm1.Button1Click(Sender: TObject);
var
B: Boolean;
begin
SetLength(TrueBoolStrs, 2);
SetLength(FalseBoolStrs, 2);
TrueBoolStrs[0] := 'True';
FalseBoolStrs[0] := 'False';
TrueBoolStrs[1] := 'Yes';
FalseBoolStrs[1] := 'No';
CheckBox1.Checked := TryStrToBool(Edit1.Text, B);
CheckBox2.Checked := B;
end;
///////End TryStrToBool
附加
///////Begin TryStrToBool
function TryStrToBool(const S: string; out Value: Boolean): Boolean;
function CompareWith(const aArray: array of string): Boolean;
var
I: Integer;
begin
Result := False;
for I := Low(aArray) to High(aArray) do
if AnsiSameText(S, aArray[I]) then
begin
Result := True;
Break;
end;
end;
var
LResult: Extended;
begin
Result := TryStrToFloat(S, LResult);
if Result then
Value := LResult <> 0
else
begin
Result := True; //修正处
VerifyBoolStrArray;
if CompareWith(TrueBoolStrs) then
Value := True
else if CompareWith(FalseBoolStrs) then
Value := False
else
Result := False;
end;
end;
//End TryStrToBool
==========
==========
BoolToStr
Edit1.Text := BoolToStr(CheckBox1.Checked, CheckBox2.Checked);
==========
==========
LoadStr
Edit2.Text := LoadStr(StrToIntDef(Edit1.Text, 0));
==========
==========
FmtLoadStr
==========
==========
FileOpen
///////Begin FileOpen,FileClose
procedure TForm1.Button1Click(Sender: TObject);
var
I: Integer;
begin
I := FileOpen(Edit1.Text, fmOpenRead);
CheckBox1.Checked := I > 0;
FileClose(I);
end;
///////Begin FileOpen,FileClose
==========
==========
FileCreate
///////Begin FileCreate
procedure TForm1.Button1Click(Sender: TObject);
var
I: Integer;
begin
I := FileCreate(Edit1.Text);
CheckBox1.Checked := I > 0;
FileClose(I);
end;
///////End FileCreate
==========
==========
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -