Differenze tra le versioni di "Azzerare tutti gli elementi di un vettore di tipo numerico"
Da Gambas-it.org - Wikipedia.
(8 versioni intermedie di uno stesso utente non sono mostrate) | |||
Riga 1: | Riga 1: | ||
− | 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, | + | 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, nelle quali si avrà come obiettivo l'azzeramento di un vettore di tipo ''Byte''. |
− | == | + | ==Assegnazione del valore zero ad ogni elemento del vettore mediante un ciclo== |
− | + | Public Sub Button1_Click() | |
Dim bb As Byte[] = [1, 2, 3, 4, 5] | Dim bb As Byte[] = [1, 2, 3, 4, 5] | ||
Dim b As Byte | Dim b As Byte | ||
− | + | For b = 0 To bb.Max | |
− | + | bb[b] = 0 | |
− | + | Next | |
− | |||
− | |||
− | |||
− | + | End | |
− | + | oppure: | |
− | + | Public Sub Button1_Click() | |
− | |||
− | |||
Dim bb As Byte[] = [1, 2, 3, 4, 5] | Dim bb As Byte[] = [1, 2, 3, 4, 5] | ||
Dim b As Byte | Dim b As Byte | ||
− | |||
− | + | While b < 5 <FONT color=gray>' ''Il ciclo continua finché "b" è minore di 5''</font> | |
− | + | bb[b] = 0 | |
− | + | Inc b | |
+ | Wend | ||
− | + | End | |
− | + | oppure: | |
− | + | Public Sub Button1_Click() | |
− | |||
− | |||
+ | Dim bb As Byte[] = [1, 2, 3, 4, 5] | ||
+ | Dim b As Byte | ||
+ | |||
+ | Do | ||
+ | bb[b] = 0 | ||
+ | Inc b | ||
+ | <FONT color=gray>' ''Il ciclo continua finché "b" non è uguale a 5:''</font> | ||
+ | Loop Until b = 5 | ||
+ | End | ||
+ | |||
− | ==Modalità con | + | ==Modalità con il Metodo ".Fill()"== |
− | + | Public Sub Button1_Click() | |
Dim bb As Byte[] = [1, 2, 3, 4, 5] | Dim bb As Byte[] = [1, 2, 3, 4, 5] | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | bb.Fill(0, 0, 5) | |
− | + | End | |
− | |||
− | |||
− | |||
− | ==Modalità con la funzione esterna di C: | + | ==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 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 | |
− | |||
− | <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(bb, 0, bb.Count) | |
− | <FONT color=gray>' ''Verifichiamo in console il | + | <FONT color=gray>' ''Verifichiamo in console il risultato:''</font> |
− | + | For b = 0 To bb.Max | |
− | + | Print bb[b] | |
− | + | Next | |
− | + | End |
Versione attuale delle 16:09, 1 lug 2024
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, nelle quali si avrà come obiettivo l'azzeramento di un vettore di tipo Byte.
Assegnazione del valore zero ad ogni elemento del vettore mediante un ciclo
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
oppure:
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
oppure:
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 il Metodo ".Fill()"
Public Sub Button1_Click() Dim bb As Byte[] = [1, 2, 3, 4, 5] bb.Fill(0, 0, 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 risultato: For b = 0 To bb.Max Print bb[b] Next End