I illiperson Unregistered / Unconfirmed GUEST, unregistred user! 2007-03-08 #1 一个数据文件,开始是64字节的文件头,之后便是数据记录,每条记录48字节,对这样的文件如何操作?最好能给一个例子。
J javesun Unregistered / Unconfirmed GUEST, unregistred user! 2007-03-08 #2 用流,内存流或文件流都可以。。 先读64字节,再读48字节。。。 例子网上有很多,自己找找吧。。
创 创意人生 Unregistered / Unconfirmed GUEST, unregistred user! 2007-03-08 #3 你知道那48个字节的结构吗?要是知道的话,就非常的好办。 建一个结构体,假设: TData = Record A: integer; B: String[4]; ... End; 然后,声明一个Data : TData; 开始读取数据: Stream: TMemoryStream; Stream.LoadFromFile(你的文件); Stream.Position := 0; Stream.Read(文件头的Buffer,64); Stream.Read(Data,48);//这里就会把数据放到你定义的结构体中,你可以那来使用,然后用个循环,把所有数据读出。
你知道那48个字节的结构吗?要是知道的话,就非常的好办。 建一个结构体,假设: TData = Record A: integer; B: String[4]; ... End; 然后,声明一个Data : TData; 开始读取数据: Stream: TMemoryStream; Stream.LoadFromFile(你的文件); Stream.Position := 0; Stream.Read(文件头的Buffer,64); Stream.Read(Data,48);//这里就会把数据放到你定义的结构体中,你可以那来使用,然后用个循环,把所有数据读出。
I illiperson Unregistered / Unconfirmed GUEST, unregistred user! 2007-03-08 #4 48字节确实是一个结构体。如何读取第二条、第三条记录还望详细一点说明。
I illiperson Unregistered / Unconfirmed GUEST, unregistred user! 2007-03-08 #5 比如如果想读取最后一条记录的话,如何定位指针?
X xiaohongna Unregistered / Unconfirmed GUEST, unregistred user! 2007-03-08 #6 不就是一个记录类型的文件吗?你知道结构体了就直接声明一个这种结构类型的 文件不就行了~直接就是一个结构一个结构的读取 For example, type PhoneEntry = record FirstName, LastName: string[20]; PhoneNumber: string[15]; Listed: Boolean; end; PhoneList = file of PhoneEntry;
不就是一个记录类型的文件吗?你知道结构体了就直接声明一个这种结构类型的 文件不就行了~直接就是一个结构一个结构的读取 For example, type PhoneEntry = record FirstName, LastName: string[20]; PhoneNumber: string[15]; Listed: Boolean; end; PhoneList = file of PhoneEntry;
C cqwty Unregistered / Unconfirmed GUEST, unregistred user! 2007-03-08 #7 创意人生 的做法是对的,读完一次,再把流文件的进度设置成上一次的末尾,方便下一次继续读,就这样循环到整个文件完就是了撒.