我正在使用Delphi,並試圖重寫一個存儲書籍記錄的.dat文件。其中一個變量是.BookAmountAvailable,當一本書被取出時,我希望它降低到該記錄的.BookAmountAvailable 1,我已經將該文件讀入一個類型化的數組,然後找到正確的書,並降低可用的數量1.Delphi重寫.dat文件
當我重寫與更新的陣列的文件時,它不會將其正確寫入(只寫的記錄一回正常,並記錄的其餘空白。
的代碼讀入數組是:
assignfile (BookFile,'BookFile.dat');
reset (BookFile);
BookCounter := FileSize(BookFile);
SetLength(BookArray, BookCounter);
for Count1 := 1 to BookCounter do
begin
read(BookFile, SingleBook);
BookArray[Count1] := SingleBook;
end;
closefile (BookFile);
我用重寫文件的代碼是:
BookArray[Count].BookAmountAvailable := BookArray[Count].BookAmountAvailable -1;
assignfile (BookFile, 'BookFile.dat');
rewrite (BookFile);
for Count1 := 1 to BookCounter do
begin
seek (BookFile, Count1);
write(BookFile, BookArray[Count1]);
end;
closefile (BookFile);
這是什麼導致它不能正確地重寫數組?
時間的工具和使用數據庫 –
這是一個大學項目和考試委員會堅持不使用數據庫:/ –
難道他們還堅持使用傳統的可怕帕斯卡爾I/O?太糟糕了。 –