Differenze tra le versioni di "Leggere e scrivere in un vettore mediante i Memory Stream"
Da Gambas-it.org - Wikipedia.
(Creata pagina con 'Per poter leggere i dati da un vettore e/o scrivere dati in un vettore mediante i ''Memory Stream'', è necessario ottenere l'indirizzo di memoria del vettor...') |
|||
Riga 1: | Riga 1: | ||
− | Per poter leggere i dati da un vettore e/o scrivere dati in un vettore mediante i ''[[ | + | Per poter leggere i dati da un vettore e/o scrivere dati in un vettore mediante i ''[[Definizione_ed_uso_dei_Memory_Stream|Memory Stream]]'', è necessario ottenere l'indirizzo di memoria del vettore medesimo. Tale risultato con i vettori si ottiene mediante la proprietà ''.Data'', la quale ritorna un ''Puntatore'' ai dati contenuti dal vettore. |
− | Mostriamo dunque un esempio, nel quale si legge e si scrive in un vettore mediante i ''[[ | + | Mostriamo dunque un esempio, nel quale si legge e si scrive in un vettore mediante i ''[[Definizione_ed_uso_dei_Memory_Stream|Memory Stream]]'' ed usando la proprietà ''.Data'' dei vettori: |
'''Public''' Sub Main() | '''Public''' Sub Main() | ||
Versione delle 08:21, 25 set 2014
Per poter leggere i dati da un vettore e/o scrivere dati in un vettore mediante i Memory Stream, è necessario ottenere l'indirizzo di memoria del vettore medesimo. Tale risultato con i vettori si ottiene mediante la proprietà .Data, la quale ritorna un Puntatore ai dati contenuti dal vettore.
Mostriamo dunque un esempio, nel quale si legge e si scrive in un vettore mediante i Memory Stream ed usando la proprietà .Data dei vettori:
Public Sub Main() Dim v As Byte[] = [10, 20, 30, 40] Dim p As Pointer Dim st As Stream Dim b, j As Byte p = lista1.Data st = Memory p For Read Write ' Aggiungiamo (scriviamo) subito un valore alla fine del vettore: Seek #st, 4 ' Scriviamo nel "Puntatore" mediante lo "Stream": Write #st, 99 As Byte ' Leggiamo nell'indirizzo di memoria del vettore: For j = 0 To v.Count Seek #st, j Read #st, b Print b, j Next ' Sostituiamo (scriviamo) un valore nel 3° elemento del vettore: Seek #st, 2 Write #st, 88 As Byte ' Leggiamo nell'indirizzo di memoria del vettore come definitivamente modificato: For j = 0 To v.Count Seek #st, j Read #st, b Print b, j Next End