Porre a "Null" tutti gli elementi di un vettore di tipo Stringa

Da Gambas-it.org - Wikipedia.

Per azzerare tutti gli elementi di una variabile vettoriale (array) di tipo Stringa, è possibile utilizzare almeno le modalità che di seguito si espongono.


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