Time of Update: 2018-12-07
//匹配右邊var reg: TPerlRegEx;begin reg := TPerlRegEx.Create(nil); reg.Subject := 'Delphi 6; Delphi 7; Delphi 2007; Delphi Net'; reg.RegEx := 'Delphi (?=2007)'; // ?= reg.Replacement := '◆'; reg.ReplaceAll; ShowMessage(reg.Subject); //返回:
Time of Update: 2018-12-07
// preCaseLess: 不區分大小寫, 相當於其他語言中的 ivar reg: TPerlRegEx;begin reg := TPerlRegEx.Create(nil); reg.Subject := 'abc ABC aBc'; reg.RegEx := 'abc'; reg.Replacement := '◆'; reg.Options := [preCaseLess]; //選項是集合類型的 reg.ReplaceAll;
Time of Update: 2018-12-07
//尋找是否存在var reg: TPerlRegEx;begin reg := TPerlRegEx.Create(nil); reg.Subject := 'CodeGear Delphi 2007 for Win32'; reg.RegEx := '\d'; if reg.Match then ShowMessage('找到了') else ShowMessage('沒找到'); FreeAndNil(reg);end;//尋找是否存在(方法2)var
Time of Update: 2018-12-07
// MatchedExpression 與 SubExpressions[0]var reg: TPerlRegEx;begin reg := TPerlRegEx.Create(nil); reg.Subject := 'CodeGear Delphi 2007'; reg.RegEx := 'Delphi'; while reg.MatchAgain do begin ShowMessage(reg.MatchedExpression); //Delphi;
Time of Update: 2018-12-07
//設定搜尋範圍: Start、Stopvar reg: TPerlRegEx;begin reg := TPerlRegEx.Create(nil); reg.Subject := 'ababab'; reg.RegEx := 'ab'; reg.Replacement := '◆'; reg.Start := 1; reg.Stop := 2; while reg.MatchAgain do begin reg.Replace; end;
Time of Update: 2018-12-07
// Replacevar reg: TPerlRegEx;begin reg := TPerlRegEx.Create(nil); reg.RegEx := 'ab'; reg.Replacement := '◆'; reg.Subject := 'ababab'; reg.ReplaceAll; ShowMessage(reg.Subject); //返回: ◆◆◆ reg.Subject := 'ababab'; //下面四行程式, 相當於
Time of Update: 2018-12-07
// Compile、Studyvar reg: TPerlRegEx;begin reg := TPerlRegEx.Create(nil); reg.RegEx := 'ab'; reg.Options := [preCaseLess]; reg.Compile; {編譯運算式} reg.Study; {Study 方法會檢查是否編譯, 如果沒有編譯則執行 Compile} reg.Replacement := '◆'; reg.Subject := 'abAbaB';
Time of Update: 2018-12-07
// [A-Z]: 匹配所有大寫字母var reg: TPerlRegEx;begin reg := TPerlRegEx.Create(nil); reg.Subject := 'CodeGear Delphi 2007 for Win32'; reg.RegEx := '[A-Z]'; reg.Replacement := '◆'; reg.ReplaceAll; ShowMessage(reg.Subject); //返回: ◆ode◆ear ◆elphi 2007
Time of Update: 2018-12-07
// \b 單詞邊界var reg: TPerlRegEx;begin reg := TPerlRegEx.Create(nil); reg.Subject := 'Delphi Delphi2007 MyDelphi'; reg.RegEx := '\bDelphi\b'; //前後邊界 reg.Replacement := '◆'; reg.ReplaceAll; ShowMessage(reg.Subject); //返回: ◆ Delphi2007 MyDelphi
Time of Update: 2018-12-07
//貪婪匹配var reg: TPerlRegEx;begin reg := TPerlRegEx.Create(nil); reg.Subject := '<html><head><title>標題</title></head><body>內容</body></html>'; reg.RegEx := ''; //將會全部匹配, 因為兩頭分別是: reg.Replacement :=
Time of Update: 2018-12-07
// ? 號的意義是匹配 0-1 次, 如果需要匹配 ? 怎麼辦var reg: TPerlRegEx;begin reg := TPerlRegEx.Create(nil); reg.Subject := '你好嗎? 還行!'; reg.RegEx := '\?|!'; // 加轉義用的 \ reg.Replacement := '◆'; reg.ReplaceAll; ShowMessage(reg.Subject); //返回: 你好嗎◆ 還行◆ FreeAndNil(
Time of Update: 2018-12-07
//返回整數的四種情況const a = 1.8; b = -1.8;begin {返回比值大的最小整數:} ShowMessage(IntToStr(Ceil(1.8)) + ',' + IntToStr(Ceil(-1.8))); {返回:2,-1} {返回比值小的最大整數:} ShowMessage(IntToStr(Floor(1.8)) + ',' + IntToStr(Floor(-1.8))); {返回:1,-2} {刪除小數部分:}
Time of Update: 2018-12-07
//準備: 我們先寫一個搜尋所有英文單詞的運算式var reg: TPerlRegEx;begin reg := TPerlRegEx.Create(nil); reg.Subject := 'one two three four five six seven eight nine ten'; reg.RegEx := '\b[A-Za-z]+\b'; //這個運算式就可以找到所有的英文單詞 reg.Replacement := '◆'; reg.ReplaceAll;
Time of Update: 2018-12-07
//整除與餘數: DivModconst a = 11; b = 3;var x,y: Word;begin ShowMessage(IntToStr(a div b)); {整除得 3} ShowMessage(IntToStr(a mod b)); {餘數 2} DivMod(a,b,x,y); ShowMessage(IntToStr(x)); {3} ShowMessage(IntToStr(y)); {2}end;//返回整數: Ceil、Floorvar d1,d2
Time of Update: 2018-12-07
begin ShowMessage(IntToStr(Byte(^A))); {1} ShowMessage(IntToStr(Integer(^b))); {2} ShowMessage(IntToStr(Integer(^^))); {30} ShowMessage(IntToStr(Integer(^?))); {127}end;^
Time of Update: 2018-12-07
此頁已更新到: System 單元下的公用函數目錄//絕對值: Absvar d: Real; v: Variant;begin d := Abs(-1.2); ShowMessage(FloatToStr(d)); {1.2} v := '-100'; ShowMessage(v); {-100; v 是變體類型無需轉換} v := Abs(v); ShowMessage(v); {100; 如果變數的確是個數字,
Time of Update: 2018-12-07
//對比字串是不是一樣: AnsiSameStr、AnsiSameTextvar ss,s: AnsiString; b: Boolean;begin ss := 'abc'; s := 'ABC'; b := AnsiSameStr(ss,s); {區分大小寫} ShowMessage(BoolToStr(b)); {False} b := AnsiSameText(ss,s); {不區分大小寫} ShowMessage(BoolToStr(b));
Time of Update: 2018-12-07
//從左右兩端提取指定數目的字串: AnsiLeftStr、AnsiRightStrvar ss,s: AnsiString;begin ss := 'abcdefg'; s := AnsiLeftStr(ss, 2); ShowMessage(s); {ab} s := AnsiRightStr(ss, 2); ShowMessage(s); {fg}end;//從指定位置開始提取指定長度的字串: AnsiMidStrvar ss,s: AnsiString;begin ss
Time of Update: 2018-12-07
//先糊塗一下var b: Boolean;begin b := AnsiResemblesText('abc','apc'); ShowMessage(BoolToStr(b)); {True} b := AnsiResemblesText('abc','agc'); ShowMessage(BoolToStr(b)); {False} b := AnsiResemblesText('abc','aac'); ShowMessage(BoolToStr(b)); {False}{
Time of Update: 2018-12-07
unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;type {父類} TBase = class procedure proc; virtual; abstract; {抽象方法} end; {子類} TChild = class(TBase) procedure proc;