Ładowanie pliku do tablicy dynamicznej

0

Witam chcę załadować do tablicy dynamicznaj plik typu *.dat i potem go czytać, ale nie bardzo wiem jak. Kombinuje i kombinuje i nic. czy to jest dobry kod ?

var
F: File;
Buff : array of char;
begin
AssignFile(F, 'Plik.dat');
Reset(F,1);
SetLength(buff, FileSize(F));
BlockRead(F, Buff[0], FileSize(F));

chodzi mi o to że zrobilem to wcześniej na tablicy zwykłej i chodziło ale program sie wysypywał jak plik byl wiekszy jak deklaracja tablicy np >1024
Więc pomyślalem że zrobie to na dynamicznej poprzez pobranie długości (wielkości) pliku i dam jej rozmiar taki jak plik. działa ale też sie nie raz sypie
moze ktos wie dlaczego ?

0
Ryhvan napisał(a)

czy to jest dobry kod ?

W zasadzie dobry, nie wiem tylko czemu array of char a nie of byte, ale to nie powinno robić różnicy przy odczycie, tylko być może potem przy obróbce danych. Mozna tez dać F:file of char/byte i wtedy Reset(F). I nie zapomnij o CloseFile. Poza tym jest dobrze, napisałem w ten sposób (aczkolwiek najczęściej na typach rekordowych, nie na byte/char) parę działajacych programów.

1 użytkowników online, w tym zalogowanych: 0, gości: 1