Differenze tra le versioni di "Porre a "Null" tutti gli elementi di un vettore di tipo Stringa"
Da Gambas-it.org - Wikipedia.
(Creata pagina con 'Per azzerare tutti gli elementi di una variabile vettoriale (''array'') di tipo ''Stringa'', è possibile utilizzare almeno le modalità che di seguito si espongono. ==Modal...') |
|||
Riga 68: | Riga 68: | ||
<FONT color=gray>' ''La funzione "memset" carica un valore in tutti i byte di un'area di memoria:''</font> | <FONT color=gray>' ''La funzione "memset" carica un valore in tutti i byte di un'area di memoria:''</font> | ||
− | memset(ss, | + | memset(ss, Null, ss.Count * SizeOf(gb.String)) |
<FONT color=gray>' ''Verifichiamo in console il risultato:''</font> | <FONT color=gray>' ''Verifichiamo in console il risultato:''</font> |
Versione delle 04:28, 2 ott 2013
Per azzerare tutti gli elementi di una variabile vettoriale (array) di tipo Stringa, è possibile utilizzare almeno le modalità che di seguito si espongono.
Indice
Modalità con il ciclo For...Next
Public Sub Button1_Click() Dim ss As String[] = ["a", "b", "c", "d", "e"] Dim b As Byte For b = 0 To ss.Max ss[b] = Null Next End
Modalità con un ciclo While...Wend
Public Sub Button1_Click() Dim ss As String[] = ["a", "b", "c", "d", "e"] Dim b As Byte While b < 5 ' Il ciclo continua finché "b" è minore di 5 ss[b] = Null Inc b Wend End
Modalità con un ciclo Do...Loop Until
Public Sub Button1_Click() Dim ss As String[] = ["a", "b", "c", "d", "e"] Dim b As Byte Do ss[b] = Null Inc b ' Il ciclo continua finché "b" non è uguale a 5: Loop Until b = 5 End
Modalità con la funzione esterna di C: memset ()
E' possibile utilizzare anche la funzione esterna di C: "memset()", dichiarando sia la funzione medesima mediante Extern, sia la libreria C, nella quale essa è contenuta.
Private Extern memset(dest As Byte[], c As Byte, count As Byte) In "libc:6" Public Sub Form_Open() Dim ss As String[] = ["a", "b", "c", "d", "e"] Dim b As Byte ' La funzione "memset" carica un valore in tutti i byte di un'area di memoria: memset(ss, Null, ss.Count * SizeOf(gb.String)) ' Verifichiamo in console il risultato: For b = 0 To ss.Max Print ss[b] Next End