Ho creato uno strumento in Delphi per creare un tavolo arcobaleno. Andava bene fino a quando il file è cresciuto fino a 3.1 GB. Ho chiuso il mio programma. Poi ho aperto di nuovo e si blocca durante l'esecuzione di questo codice:Delphi Pascal: come scrivere i dati su file più grandi di 2 GB?
Assign(RainbowFile,'Rainbow_table.txt'); {assign a text file}
Append(RainbowFile);
Delphi mostra errore "sollevato EInOutError classe expection con il messaggio 'I/O error 131' La mia domanda:. Come aggiungere dati al file esistente più grande di 2 GB // obsoleto Prossima domanda:. ho attualmente il codice:..
Content_to_file := (#13+#10+Start_string+':'+hexstr(GTA_San_Andreas_CRC32(Start_string), 8));
RainbowFile_handle.WriteBuffer(Content_to_file[1], Length(Content_to_file)*SizeOf(Char));
Come sbarazzarsi di variabile Content_to_file voglio metterlo direttamente al WriteBuffer se esso `s possibile
012.MODIFICA:
TFileStream funziona con file di dimensioni superiori a 2 GB. L'ho provato ora. è tuttavia possibile scrivere così:
RainbowFile_handle.WriteBuffer(Start_string[1]+':',
intendo passare alcun argomento variabile. O devo assolutamente passare il primo carattere di variabile?
EDIT 2:
ho attualmente composto in questo modo:
Content_to_file := (#13+#10+Start_string+':'+hexstr(GTA_San_Andreas_CRC32(Start_string), 8));
RainbowFile_handle.WriteBuffer(Content_to_file[1], Length(Content_to_file)*SizeOf(Char));
E 'possibile farlo senza questa variabile?
Il file system supporta file> 2 GB? – Satya
Sì, lo fa. Ho Windows XP a 32 bit. Attualmente il file è di 3.1 GB sulla mia partizione NTFS. Il problema è con il mio codice pascal. – fastman92