คลาสนี้ทำงานในลักษณะเดียวกันกับ tinifile มาตรฐานด้วยวิธีการที่คล้ายกันมากมาย แต่มีประสิทธิภาพมากกว่าสำหรับข้อมูลที่เก็บไว้ในไฟล์ไบนารี ชั้นเรียนยังรองรับการเข้ารหัส XOR พื้นฐานเพื่อแย่งไฟล์ไบนารีเพิ่มเติม
ชนิดข้อมูลในตัวจะถูกเก็บไว้ด้วยค่าและสามารถตรวจสอบได้ก่อนที่จะอ่าน
การดำเนินการเขียนใด ๆ จะถูกบันทึกไว้ในไฟล์ที่เปิดโดยอัตโนมัติ
ประเภทต่อไปนี้ได้รับการสนับสนุนโดย tdatafile:
ตัวสร้างสร้างอินสแตนซ์ใหม่ของ tdatafile
constructor Create(const FileName: string; readonly: boolean = false);
ชื่อไฟล์ พารามิเตอร์ระบุเส้นทางและชื่อไฟล์ของไฟล์ข้อมูลที่คุณเปิดหรือสร้าง
พารามิเตอร์ อ่านอย่างเดียว ว่าไฟล์ถูกเปิดเป็นแบบอ่านอย่างเดียวหรือไม่ ในโหมดอ่านอย่างเดียวฟังก์ชั่นการเขียนจะไม่ทำอะไรเลย
หากคุณต้องการใช้การเข้ารหัสในตัวให้ตั้งค่าคุณสมบัติ CodeKey หลังจากสร้างวัตถุคลาส
var df: TDataFile;
df := TDataFile.Create('filename');
df.CodeKey := 'key used to encode data';
| การทำงาน | พารามิเตอร์ | ประเภทกลับ | ข้อมูล |
|---|---|---|---|
| GetSectionNames | รายการ: tstrings | ไม่มี | ส่งคืนรายการของส่วนที่มีอยู่ในไฟล์ |
| getValuenames | ส่วน: สตริง; รายการ: tstrings | ไม่มี | ส่งคืนรายการค่าที่มีอยู่ในส่วนที่ระบุ |
| getValuenamesandTypes | ส่วน: สตริง; รายการ: tstrings | ไม่มี | ส่งคืนรายการค่าที่มีอยู่และประเภทข้อมูลในส่วนที่ระบุ ใช้ list.names [] และ list.values [] สำหรับข้อมูล |
| getValuetype | ส่วน, ident: สตริง | tdftype | ส่งคืนประเภทข้อมูลสำหรับค่าที่ระบุ |
| getValueTypeasstring | ส่วน, ident: สตริง | สาย | เหมือนกับ getValuetype แต่ส่งคืนประเภทข้อมูลเป็นสตริง |
| sectionExists | ส่วน: สตริง | บูลีน | ตรวจสอบว่ามีส่วนที่ระบุหรือไม่ |
| Valueexists | ส่วน, ident: สตริง | บูลีน | ตรวจสอบว่ามีค่าอยู่ในส่วนหรือไม่ |
| readdata | ส่วน, Ident: String; PBUF: ตัวชี้ | จำนวนเต็ม | ฟังก์ชันระดับต่ำเพื่ออ่านข้อมูลใด ๆ ที่เก็บไว้ในตัวชี้ที่ระบุ |
| readstream | ส่วน, Ident: String; สตรีม: tstream | จำนวนเต็ม | อ่านสตรีมจาก DataFile |
| readansistring | ส่วน, Ident: String; ค่าเริ่มต้น: ansistring | คำตอบ | อ่านสตริง ANSI จาก DataFile หากไม่มีตัวระบุให้ส่งคืนค่า เริ่มต้น |
| readstring | ส่วน, Ident: String; ค่าเริ่มต้น: สตริง | สาย | อ่านสตริง Unicode จาก DataFile หากไม่มีตัวระบุให้ส่งคืนค่า เริ่มต้น |
| readint8 | ส่วน, Ident: String; ค่าเริ่มต้น: int8 | int8 | อ่านจำนวนเต็ม 8 บิตที่ลงนาม |
| readint16 | ส่วน, Ident: String; ค่าเริ่มต้น: int16 | Int16 | อ่านจำนวนเต็ม 16 บิตที่ลงนาม |
| readuint8 | ส่วน, Ident: String; ค่าเริ่มต้น: uint8 | Uint8 | อ่านจำนวนเต็ม 8 บิตที่ไม่ได้ลงชื่อ |
| readuint16 | ส่วน, Ident: String; ค่าเริ่มต้น: uint16 | Uint16 | อ่านจำนวนเต็ม 16 บิตที่ไม่ได้ลงชื่อ |
| readinteger, readint32 | ส่วน, Ident: String; ค่าเริ่มต้น: จำนวนเต็ม | จำนวนเต็ม | อ่านจำนวนเต็ม 32 บิตที่ลงนาม |
| readint64 | ส่วน, Ident: String; ค่าเริ่มต้น: int64 | INT64 | อ่านจำนวนเต็ม 64 บิตที่ลงนาม |
| readuint32 | ส่วน, Ident: String; ค่าเริ่มต้น: uint32 | uint32 | อ่านจำนวนเต็ม 32 บิตที่ไม่ได้ลงชื่อ |
| readuint64 | ส่วน, Ident: String; ค่าเริ่มต้น: uint64 | uint64 | อ่านจำนวนเต็ม 64 บิตที่ไม่ได้ลงชื่อ |
| อ่าน | ส่วน, Ident: String; ค่าเริ่มต้น: เดี่ยว | เดี่ยว | อ่านลอย 32 บิต |
| readdouble | ส่วน, Ident: String; ค่าเริ่มต้น: สองเท่า | สองเท่า | อ่านลอย 64 บิต |
| การอ่านซ้ำ | ส่วน, Ident: String; ค่าเริ่มต้น: สกุลเงิน | สกุลเงิน | อ่านค่าสกุลเงิน |
| ReadDatetime | ส่วน, Ident: String; ค่าเริ่มต้น: tdatetime | tdatetime | อ่านค่า dateTime |
| Readboolean | ส่วน, Ident: String; ค่าเริ่มต้น: บูลีน | บูลีน | อ่านค่าบูลีน |
| การอ่านหนังสือ | ส่วน, Ident: String; รายการ: tstrings | ไม่มี | อ่านรายการสตริงใน รายการ ที่ระบุ |
| readfont | ส่วน, Ident: String; แบบอักษร: tfont | ไม่มี | อ่านการตั้งค่าตัวอักษร (ชื่อ, สไตล์, ขนาด, ฯลฯ ) ใน ตัวอักษร ที่ระบุ |
| writedata | ส่วน, Ident: String; PBUF: ตัวชี้; นับ: จำนวนเต็ม; ข้อมูลพิมพ์: tdfType = dfd_unknown | จำนวนเต็ม | ฟังก์ชั่นระดับต่ำในการเขียนข้อมูลใด ๆ ที่เก็บไว้ในตัวชี้ที่ระบุ |
| การเขียน | ส่วน, Ident: String; สตรีม: tstream; DataType: tdfType = dfd_stream | จำนวนเต็ม | เขียนสตรีมจาก DataFile |
| นักเขียน | ส่วน, Ident: String; ค่า: ansistring | ไม่มี | เขียนสตริง ANSI จาก DataFile หากไม่มีตัวระบุให้ส่งคืนค่า เริ่มต้น |
| คำเขียน | ส่วน, ident, value: String | ไม่มี | เขียนสตริง Unicode จาก DataFile หากไม่มีตัวระบุให้ส่งคืนค่า เริ่มต้น |
| เขียน 8 | ส่วน, Ident: String; ค่า: int8 | ไม่มี | เขียนจำนวนเต็ม 8 บิตที่ลงนาม |
| Writeint16 | ส่วน, Ident: String; ค่า: int16 | ไม่มี | เขียนจำนวนเต็ม 16 บิตที่ลงนาม |
| เขียน uint8 | ส่วน, Ident: String; ค่า: UINT8 | ไม่มี | เขียนจำนวนเต็ม 8 บิตที่ไม่ได้ลงชื่อ |
| เขียน uint16 | ส่วน, Ident: String; ค่า: UINT16 | ไม่มี | เขียนจำนวนเต็ม 16 บิตที่ไม่ได้ลงชื่อ |
| Writeinteger, writeint32 | ส่วน, Ident: String; ค่า: จำนวนเต็ม | ไม่มี | เขียนจำนวนเต็ม 32 บิตที่ลงนาม |
| Writeint64 | ส่วน, Ident: String; ค่า: int64 | ไม่มี | เขียนจำนวนเต็ม 64 บิตที่ลงนาม |
| เขียน uint32 | ส่วน, Ident: String; ค่า: UINT32 | ไม่มี | เขียนจำนวนเต็ม 32 บิตที่ไม่ได้ลงชื่อ |
| เขียน uint64 | ส่วน, Ident: String; ค่า: UINT64 | ไม่มี | เขียนจำนวนเต็ม 64 บิตที่ไม่ได้ลงชื่อ |
| เขียน | ส่วน, Ident: String; ค่า: เดี่ยว | ไม่มี | เขียนลอย 32 บิต |
| เขียน | ส่วน, Ident: String; ค่า: สองเท่า | ไม่มี | เขียนลอย 64 บิต |
| การเขียนหนังสือ | ส่วน, Ident: String; มูลค่า: สกุลเงิน | ไม่มี | เขียนค่า currecy |
| WriteDateTime | ส่วน, Ident: String; ค่า: tdatetime | ไม่มี | เขียนค่า dateTime |
| brotboolean | ส่วน, Ident: String; ค่า: บูลีน | ไม่มี | เขียนค่าบูลีน |
| การเขียน | ส่วน, Ident: String; รายการ: tstrings | ไม่มี | เขียนรายการสตริงใน รายการ ที่ระบุ |
| WriteFont | ส่วน, Ident: String; แบบอักษร: tfont | ไม่มี | การตั้งค่าตัวอักษรเขียน (ชื่อ, สไตล์, ขนาด, ฯลฯ ) ใน ตัวอักษร ที่ระบุ |
| การเปลี่ยนชื่อ | Oldsection, Oldident, Newsection, Newident: String | บูลีน | เปลี่ยนชื่อตัวระบุ |
| การลบ | ส่วน: สตริง | ไม่มี | ลบส่วนที่ระบุ |
| ลบ | ส่วน, ident: สตริง | ไม่มี | ลบตัวระบุที่ระบุ |
TDatafile ได้รับการออกแบบให้ใช้กับ Delphi XE และสูงกว่า มันอาจใช้งานได้กับรุ่นเก่า แต่ไม่ได้ทดสอบ
ตัวแก้ไขที่รวมอยู่นั้นถูกสร้างขึ้นโดยใช้ Delphi Ryo และอาจไม่ได้รวบรวมในรุ่นเก่า
Tdatafile ได้รับแรงบันดาลใจจากซอฟต์แวร์ degisy ดั้งเดิม tdatafile
DataFile Editor เป็นแอปพลิเคชันที่จะสร้างดูและแก้ไขไฟล์ที่สร้างขึ้นด้วย TDatafile ตัวแก้ไขจะเพิ่มส่วน Meta ด้วย การสร้าง คีย์วันในไฟล์ที่สร้างขึ้น แต่สามารถลบได้อย่างปลอดภัยเมื่อคุณเพิ่มส่วนและค่าของคุณเอง
ส่วนที่สร้างขึ้นด้วยตัวแก้ไขจะถูกนำเสนอเป็นต้นไม้ แต่โครงสร้างที่แท้จริงนั้นแบนชื่อส่วนจริงที่เก็บไว้คือเส้นทางเต็มรูปแบบที่แสดงในส่วนบน ตัวคั่นที่ใช้เมื่อสร้างต้นไม้คืออักขระสแลช (" / ")
รหัสและตัวแก้ไขได้รับการเผยแพร่ภายใต้ใบอนุญาต MIT ดูไฟล์ ใบอนุญาต สำหรับรายละเอียด