!!!
cercherò di spiegarmi meglio:
ho una ROM GBA da modificare in alcune parti, ma siccome usando manualmente il semplice Hex editor diventerei scemo, data la mole di bytes da modificare (centinaia), volevo appoggiarmi ad un programma creato da me.
siccome ho anche intenzione di postare il programma su un forum esterno per farmi bello, volevo che fosse più user-friendly. così è iniziata l'odissea dell'aggiunta di features: ciò dimostra, in barba ai detrattori, che anche pascal è degno di un progetto di media grandezza (ovviamente medio rispetto alle mie attuali competenze, e considerando comunque programmi piccoli come quelli che trovi qui come grado massimo, non certo software professionali tipo micro$oft o adobe!!!
).
una feature è dunque "l'autocaricamento" del file, il cui nome è contenuto nel file settings.ini. per questo dovevo leggere i byte singolarmente e metterli in una stringa.
ho risolto grazie a te e un po' di ingegno, attraverso varie peripezie, alcune addiritura inspiegabili.
ecco il codice finale:
Codice sorgente - presumibilmente Delphi |
if autoload=true then begin percorso:=''; (1) seek (ini, 76); repeat read (ini, bytes); percorso:=percorso+bytes; writeln ('aggiunta nome percorso'); delay (100); until eof(ini); (2) end;
|
1 - non so perchè (una delle peripezie cui accennavo) ma per qualche arcano motivo mi dava l'intero path dalla
radice del disco C, invece del percorso relativo, perciò ho tagliato corto, azzerando brutalmente la stringa.
2 - non è ottimizzato, in quanto non prevede la fine della riga ma solo quella del file. investigherò su cosa
possa accadere in tal caso
(è bello vedere i bug/glitch nel tuo programma se VOLONTARIAMENTE e CONTROLLATI, non è vero?)
grazie 10000
edit:
l'unico errore riscontrato a causa della mancanza del controllo di fine riga è che non trova il file, semplicemente perchè i i nomi dei file non hanno i caratteri di fine riga!
meglio quindi non andare a complicare le cose che vanno già bene così.
Ultima modifica effettuata da il 30/07/2014 alle 13:21