THPDFRandomAccessSource.ReadAt Method
อ่าน Count byte เริ่มจาก Offset ฐานศูนย์ที่จัดหาให้เข้าสู่ Buffer
การประกาศ
function ReadAt(Offset: Int64; var Buffer;
Count: Longint): Longint; virtual; abstract;
ยูนิต
HPDFDoc
พารามิเตอร์
| ชื่อ | วัตถุประสงค์ |
|---|---|
Offset | byte offset ฐานศูนย์ที่จะเริ่มอ่าน; ต้องอยู่ในช่วงที่รายงานโดย GetSize |
Buffer | buffer var แบบ untyped ที่รับ byte; ผู้เรียกรับประกันว่ามันสามารถเก็บ byte ได้อย่างน้อย Count byte |
Count | จำนวน byte สูงสุดที่จะถ่ายโอน |
ค่าที่คืน
จำนวน byte ที่ถ่ายโอนจริง ตั้งแต่ศูนย์ถึง Count การอ่านแบบสั้นที่ท้ายไฟล์ที่บันทึกไว้จะถูกถือว่าเป็น end-of-stream ไม่ใช่ข้อผิดพลาด
หมายเหตุการใช้งาน
- override เมธอดนี้ใน subclass เพื่อดึง byte ตามคำขอจาก backing store ของคุณ (HTTP range request, database
SELECT ... OFFSET, archive member slice, virtual volume mapping) - HotPDF seek ผ่านตาราง cross-reference และ object stream โดยการเรียก
ReadAtที่ offset สัมบูรณ์ ดังนั้น implementation ต้องเคารพOffsetใด ๆ ถึงGetSize - 1 - การคืนค่ามากกว่า
Countbyte เป็นการละเมิดสัญญา; คืนเฉพาะ byte ที่พร้อมใช้งานถึงCount