// คนที่คุ้นเคยกับ Java หรือ C# อาจโกรธมากกับ Delphi และไม่มีประเภทพื้นฐานในการทำงานประจำวันของฉันฉันมักจะพยายามรวบรวมฟังก์ชั่นบางอย่างด้วยกัน พวกเขาออกไปที่นี่
หน่วย baseclass;
ส่วนต่อประสาน
ใช้
Sysutils, คลาส, strutils, idglobal, คณิตศาสตร์;
พิมพ์
tcharset = ชุดถ่าน;
วาจา
tnormalCharset: tcharset = [ #13, #10, #32, '.', ',', ';'];
พิมพ์
tString = คลาส
ส่วนตัว
ftext: สตริง;
สาธารณะ
ฟังก์ชั่น charat (aposition: จำนวนเต็ม): Char;
// ตัวอักษรของตำแหน่งที่ระบุ
ฟังก์ชัน TOLOWERCASE: String;
ฟังก์ชั่นคลาส TOLOWERCASE (การดอง: สตริง): สตริง;
// ตัวพิมพ์เล็ก
ฟังก์ชั่น touppercase: สตริง;
ฟังก์ชั่นคลาส touppercase (การดอง: สตริง): สตริง;
//เมืองหลวง
ค่าฟังก์ชั่นคลาส (Avalue: String): บูลีน;
ค่าฟังก์ชั่นคลาส (Avalue: บูลีน): สตริง;
ฟังก์ชั่นคลาส StringIn (Avalue: String; Avalues: Array of String): บูลีน;
ฟังก์ชั่นคลาสซ้าย (Avalue: String; Alength: Integer): String;
ฟังก์ชั่นคลาสถูกต้อง (Avalue: String; Alength: Integer): String;
ฟังก์ชั่นคลาส deletePrefix (Avalue: String; recidestring: tcharset = [#32]): String;
ฟังก์ชั่นคลาส deletesuffix (avalue: string; recidestring: tcharset = [#32]): สตริง; // ลบคำต่อท้าย
-
ฟังก์ชั่นคลาสเปรียบเทียบ (Avalue1: String; Avalue2: String): Boolean;
ฟังก์ชั่นคลาส HashCode (Avalue: String): Integer;
ฟังก์ชั่นคลาส LastChar (Avalue: String): Char;
ฟังก์ชั่นคลาส Stringreplace (const s, oldpattern, newpattern: string;
ธง: treplaceflags): สตริง;
ฟังก์ชั่นคลาส Stringofchar (CH: Char; Count: Integer): String;
ฟังก์ชั่นคลาส setstring (var s: string; buffer: pchar; len: จำนวนเต็ม): string;
ฟังก์ชั่นคลาส getPy (string: string): สตริง;
// รับพินอินที่สอดคล้องกัน
ฟังก์ชั่นคลาส isallchinese (string: string): บูลีน;
ฟังก์ชั่นคลาส isallenglish (Astr: String): บูลีน;
ฟังก์ชั่นคลาส getFirstword (Avalue: String; Var Aword: String; Asparator: Tcharset): จำนวนเต็ม;
ฟังก์ชั่นคลาส getFirstword (Avalue: String; var aword: string; aseparator: string): จำนวนเต็ม;
// ค่าส่งคืนคือความยาวจากจุดเริ่มต้นไปยังเอกสาร
ฟังก์ชั่นคลาส getallword (avalue: string; aseparator: string): tStringList;
// ส่งคืนคำหลักทั้งหมด หลังจากใช้งานโปรดปลดปล่อยชุดผลลัพธ์;
// หมายเหตุ: โปรดอย่าใช้ฟังก์ชั่นนี้ในการใช้งานในอนาคต โปรดใช้เวอร์ชันที่โหลดซ้ำ
// getallword (Avalue: String; aseparator: String; AstringList: TStringList);
ขั้นตอนการเรียน GetAllword (Avalue: String; Asparator: String; AstringList: TSTRINGS);
// โหลดชุดผลลัพธ์ทั้งหมดลงในบัญชี AstringList;
ขั้นตอนการเรียน GetAllwordall (Avalue: String; aseparator: String; AstringList: TStrings);
ฟังก์ชั่นคลาส StringTocharset (Avalue: String): TCHARSET;
ฟังก์ชั่นคลาส charsettostostring (Avalue: tcharset): String;
การอัปเดตฟังก์ชันคลาส (AoldString: String; // สตริงที่ดำเนินการ
AUPDATESORCE: String;
AUPDATESTRING: String;
ASENTENCEPERATOR: String;
Awordseparator: String // ตัวคั่นเอกสาร;
): สตริง; // ผลตอบแทน
// ตัวอย่างเช่นค่าส่งคืนของ 'dbarcode asc, dname desc', 'dbarcode', '', ',', ''
// 'dname desc';
ฟังก์ชั่นคลาส DELETEREPEAT (AOLDSTRING: String; // เพื่อจัดการอักขระ
Adeletestring: Char;
Arepeat: Char): String;
ฟังก์ชั่นคลาส ifthen (aexpression: boolean; atrue: string; afalse: string): string;
// ส่งคืนสตริงที่เกี่ยวข้องตามค่าของนิพจน์
ฟังก์ชั่นคลาส Absolutetorelate (aabsolute: string; acurrent: string): string;
// ให้สองไฟล์แปลงเส้นทางสัมบูรณ์เป็นเส้นทางสัมพัทธ์
ฟังก์ชั่นคลาส relatetoabsolute (arate: string; acurrent: string): string;
ฟังก์ชั่นคลาสที่คล้ายกัน (AONE, ATWO: String): จำนวนเต็ม;
ฟังก์ชั่นคลาส getCharnum (การดอง: String; achar: char): จำนวนเต็ม;
ดัชนีฟังก์ชั่นคลาสของ (Abtring, Asubstring: String): จำนวนเต็ม;
ฟังก์ชั่นคลาส Zerotoint (Abtring: String): Integer;
ฟังก์ชั่นคลาส Zerotofloat (Abtring: String): double;
ฟังก์ชั่นคลาส ZeroTOSTR (Attring: String): String;
ฟังก์ชั่นคลาส Sametext (Atgring, Attring1: String): Boolean;
ฟังก์ชั่นคลาสย้อนกลับ (การดอง: สตริง): สตริง;
ฟังก์ชั่นคลาส isvalidip (const s: string): บูลีน;
ฟังก์ชั่นคลาส Fillstring (ACHAR: Char; Alength: Integer): String;
ฟังก์ชั่นคลาส stuffstring (const atext: string; astart, alength: cardinal;
const asubtext: string): string;
ฟังก์ชั่นคลาส getNextString (var sourcestring: string; asplitchar: string): string;
จบ;
// ประเภทจำนวนเต็ม
tinteger = คลาส
ฟังก์ชั่นคลาส Inttostr (Ainteger: Integer): String;
ฟังก์ชั่นคลาส inttostr (ainteger: int64): สตริง;
ฟังก์ชั่นคลาส ISVALIDINT (ATBRING: String): บูลีน;
ฟังก์ชั่นคลาส ISVALIDINT64 (ATBRING: String): Boolean;
ฟังก์ชั่นคลาส Maxint: จำนวนเต็ม;
ฟังก์ชั่นคลาส Maxlongint: จำนวนเต็ม;
ฟังก์ชั่นคลาส HashCode (Ainteger: Integer): จำนวนเต็ม;
ฟังก์ชั่นคลาส inttobin (ainteger: cardinal): String;
ฟังก์ชั่นคลาส inttohex (ainteger: จำนวนเต็ม): สตริง;
ฟังก์ชั่นคลาส hextoint (Abtring: String): จำนวนเต็ม;
ฟังก์ชั่นคลาส makeerialno (ainteger: จำนวนเต็ม; adigit: จำนวนเต็ม): สตริง;
จบ;
tfloat = คลาส
ฟังก์ชั่นคลาส ISVALIDFLOAT (ATBRING: String): Boolean;
ฟังก์ชั่นคลาส MaxDouble: double;
ฟังก์ชั่นคลาส Mindouble: Double;
ฟังก์ชั่นคลาส maxextended: ขยาย;
ฟังก์ชั่นคลาส minextended: ขยาย;
ฟังก์ชั่นคลาส samevalue (const a, b: single; epsilon: single = 0): บูลีน;
ฟังก์ชั่นคลาส samevalue (const a, b: double; epsilon: double = 0): บูลีน;
ฟังก์ชั่นคลาส samevalue (const a, b: extended; epsilon: extended = 0): บูลีน;
ฟังก์ชั่นคลาส floattomoney (ค่า const: double; round: boolean = true): string;
จบ;
tboolean = คลาส
ฟังก์ชั่นคลาส booltoStr (aboolean: boolean): สตริง;
ฟังก์ชั่นคลาส strtobool (Abtring: String): บูลีน;
จบ;
การดำเนินการ
{tString}
ฟังก์ชั่น getpyindexchar (achar: string): char;
เริ่ม
Case word (achar [1]) shl 8 + word (achar [2]) ของ
$ B0A1 .. $ B0C4: ผลลัพธ์: = 'A';
$ B0C5 .. $ B2C0: ผลลัพธ์: = 'B';
$ B2C1 .. $ B4ED: ผลลัพธ์: = 'C';
$ B4EE .. $ B6E9: ผลลัพธ์: = 'D';
$ b6ea .. $ b7a1: ผลลัพธ์: = 'e';
$ B7A2 .. $ B8C0: ผลลัพธ์: = 'F';
$ B8C1 .. $ B9FD: ผลลัพธ์: = 'G';
$ B9FE .. $ BBF6: ผลลัพธ์: = 'H';
$ BBF7 .. $ BFA5: ผลลัพธ์: = 'J';
$ bfa6 .. $ c0ab: ผลลัพธ์: = 'k';
$ C0AC .. $ C2E7: ผลลัพธ์: = 'L';
$ C2E8 .. $ C4C2: ผลลัพธ์: = 'M';
$ c4c3 .. $ c5b5: ผลลัพธ์: = 'n';
$ C5B6 .. $ C5BD: ผลลัพธ์: = 'O';
$ C5BE .. $ C6D9: ผลลัพธ์: = 'P';
$ C6DA .. $ C8BA: ผลลัพธ์: = 'Q';
$ C8BB .. $ C8F5: ผลลัพธ์: = 'R';
$ C8F6 .. $ CBF9: ผลลัพธ์: = 'S';
$ cbfa .. $ cdd9: ผลลัพธ์: = 't';
$ CDDA .. $ CEF3: ผลลัพธ์: = 'W';
$ CEF4 .. $ D188: ผลลัพธ์: = 'x';
$ d1b9 .. $ d4d0: ผลลัพธ์: = 'y';
$ d4d1 .. $ d7f9: ผลลัพธ์: = 'z';
อื่น
ผลลัพธ์: = ถ่าน (0);
จบ;
จบ;
ฟังก์ชั่นคลาส tString.getPy (Astr: String): String;
วาจา
ฉัน: จำนวนเต็ม;
เริ่ม
ผลลัพธ์: = '';
สำหรับ i: = 1 ถึงความยาว (Astr) ทำ
เริ่ม
ถ้า bytetype (Astr, i) = mbtrailbyte แล้ว
ผลลัพธ์: = ผลลัพธ์ + getPyIndexchar (Astr [i - 1] + Astr [i])
อื่น
ถ้า bytetype (Astr, i) = mbsinglebyte แล้ว
ผลลัพธ์: = ผลลัพธ์ + Astr [i];
จบ;
จบ;
ฟังก์ชั่น tstring.charat (aposition: จำนวนเต็ม): Char;
เริ่ม
ผลลัพธ์: = ftext [aposition];
จบ;
ฟังก์ชั่นคลาส TSTRING.CHARSETTOSTRING (AVALUE: TCHARSET): String;
เริ่ม
จบ;
ฟังก์ชั่นคลาส TSTRING.COMPARESTRING (AVALUE1, AVALUE2: String): บูลีน;
เริ่ม
ผลลัพธ์: = uppercase (Avalue1) = uppercase (Avalue2);
จบ;
ฟังก์ชั่นคลาส TSTRING.DELETEPREFIX (AVALUE: String;
คงที่: tcharset): สตริง;
เริ่ม
ในขณะที่ System.length (Avalue)> 0 ทำ
เริ่ม
ถ้า Avalue [1] ในการคงที่แล้ว
ลบ (Avalue, 1, 1)
อื่น
หยุดพัก;
จบ;
ผลลัพธ์: = Avalue;
จบ;
ฟังก์ชั่นคลาส tString.getFirstword (Avalue: String; var aword: string; aseparator: tcharset
): จำนวนเต็ม;
วาจา
TMPSTR: สตริง;
TMPPOS: จำนวนเต็ม;
เริ่ม
TMPSTR: = deletesuffix (Avalue, asparator);
TMPSTR: = deletePrefix (Avalue, aseparator);
ผลลัพธ์: = ความยาว (Avalue) - ความยาว (TMPSTR);
{ถ้าความยาว (TMPSTR) = 0 จากนั้นออกจาก;
ถ้า (tmpstr [1] = '' '') และ (tmpstr [2] = '' '') แล้ว
เริ่ม
สำหรับ TMPPOS: = 3 ถึงความยาว (TMPSTR) ทำ
เริ่ม
ถ้า tmpStr [tmppos] ใน ['' ''] แล้ว
หยุดพัก;
จบ;
จบ;
ถ้า TMPPOS> 3 TMPPOS: = TMPPOS + 2;
-
สำหรับ TMPPOS: = 1 ถึงความยาว (TMPSTR) ทำ
เริ่ม
ถ้า TMPSTR [TMPPOS] ใน aseparator แล้ว
หยุดพัก;
จบ;
TMPPOS: = TMPPOS -1;
// {todo: -OGHS แก้ไขการแยกวิเคราะห์พารามิเตอร์สุดท้ายไม่ถูกต้อง}
ถ้า (tmppos = 0) และ (avalue <> '') แล้ว
TMPPOS: = ความยาว (Avalue);
Aword: = Copy (Avalue, ผลลัพธ์ + 1, TMPPOS);
ผลลัพธ์: = ผลลัพธ์ + tmppos;
จบ;
ฟังก์ชั่นคลาส TSTRING.HASHCODE (AVALUE: String): จำนวนเต็ม;
วาจา
ฉัน: จำนวนเต็ม;
tmpvalue: จำนวนเต็ม;
เริ่ม
tmpvalue: = 0;
สำหรับ i: = 1 ถึง system.length (Avalue) ทำ
เริ่ม
tmpvalue: = 3 * tmpvalue + ord (avalue [i]);
จบ;
ผลลัพธ์: = tmpvalue;
จบ;
ฟังก์ชั่นคลาส TSTRING.ISALLCHINESE (AST: String): บูลีน;
วาจา
ฉัน: จำนวนเต็ม;
เริ่ม
ผลลัพธ์: = จริง;
สำหรับ i: = 1 ถึงความยาว (Astr) ทำ
เริ่ม
ถ้า bytetype (Astr, i) = mbsinglebyte แล้ว
เริ่ม
ผลลัพธ์: = เท็จ;
หยุดพัก;
จบ;
จบ;
จบ;
ฟังก์ชั่นคลาส TSTRING.ISALLENGLISH (Astr: String): บูลีน;
วาจา
ฉัน: จำนวนเต็ม;
เริ่ม
ผลลัพธ์: = จริง;
สำหรับ i: = 1 ถึงความยาว (Astr) ทำ
เริ่ม
ถ้า bytetype (Astr, i) <> mbsinglebyte แล้ว
เริ่ม
ผลลัพธ์: = เท็จ;
หยุดพัก;
จบ;
จบ;
จบ;
ฟังก์ชั่นคลาส TSTRING.LASTCHAR (AVALUE: String): Char;
เริ่ม
ผลลัพธ์: = Avalue [System.length (Avalue)];
จบ;
ฟังก์ชั่นคลาส tString.left (Avalue: String; Alength: Integer): String;
เริ่ม
ผลลัพธ์: = คัดลอก (Avalue, 1, Alength);
จบ;
ฟังก์ชั่นคลาส tString.right (Avalue: String; Alength: Integer): String;
เริ่ม
ผลลัพธ์: = strutils.rightstr (Avalue, Alength);
จบ;
ฟังก์ชั่นคลาส TSTRING.SETSTRING (VAR S: String; Buffer: PCHAR;
Len: Integer): String;
เริ่ม
System.setstring (S, Buffer, Len);
ผลลัพธ์: = s;
จบ;
ฟังก์ชั่นคลาส TSTRING.STRINGIN (AVALUE: String;
Avalues: อาร์เรย์ของสตริง): บูลีน;
วาจา
ฉัน: จำนวนเต็ม;
เริ่ม
ผลลัพธ์: = เท็จ;
สำหรับ i: = low (avalues) ถึงสูง (avalues) ทำ
เริ่ม
ถ้า uppercase (avalue) = uppercase (avalues [i]) แล้ว
เริ่ม
ผลลัพธ์: = จริง;
หยุดพัก;
จบ;
จบ;
จบ;
ฟังก์ชั่นคลาส TSTRING.STRINGOFCHAR (CH: CHAR; COUNT: Integer): String;
เริ่ม
ผลลัพธ์: = system.stringofchar (ch, count);
จบ;
ฟังก์ชั่นคลาส tString.stringreplace (const s, oldpattern,
NEWPATTERN: String;
เริ่ม
ผลลัพธ์: = sysutils.stringreplace (s, oldpattern, newpattern, ธง);
จบ;
ฟังก์ชั่นคลาส TSTRING.STRINGTOCHARSET (AVALUE: String): TCHARSET;
วาจา
ฉัน: จำนวนเต็ม;
เริ่ม
ผลลัพธ์: = [];
สำหรับ i: = 1 ถึงความยาว (Avalue) ทำ
เริ่ม
ผลลัพธ์: = ผลลัพธ์ + [Avalue [i]];
จบ;
จบ;
ฟังก์ชั่น tString.toLowerCase: สตริง;
เริ่ม
ผลลัพธ์: = ตัวพิมพ์เล็ก (ftext);
จบ;
ฟังก์ชั่น tString.touppercase: สตริง;
เริ่ม
ผลลัพธ์: = uppercase (ftext);
จบ;
ฟังก์ชั่นคลาส tstring.valueof (Avalue: บูลีน): สตริง;
เริ่ม
ถ้า Avalue แล้ว
ผลลัพธ์: = 'ใช่'
อื่น
ผลลัพธ์: = 'ไม่';
จบ;
ฟังก์ชั่นคลาส tstring.valueof (Avalue: String): บูลีน;
เริ่ม
ผลลัพธ์: = StringIn (Avalue, ['ใช่', 'ใช่', 'ตกลง']);
จบ;
ฟังก์ชั่นคลาส TSTRING.GETFIRSTWORD (AVALUE: String; Var Aword: String;
aseparator: สตริง): จำนวนเต็ม;
เริ่ม
ผลลัพธ์: = getFirstword (Avalue, Aword, Stringtocharset (aseparator));
จบ;
ฟังก์ชั่นคลาส TSTRING.GETALLWORD (AVALUE, ASPARATOR: String): TSTRINGLIST;
วาจา
TMPLIST: TSTRINGLIST;
tmpword: สตริง;
เริ่ม
tmplist: = tstringlist.create;
ในขณะที่ความยาว (avalue)> 0 ทำ
เริ่ม
tmpword: = '';
ลบ (Avalue, 1, getFirstword (Avalue, tmpword, aseparator));
ถ้า tmpword <> '' แล้ว
tmplist.add (tmpword)
อื่น
หยุดพัก;
จบ;
ผลลัพธ์: = tmplist;
จบ;
ฟังก์ชั่นคลาส TSTRING.UPDATESENTENCE (AOLDSTRING, AUPDATESORCE,
AUPDATESTRING, ASENTENCEPERATOR, AWORDSeparator: String): String;
วาจา
tmpsentence: สตริง;
tmpword: สตริง;
tmpword1: สตริง;
ฉัน: จำนวนเต็ม;
tmpresult: สตริง;
เริ่ม
// รับประโยคแรก
tmpsentence: = aoldstring;
tmpresult: = '';
ในขณะที่ความยาว (tmpsentence)> 0 ทำ
เริ่ม
i: = getFirstword (tmpsentence, tmpword, asentenceparator);
tmpresult: = tmpresult + ซ้าย (tmpsentence, i - ความยาว (tmpword));
ลบ (tmpsentence, 1, i);
ถ้า tmpword <> '' แล้ว
เริ่ม
i: = getFirstword (tmpword, tmpword1, awordseparator);
TMPRESULT: = TMPRESULT + ซ้าย (TMPWORD, I - ความยาว (TMPWORD1));
หากเปรียบเทียบ (TMPWORD1, AUPDATESOURCE) แล้ว
เริ่ม
TMPRESULT: = TMPRESULT + AUPDATESTRING;
จบ
อื่น
เริ่ม
TMPRESULT: = TMPRESULT + TMPWORD;
จบ;
จบ;
จบ;
tmpresult: = deletePrefix (tmpresult, ['', ',']);
tmpresult: = deletesuffix (tmpresult, ['', ',']);
tmpresult: = deleterepeat (tmpresult, ',', ',' ');
tmpresult: = deleterepeat (tmpresult, '', '');
ผลลัพธ์: = tmpresult;
จบ;
ฟังก์ชั่นคลาส TSTRING.DELETEREPEAT (AOLDSTRING: String; Adeletestring,
Arepeat: Char): String;
วาจา
ฉัน: จำนวนเต็ม;
tmpfind1: บูลีน;
เริ่ม
tmpfind1: = false;
สำหรับ i: = ความยาว (aoldstring) ลงไป 1 ทำ
เริ่ม
ถ้า tmpfind1 แล้ว
เริ่ม
ถ้า aoldstring [i] = Adeletestring แล้ว
ลบ (Aoldstring, i, 1)
อื่น
เริ่ม
ถ้า aoldstring [i] = arepeat แล้ว
ดำเนินการต่อ;
tmpfind1: = aoldstring [i] = Adeletestring;
จบ;
จบ
อื่น
เริ่ม
ถ้า Adeletestring <> arepeat แล้ว
ถ้า aoldstring [i] = arepeat แล้ว
ดำเนินการต่อ;
tmpfind1: = aoldstring [i] = Adeletestring
จบ;
จบ;
ผลลัพธ์: = aoldstring;
จบ;
ฟังก์ชั่นคลาส tString.deletesuffix (Avalue: String;
คงที่: tcharset): สตริง;
เริ่ม
ในขณะที่ System.length (Avalue)> 0 ทำ
เริ่ม
ถ้า avalue [system.length (avalue)] ใน recipstring แล้ว
ลบ (Avalue, System.Length (Avalue), 1)
อื่น
หยุดพัก;
จบ;
ผลลัพธ์: = Avalue;
จบ;
ขั้นตอนการเรียน TSTRING.GETALLWORD (Avalue, Asparator: String;
Astringlist: tstrings);
วาจา
tmpword: สตริง;
เริ่ม
ถ้า AstringList = Nil แล้ว
AstringList: = tstringlist.create;
ในขณะที่ความยาว (avalue)> 0 ทำ
เริ่ม
tmpword: = '';
ลบ (Avalue, 1, getFirstword (Avalue, tmpword, aseparator));
ถ้า tmpword <> '' แล้ว
Astringlist.add (TMPWORD)
อื่น
หยุดพัก;
จบ;
จบ;
ฟังก์ชั่นคลาส tstring.ifthen (aexpression: boolean; atrue,
Afalse: String): String;
เริ่ม
ถ้า aexpression แล้ว
ผลลัพธ์: = atrue
อื่น
ผลลัพธ์: = afalse;
จบ;
ฟังก์ชั่นคลาส tString.absolutetorelate (aabsolute,
acurrent: String): String;
วาจา
tmpsimilarstring: สตริง;
Aoldfile: String;
ฉัน: จำนวนเต็ม;
TMPPOS: จำนวนเต็ม;
เริ่ม
// หลังการแปลงมันเป็นรูปแบบ .../../a.ini;
// ถ้ามันไม่ได้อยู่ในไดรฟ์เดียวกันมันจะกลับไปที่เส้นทางสัมบูรณ์โดยตรง
ถ้า Extractfiledrive (aabsolute) <> extractfiledrive (acurrent) แล้ว
ผลลัพธ์: = aabsolute
อื่น
เริ่ม
tmpsimilarstring: = '';
Aoldfile: = aabsolute;
AABSOLUTE: = ExtractFilePath (AABSOLUTE);
TMPPOS: = การวางตำแหน่งที่คล้ายกัน (aAbsolute, acurrent);
ลบ (aoldfile, 1, tmppos - 1);
ลบ (acurrent, 1, tmppos - 1);
สำหรับ i: = 0 ถึง getcharnum (acurrent, '/') -1 ทำ
เริ่ม
tmpsimilarstring: = tmpsimilarstring + '../';
จบ;
ผลลัพธ์: = tmpsimilarstring + aoldfile;
จบ;
จบ;
ฟังก์ชั่นคลาส TSTRING.RELATETOABSOLUTE (arate, acurrent: string): string;
วาจา
tmpsimilarstring: สตริง;
tmprootcount: จำนวนเต็ม;
ฉัน: จำนวนเต็ม;
เริ่ม
ถ้าความยาว (arelate)> 2 แล้ว
เริ่ม
ถ้า arelate [2] = ':' แล้ว
เริ่ม
ผลลัพธ์: = arelate;
ออก;
จบ;
จบ;
tmpsimilarstring: = '';
tmprootCount: = 0;
ในขณะที่จริงทำ
เริ่ม
ถ้า leftstr (arelate, 3) = '../' แล้ว
เริ่ม
Inc (tmprootcount);
ลบ (arelate, 1, 3);
จบ
อื่น
หยุดพัก;
จบ;
tmpsimilarstring: = reversestring (ExtractFilePath (acurrent));
สำหรับ i: = 0 ถึง tmprootcount ทำ
เริ่ม
ลบ (tmpsimilarstring, 1, pos ('/', tmpsimilarstring));
จบ;
ผลลัพธ์: = การย้อนกลับ (tmpsimilarstring) + arelate;
จบ;
ฟังก์ชั่นคลาส tString.similarposition (aone, atwo: string): จำนวนเต็ม;
วาจา
ฉัน: จำนวนเต็ม;
สูงสุด: จำนวนเต็ม;
เริ่ม
ถ้าความยาว (aone) <ความยาว (atwo) จากนั้น
สูงสุด: = ความยาว (AONE)
อื่น
สูงสุด: = ความยาว (atwo);
สำหรับ i: = 1 ถึงสูงสุดทำ
เริ่ม
ถ้า aone [i] <> atwo [i] แล้ว
หยุดพัก;
จบ;
ผลลัพธ์: = i;
จบ;
ฟังก์ชั่นคลาส TSTRING.GETCHARNUM (ATBRING: String; ACHAR: Char): จำนวนเต็ม;
วาจา
ฉัน: จำนวนเต็ม;
เริ่ม
ผลลัพธ์: = 0;
สำหรับ i: = 1 ถึงความยาว (ฝาด) ทำ
เริ่ม
ถ้าฝอย [i] = achar แล้ว
Inc (ผลลัพธ์);
จบ;
จบ;
ขั้นตอนการเรียน TSTRING.GETALLWORDWALLALL (AVALUE, ASPARATOR: String;
Astringlist: tstrings);
วาจา
TMPI: จำนวนเต็ม;
TMPPOS: จำนวนเต็ม;
เริ่ม
ถ้า AstringList = Nil แล้ว
AstringList: = tstringlist.create;
tmppos: = 0;
ในขณะที่ความยาว (avalue)> 0 ทำ
เริ่ม
สำหรับ TMPI: = 1 ถึงความยาว (Avalue) ทำ
เริ่ม
TMPPOS: = POS (Avalue [TMPPOS], aseparator);
ถ้า tmppos> 0 แล้ว
เริ่ม
Astringlist.add (Copy (Avalue, 1, Tmppos - 1));
Astringlist.add (Copy (Avalue, Tmppos, 1));
ลบ (Avalue, 1, tmppos);
หยุดพัก;
จบ
จบ;
สิ้นสุด; // ในขณะที่
จบ;
ฟังก์ชั่นคลาส TSTRING.TOLOWERCASE (ABTRING: String): String;
เริ่ม
ผลลัพธ์: = ตัวพิมพ์เล็ก (Abtring);
จบ;
ฟังก์ชั่นคลาส TSTRING.TOUPPERCASE (ABTRING: String): String;
เริ่ม
ผลลัพธ์: = ตัวพิมพ์ใหญ่ (Abtring);
จบ;
ฟังก์ชั่นคลาส TSTRING.INDEXOF (ATBRING, ASUBSTRING: String): จำนวนเต็ม;
เริ่ม
ผลลัพธ์: = POS (asubstring, Abring);
จบ;
ฟังก์ชั่นคลาส TSTRING.ZEROTOINT (ABTRING: String): จำนวนเต็ม;
เริ่ม
ถ้าตัดแต่ง (Abtring) = '' แล้ว
การดอง: = '0';
ผลลัพธ์: = strtoint (การบีบอัด);
จบ;
ฟังก์ชั่นคลาส TSTRING.ZEROTOFLOAT (ABTRING: String): double;
เริ่ม
ถ้าตัดแต่ง (Abtring) = '' แล้ว
การดอง: = '0.0';
ผลลัพธ์: = strtofloat (Abtring);
จบ;
ฟังก์ชั่นคลาส TSTRING.SAMETEXT (ATSRING, ATSRING1: String): บูลีน;
เริ่ม
ผลลัพธ์: = sysutils.sametext (Atcling, Attring1);
จบ;
ฟังก์ชั่นคลาส TSTRING.REVERSE (ATHRING: String): String;
เริ่ม
ผลลัพธ์: = การย้อนกลับ (การบีบอัด);
จบ;
ฟังก์ชั่นคลาส tString.isvalidip (const s: string): บูลีน;
วาจา
J, I: จำนวนเต็ม;
LTMP: สตริง;
เริ่ม
ผลลัพธ์: = จริง;
ltmp: = trim (s);
สำหรับ i: = 1 ถึง 4 เริ่มต้น
j: = strtointdef (fetch (ltmp, '.'), -1);
ผลลัพธ์: = ผลลัพธ์และ (j> -1) และ (j <256);
ถ้าไม่ผลลัพธ์เริ่มต้น
หยุดพัก;
จบ;
จบ;
จบ;
ฟังก์ชั่นคลาส TSTRING.ZEROTOSTR (ATSRING: String): String;
เริ่ม
ถ้าตัดแต่ง (Abtring) = '' แล้ว
ผลลัพธ์: = '0'
อื่น
ผลลัพธ์: = การบ่น;
จบ;
ฟังก์ชั่นคลาส TSTRING.FILLSTRING (ACHAR: Char; Alength: Integer): String;
วาจา
ฉัน: จำนวนเต็ม;
เริ่ม
ผลลัพธ์: = '';
สำหรับ i: = 1 ถึงความยาว do // iterate
เริ่ม
ผลลัพธ์: = ผลลัพธ์ + achar;
สิ้นสุด; // สำหรับ
จบ;
ฟังก์ชั่นคลาส tString.stuffString (const atext: string; astart,
ความยาว: พระคาร์ดินัล;
เริ่ม
ผลลัพธ์: = strutils.stuffstring (atext, Astart, Alength, Asubtext);
จบ;
ฟังก์ชั่นคลาส TSTRING.GETNEXTSTRING (VAR SOURCESTRING: String;
Asplitchar: String): String;
วาจา
TMPPOS: จำนวนเต็ม;
เริ่ม
tmppos: = pos (asplitchar, sourcestring);
ถ้า tmppos = 0 แล้ว
เริ่ม
ผลลัพธ์: = sourcestring;
Sourcestring: = ''
จบ
อื่น
เริ่ม
ผลลัพธ์: = tString.left (sourcestring, tmppos -1);
ลบ (sourcestring, 1, tmppos);
จบ;
จบ;
{tinteger}
ฟังก์ชั่นคลาส tinteger.inttoStr (ainteger: จำนวนเต็ม): สตริง;
เริ่ม
ผลลัพธ์: = sysutils.intToStr (ainteger);
จบ;
ฟังก์ชั่นคลาส tinteger.hashcode (ainteger: จำนวนเต็ม): จำนวนเต็ม;
เริ่ม
ผลลัพธ์: = ainteger;
จบ;
ฟังก์ชั่นคลาส tinteger.inttoStr (ainteger: int64): สตริง;
เริ่ม
ผลลัพธ์: = sysutils.intToStr (ainteger);
จบ;
ฟังก์ชั่นคลาส tinteger.isvalidint (Abtring: String): บูลีน;
เริ่ม
ผลลัพธ์: = จริง;
พยายาม
strtoint (Abtring);
ยกเว้น
ผลลัพธ์: = เท็จ;
จบ;
จบ;
ฟังก์ชั่นคลาส tinteger.isvalidint64 (การฝาด: สตริง): บูลีน;
เริ่ม
ผลลัพธ์: = จริง;
พยายาม
strtoint (Abtring);
ยกเว้น
ผลลัพธ์: = เท็จ;
จบ;
จบ;
ฟังก์ชั่นคลาส tinteger.maxint: จำนวนเต็ม;
เริ่ม
ผลลัพธ์: = system.maxint;
จบ;
ฟังก์ชั่นคลาส tinteger.maxlongint: จำนวนเต็ม;
เริ่ม
ผลลัพธ์: = system.maxlongint;
จบ;
ฟังก์ชั่นคลาส tinteger.inttobin (ainteger: cardinal): สตริง;
วาจา
ฉัน: จำนวนเต็ม;
เริ่ม
SetLength (ผลลัพธ์, 32);
สำหรับ i: = 1 ถึง 32 ทำ
เริ่ม
if ((ainteger shl (i-1)) shr 31) = 0 แล้ว
ผลลัพธ์ [i]: = '0'
อื่น
ผลลัพธ์ [i]: = '1';
จบ;
จบ;
ฟังก์ชั่นคลาส tinteger.inttohex (ainteger: จำนวนเต็ม): สตริง;
เริ่ม
ผลลัพธ์: = sysutils.inttohex (ainteger, 0);
จบ;
ฟังก์ชั่นคลาส tinteger.hextoint (Abtring: String): Integer;
เริ่ม
ถ้า tString.left (Abtring, 1) = '$' แล้ว
ผลลัพธ์: = strtoint (Abtring)
อื่น
ผลลัพธ์: = strToint ('$' + ATHRING);
จบ;
ฟังก์ชั่นคลาส tinteger.makeserialno (ainteger, adigit: จำนวนเต็ม): สตริง;
วาจา
TMPSTR: สตริง;
ฉัน: จำนวนเต็ม;
เริ่ม
TMPSTR: = '';
สำหรับ i: = 0 ถึง adigit - 1 do // iterate
เริ่ม
TMPSTR: = TMPSTR + '0';
สิ้นสุด; // สำหรับ
ผลลัพธ์: = formatfloat (tmpstr, ainteger);
จบ;
{tfloat}
ฟังก์ชั่นคลาส tfloat.floattomoney (ค่า const: double; round: boolean): string;
เริ่ม
// จำนวนเงินถูกปัดตามค่าเริ่มต้น
จบ;
ฟังก์ชั่นคลาส tfloat.isvalidfloat (Abtring: String): บูลีน;
เริ่ม
ผลลัพธ์: = จริง;
พยายาม
strtofloat (Abtring);
ยกเว้น
ผลลัพธ์: = เท็จ;
จบ;
จบ;
ฟังก์ชั่นคลาส tfloat.maxdouble: double;
เริ่ม
ผลลัพธ์: = 1.7E+308;
จบ;
ฟังก์ชั่นคลาส tfloat.maxextended: ขยาย;
เริ่ม
ผลลัพธ์: = 1.1E+4932;
จบ;
ฟังก์ชั่นคลาส tfloat.mindouble: double;
เริ่ม
ผลลัพธ์: = 5.0E-324;
จบ;
ฟังก์ชั่นคลาส tfloat.minextended: ขยาย;
เริ่ม
ผลลัพธ์: = 3.4E-4932;
จบ;
ฟังก์ชั่นคลาส tfloat.samevalue (const a, b: single;
Epsilon: เดี่ยว): บูลีน;
เริ่ม
ผลลัพธ์: = math.samevalue (a, b, epsilon);
จบ;
ฟังก์ชั่นคลาส tfloat.samevalue (const a, b: double;
Epsilon: Double): บูลีน;
เริ่ม
ผลลัพธ์: = math.samevalue (a, b, epsilon);
จบ;
ฟังก์ชั่นคลาส tfloat.samevalue (const a, b: ขยาย;
Epsilon: ขยาย): บูลีน;
เริ่ม
ผลลัพธ์: = math.samevalue (a, b, epsilon);
จบ;
{tboolean}
ฟังก์ชั่นคลาส tboolean.booltoStr (Aboolean: บูลีน): สตริง;
เริ่ม
ถ้า aboolean แล้ว
ผลลัพธ์: = 'จริง'
อื่น
ผลลัพธ์: = 'false';
จบ;
ฟังก์ชั่นคลาส tboolean.strtobool (Abtring: String): บูลีน;
เริ่ม
ถ้า uppercase (Abtring) = 'true' แล้ว
ผลลัพธ์: = จริง
อื่น
ผลลัพธ์: = เท็จ;
จบ;
จบ.