|
|
Riga 1: |
Riga 1: |
− | Scrivere una stringa in un vettore di tipo "Byte[]", significa memorizzare ciascun carattere della stringa (secondo il rispettivo valore numerico ASCII) in un elemento della predetta 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 è: <SUP>[[[#Note|Nota 1]]]</sup>
| |
− | .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[]<FONT Color=#B22222>.FromString</font>(s)
| |
− |
| |
− | <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>' ''...oppure usando il Metodo ".To String()" del vettore":''</font>
| |
− | Print bb.ToString()
| |
− |
| |
− | '''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 2]]]</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)
| |
− |
| |
− | <FONT Color=gray>' ''...oppure usando il Metodo ".To String()" del vettore":''</font>
| |
− | Print bb.ToString()
| |
− |
| |
− | '''End'''
| |
− | | |
− | | |
− | | |
− | =Note=
| |
− | [1] Vedere anche questa pagina: [[Ottenere_un_vettore_di_tipo_Byte_da_una_Stringa|Ottenere un vettore di tipo Byte da una Stringa]] | |
− | | |
− | [2] Sulla scrittura (e lettura) dei dati di una variabile array, è possibile consultare anche la seguente pagina: [[Leggere_e_scrivere_in_un_vettore_mediante_i_Memory_Stream|Leggere e scrivere in un vettore mediante i Memory Stream]]
| |