Differenze tra le versioni di "Azzerare tutti gli elementi di un vettore di tipo numerico"
Da Gambas-it.org - Wikipedia.
Riga 58: | Riga 58: | ||
==Modalità con la funzione esterna di C: ''memset ()''== | ==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. | 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 | + | '''Private''' Extern memset(dest As Byte[], c As Byte, count As Byte) In "libc:6" |
Versione delle 04:18, 2 ott 2013
Per azzerare tutti gli elementi di una variabile vettoriale (array) di un qualsiasi tipo numerico, è possibile utilizzare almeno le modalità che di seguito si espongono, nei quali si pone come obiettivo l'azzeramento di un vettore di tipo Byte.
Indice
Modalità con il ciclo For...Next
Public Sub Button1_Click() Dim bb As Byte[] = [1, 2, 3, 4, 5] Dim b As Byte For b = 0 To bb.Max bb[b] = 0 Next End
Modalità con un ciclo While...Wend
Public Sub Button1_Click() Dim bb As Byte[] = [1, 2, 3, 4, 5] Dim b As Byte While b < 5 ' Il ciclo continua finché "b" è minore di 5 bb[b] = 0 Inc b Wend End
Modalità con un ciclo Do...Loop Until
Public Sub Button1_Click() Dim bb As Byte[] = [1, 2, 3, 4, 5] Dim b As Byte Do bb[b] = 0 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 bb As Byte[] = [1, 2, 3, 4, 5] Dim b As Byte ' La funzione "memset" carica un valore in tutti i byte di un'area di memoria: memset(bb, 0, bb.Count) ' Verifichiamo in console il rusultato: For b = 0 To bb.Max Print bb[b] Next End