Differenze tra le versioni di "Scrivere i valori contenuti da un file in un'area riservata di memoria"
Da Gambas-it.org - Wikipedia.
(Creata pagina con 'Per scrivere i valori contenuti all'interno di un'area riservata di memoria puntata da una variabile di tipo ''Puntatore'', si procederà innanzitutto a leggere il file e salv...') |
|||
(5 versioni intermedie di uno stesso utente non sono mostrate) | |||
Riga 1: | Riga 1: | ||
− | Per scrivere i | + | Per scrivere i dati, letti da un file, all'interno di un'area riservata di memoria puntata da un ''Puntatore'', si procederà innanzitutto ad assegnare tali dati in una variabile di tipo ''Stringa''. Successivamente si provvederà a scrivere mediante i ''Memory Stream'' i valori, contenuti dalla predetta variabile ''Stringa'', nell'area di memoria allocata. |
Riga 10: | Riga 10: | ||
Dim st As Stream | Dim st As Stream | ||
− | + | fl = Open "<FONT Color=gray>''/percorso/del/file/da/leggere''</font>" For Read | |
− | + | Read #fl, s, Lof(fl) | |
− | + | ||
− | |||
<FONT Color=gray>' ''Viene allocata una quantità di memoria sufficiente a contenere i dati del file:''</font> | <FONT Color=gray>' ''Viene allocata una quantità di memoria sufficiente a contenere i dati del file:''</font> | ||
− | + | p = Alloc(SizeOf(gb.Byte), Lof(fl)) | |
− | |||
− | |||
− | <FONT Color=gray>' '' | + | <FONT Color=gray>' ''Dall'area riservata di memoria si genera una variabile "Stream" per potervi scrivere:''</font> |
− | + | st = Memory p For Write | |
− | <FONT Color=gray>' '' | + | <FONT Color=gray>' ''Si procede a scrivere nell'area riservata di memoria i dati del file ora contenuti dalla variabile Stringa:''</font> |
− | + | Write #st, s | |
− | |||
+ | <FONT Color=gray>' ''Si fa qualcosa con l'area riservata di memoria ora contenente i dati sopra scritti:''</font> | ||
+ | ...... | ||
− | <FONT Color=gray>' ''Viene liberata la memoria precedentemente allocata, | + | <FONT Color=gray>' ''Viene liberata la memoria precedentemente allocata, chiusi il flusso ed il file:''</font> |
− | + | Free(p) | |
− | + | st.Close | |
+ | fl.Close | ||
'''End''' | '''End''' |
Versione delle 21:39, 11 mag 2022
Per scrivere i dati, letti da un file, all'interno di un'area riservata di memoria puntata da un Puntatore, si procederà innanzitutto ad assegnare tali dati in una variabile di tipo Stringa. Successivamente si provvederà a scrivere mediante i Memory Stream i valori, contenuti dalla predetta variabile Stringa, nell'area di memoria allocata.
Mostriamo un semplice esempio:
Public Sub Main() Dim fl As File Dim s As String Dim p As Pointer Dim st As Stream fl = Open "/percorso/del/file/da/leggere" For Read Read #fl, s, Lof(fl) ' Viene allocata una quantità di memoria sufficiente a contenere i dati del file: p = Alloc(SizeOf(gb.Byte), Lof(fl)) ' Dall'area riservata di memoria si genera una variabile "Stream" per potervi scrivere: st = Memory p For Write ' Si procede a scrivere nell'area riservata di memoria i dati del file ora contenuti dalla variabile Stringa: Write #st, s ' Si fa qualcosa con l'area riservata di memoria ora contenente i dati sopra scritti: ...... ' Viene liberata la memoria precedentemente allocata, chiusi il flusso ed il file: Free(p) st.Close fl.Close End