La domanda: Recentemente ho acquistato IBM PS2 1989 e sto provando a trasferire file di grandi dimensioni dalla mia macchina più recente basata su UNIX a questo IBM tramite floppy. Ho uno script bash che divide i miei file in blocchi da 2MB, ora sto provando a scrivere un programma Pascal per ricostruire questi file dopo che sono stati trasferiti.Lettura/Scrittura su file su IBM PS/2 precedente in turbo pascal 5.5
Non riesco a trovare i metodi di lettura/scrittura sui file su questo computer. Ho provato vari siti di tutorial pascal, ma sono tutti per le versioni più recenti (il sito che ho seguito con File Handling In Pascal). Sono in grado di creare un file vuoto (come descritto di seguito), ma non riesco a scriverlo. Qualcuno conosce i metodi di lettura e scrittura pascal corretti per questo tipo di computer?
So che questa è una domanda oscura, quindi grazie in anticipo per qualsiasi aiuto tu possa darmi!
L'Dettagli:
Il codice di test corrente che crea correttamente un file è questo:
program testingFiles;
uses Crt, Win;
const FILE_NAME = 'testFile.txt';
var outFile : File;
begin
writeln('creating file ...');
Assign(outFile, FILE_NAME);
rewrite(outFile);
end.
Questo è un codice di prova che non funziona, il append()
metodo e close()
non poteva essere trovato:
Questa è un'alternativa che non ha funzionato, la 012 Il metodostampa sempre sul terminale. Ma altrimenti questo si compila.
program testingFiles;
uses Crt, Win;
const FILE_NAME = 'testFile.txt';
var outFile : File;
begin
writeln('creating file ...');
Assign(outFile, FILE_NAME);
rewrite(outFile);
writeln('this should be in the file');
close(outFile);
end.
Il sistema: Come si è accennato in precedenza, questo è un 1989 IBM PS2.
- Ha Windows 3.0 installato e può anche eseguire i terminali DOS e MS-DOS.
- Ha Microsoft SMARTDrive Disk Cache versione 3.06
- Dispone di Turbo Pascal 5.5 installato e sto utilizzando
turbo
come editor pascal della riga di comando. (il readme è stato aggiornato l'ultima volta nel 1989) - Dispone di Turbo debugger 1.5 installato.
Ancora una volta, so che questa è una domanda oscura, quindi grazie in anticipo per qualsiasi aiuto tu possa darmi!
La domanda non è così oscura. I/O di file Pascal di base non sono cambiati da molto tempo. Lo stai solo facendo come esercizio? Sai che DOS 'COPY' può concatenare file, anche quelli binari usando l'opzione'/B'. * Eg. *, 'COPIA File1/B + File2/B File3'. Ma se vuoi farlo in Pascal, hai cercato [gestione dei file in Pascal] (http://wiki.freepascal.org/File_Handling_In_Pascal)? – lurker
@lurker Grazie per la conoscenza di 'COPY', in realtà non lo sapevo e ci provo (sono un ragazzo di linux)! Ma ho letto quella pagina, è il primo link nella domanda. Cambierò il titolo del collegamento in modo che sia più evidente, grazie. –
Non penso che sia necessario 'append' per concatenare i file se si lascia aperto il file di output durante l'intero processo. Dovresti semplicemente "riscrivere" per aprire inizialmente il nuovo file di output per la scrittura. Nel tuo secondo esempio che compila, perché non stai usando 'writeln (outFile, ...)' come descritto nella pagina a cui ti sei collegato? Questo dovrebbe funzionare anche nei più vecchi compilatori Pascal (risale a Niklaus Wirth 1974). Com'è che il tuo secondo esempio viene compilato con 'close' ma il tuo primo non può trovare' close'? – lurker