Differenze tra le versioni di "Scrivere una stringa in un vettore di tipo Byte"

Da Gambas-it.org - Wikipedia.
(Creata pagina con "Scrivere una stringa in un vettore di tipo ''Byte[ ]'', significa memorizzare ciascun carattere della stringa, con il rispettivo valore ASCII, in un elemento della variabile v...")
 
 
(5 versioni intermedie di uno stesso utente non sono mostrate)
Riga 1: Riga 1:
Scrivere una stringa in un vettore di tipo ''Byte[ ]'', significa memorizzare ciascun carattere della stringa, con il rispettivo valore ASCII, in un elemento della variabile vettoriale.
+
#REDIRECT [[Ottenere un vettore di tipo Byte da una Stringa]]
 
 
Sono possibili almeno due possibilità:
 
* con il metodo ''.FromString( )'' dei vettori di tipo ''Byte[ ]'';
 
* con i ''Memory Stream'' e la proprietà ''.Data'' dei vettori di tipo ''Byte[ ]'' .
 
 
 
 
 
==Uso del metodo ''.FromString( )''==
 
Gli array di tipo ''Byte[ ]'' dipongono di un apposito metodo per memorizzare i dati costituenti una stringa di caratteri, la cui sintassi è:
 
.FromString( String As String ) As Byte[]
 
 
 
Di seguito mostriamo un semplice esempio:
 
'''Public''' Sub Main()
 
 
 
  Dim bb As Byte[]
 
  Dim s As String
 
  Dim b As Byte
 
 
 
  s = "Testo qualsiasi"
 
 
 
  bb = Byte[].FromString(s)
 
 
 
<FONT Color=gray>' ''Verifichiamo ora il contenuto del vettore "bb":''</font>
 
    For Each b In bb
 
      Print Hex(b); " = "; Chr(b)
 
    Next
 
 
 
'''End'''
 
 
 
 
 
 
 
==Uso dei ''Memory Stream'' con la proprietà ''.Data'' degli array==
 
Le variabili vettoriali posseggono, fra le altre, anche la proprietà ''.Data'' che restituisce un ''Puntatore'' all'area di memoria dell'oggetto vettore contenente i dati.
 
 
 
E' possibile, dunque, utilizzare quel ''Puntatore'' per scrivere i dati di una stringa mediante i ''Memory Stream''. <SUP>[ [[#Note|Nota 1]] ]</sup>
 
 
 
 
 
Mostriamo di seguito un semplice esempio:
 
  '''Public''' Sub Main()
 
 
 
  Dim bb As Byte[]
 
  Dim s As String
 
  Dim st As Stream
 
  Dim b As Byte
 
 
 
  s = "Testo qualsiasi"
 
 
 
  bb = New Byte[String.Len(s)]
 
 
 
<FONT Color=gray>' ''Scriviamo la stringa nel vettore "bb":''</font>
 
  st = Memory bb.Data For Write
 
  Write #st, s
 
  st.Close
 
 
 
<FONT Color=gray>' ''Verifichiamo ora il contenuto del vettore "bb":''</font>
 
  For Each b In bb
 
    Print Hex(b); " = "; Chr(b)
 
  Next
 
 
 
<FONT Color=gray>' ''...o anche così, dereferenziando il "Puntatore":''</font>
 
  Print String@(bb.Data)
 
 
 
'''End'''
 
 
 
 
 
 
 
 
 
=Note=
 
[1] Sulla scrittura (e lettura) dei dati di una variabile array, è possibile consultare anche [[Leggere_e_scrivere_in_un_vettore_mediante_i_Memory_Stream|seguente pagina della WIKI]].
 

Versione attuale delle 14:35, 11 set 2022