ความคิดเห็นที่ 4
เริ่มจาก Master file ก่อนนะครับ file นี้จะชื่อ MASTER ครับ ความยาวของ Record เท่ากับ 53 bytes
Record แรกจะบอกจำนวน record ทั้งหมดของ File ข้อมูลเก็บในรูปของ Integer ครับ ถ้าเป็นภาษา BASIC ก็เขียนแบบนี้ครับ
FIELD#1, 53 AS X$ GET#1,1 NumberOfRecord=CVI(X$)
แล้วหลังจากนั้นไปก็จะเป็นเนื้อข้อมูลของ Master File ครับ ขนาดความยาว 53 bytes แบ่งออกเป็น field แบบนี้ครับ (ผมใช้ภาษา BASIC อีกเหมือนเดิมนะครับ เพราะใครๆก็น่าจะใช้ภาษานี้เป็น)
FIELD#1, 1 AS A$, 2 AS B$, 1 AS C$, 1 AS D$, 1 AS E$, 1 AS F$, 16 AS G$, 2 AS H$, 4 AS I$, 4 AS J$, 1 AS K$, 2 AS L$, 16 AS M$
ผมไม่ทราบหมดทุก field หรอกครับ คุณอาจจะต้องลองเพิ่มเอาเอง Field ที่ผมทราบคือต่อไปนี้ครับ
A$ ความยาว 1 byte เป็นตัวบอกว่าข้อมูลของหุ้นตัวนี้อยู่ใน data file อะไร (คุณต้องหาว่า ASCII Code ของ byte นี้เท่ากับตัวอะไร เช่น ถ้าเท่ากับ 25 ดังนั้น ข้อมูลของหุ้นตัวนี้จะอยู่ที่ file F025.DAT)
G$ ความยาว 16 bytes เป็นชื่อ Ticker Symbol (เช่น BBL, AOT อะไรพวกเนี้อ)
I$ ความยาว 4 bytes (Single Precision = Real*4) บอก Starting Date ของข้อมูลหุ้นตัวนั้น แต่ binary ที่ใช้เป็น binary แบบ Microsoft BASIC นะครับ ไม่ใช่ binary แบบทั่วๆไป ตรงนี้จะยุ่งมากถ้าคุณไม่ได้เขียนด้วย BASIC ที่มากับ DOS ยุคต้นๆ เพราะ Format มันไม่เหมือนกัน ผมเคยรู้ว่ามันต่างกันยังไง แต่ลืมไปแล้ว ถ้านึกออกแล้วจะมาบอก
J$ ความยาว 4 bytes บอก Ending Date เป็น Real*4 เหมือนกับ Starting Date และเป็น Microsoft binary format เหมือนกันด้วย
D$ ความยาว 1 byte เป็นตัวบอกว่าข้อมูล DAT file ของหุ้นตัวนี้เป็นแบบ 5 fields (Date High Low Close Volume) หรือ 7 fields (Date Open High Low Close Volume Open-Interest)
M$ ความยาว 16 bytes เป็นชื่อเต็มของหุ้น เช่น Bangkok Bank
สรุปก็คือ คุณต้องอ่าน Master File ก่อน เพื่อหาว่าข้อมูลหุ้นที่คุณต้องการมันอยู่ที่ DAT file ชื่ออะไร และข้อมูลที่ว่านั้นเป็นข้อมูลแบบ 5 หรือ 7 Field จากนั้น
สมมุติว่าคุณรู้ว่าข้อมูลมันอยู่ใน DAT file เบอร์ 25 คือ ASC(A$)=25 จากนั้น คุณก็ต้องเปิด file ชื่อ F025.DAT ขึ้นมาเพื่ออ่าน (หรือเขียน) ข้อมูล
จากคุณ :
Jammer
- [
26 เม.ย. 47 15:20:17
]
|
|
|