คุณมักจะใช้ AnsiString สำหรับสตริงที่มีอ็อบเจ็กต์ปาสคาล แต่สตริงอื่นๆ ไม่ค่อยได้ใช้
ต่อไปนี้เป็นสตริงบางประเภท:
AnsiSring นี่คือประเภทเริ่มต้นของ Pascal ไม่มีการจำกัดความยาวของมัน และสตริงลงท้ายด้วย null นั่นคือลงท้ายด้วย '/0'
ShortSring มีไว้สำหรับความเข้ากันได้กับ Delphi เวอร์ชันก่อนหน้า ความยาวจำกัดอยู่ที่ 255 อักขระ
WideSring คล้ายกับ AnsiString แต่ประกอบด้วยอักขระ WideChar
PChar Pointer ไปยังสตริงที่สิ้นสุดด้วยค่า null คล้ายกับ char* หรือ lpstr ใน c
PAnsiChar ชี้ไปที่ตัวชี้สตริงที่สิ้นสุดด้วย null AnisChar
ตัวชี้ PWideChar ไปยังสตริง WideChar ที่สิ้นสุดด้วยค่า null
โดยค่าเริ่มต้นจะเป็นประเภท AnisSring:
var
ส:สตริง;
นอกจากนี้ยังเป็นไปได้ที่จะให้คอมไพลเลอร์สลับ $H เพื่อกำหนดประเภท String เป็นประเภท ShortString: ตัวอย่าง
var
{$H-}
s1:=string;//s1 เป็นประเภท shortstring
{$H+}
s2:=string;//s2 เป็นประเภท sring
แต่เมื่อความยาวของสตริงที่ระบุน้อยกว่า 255 {$H} จะเป็น AnsiSring เสมอ
ตัวอย่าง:
var
s:สตริง[254];
ด้านล่างนี้ฉันจะพูดถึงการใช้งานประเภทเหล่านี้ตามลำดับ:
1. แบบอานิสสริง
มีการจัดสรรแบบไดนามิกและมีการรีไซเคิลอัตโนมัติ คุณลักษณะนี้เรียกว่าการจัดการตนเองตลอดอายุการใช้งาน ไม่ต้องการผลลัพธ์ระดับกลางเหมือนในค
เนื่องจากสตริงประเภท AnisSring ถูกยกเลิกด้วย null จึงเข้ากันได้กับ Win32Api จริงๆ แล้ว AnisSring ก็คือ
ตัวชี้ไปยังโครงสร้างสตริงบนสแต็ก