Option Explicit
Sub Main
'consigli x struttura motore salva 55 numeri usciti ad ogni estrazione... by joe
'Usi 2 For uno per per ruote ed uno per le posizioni
'per leggere ogni Estratto (pro-tempore)
'di quella ruota e di quella posizione.
'Incrementi un indice "i" ad ogni lettura (11*5 = 55)
'e memorizzi questo Estratto "E" come "i"esimo elemento del vettore.
Dim r,p,idestr,counterrange,Estrattodasalvare,i
ReDim i55dasalvare(0)
ReDim i55omenosalvati(0)
counterrange = EstrazioneFin
For r = 1 To 12
For p = 1 To 5
Estrattodasalvare = Estratto(counterrange,r,p)
Call Scrivi("Estratto da salvare: " & Estrattodasalvare)
'i55dasalvare = Array(0,StringaNumeri(Estrattodasalvare))
'i55dasalvare = Array("0.")
'i55omenosalvati = array_push(i55dasalvare,Estrattodasalvare)
'i55omenosalvati = array_push(0,Estrattodasalvare)
'i55omenosalvati = array_push(0,StringaNumeri(Estrattodasalvare))
'i55omenosalvati = array_push(i55dasalvare,StringaNumeri(Estrattodasalvare))
'i55dasalvare=Array(StringaNumeri(Estrattodasalvare))
Next
Next
Call Scrivi("verifica raccolta estratti per l'estrazione demo del 27-6-2020")
For i = 0 To UBound(i55omenosalvati)
Call Scrivi("Estratto salvato n. " & i & " : " & i55omenosalvati(i))
Next
End Sub
Function array_push(arr,vars)
' Dimensiono le variabili interne alla funzione
Dim k,newelem,newarrsize,elem
' Verifico se arr è una array
If IsArray(arr) Then
' Verifico che vars non sia vuoto
If Len(vars) > 0 Then
' Verifico se vars ospita una o più virgole e quindi
' se è uno solo o un elenco di elementi.
' Se è un solo elemento...
If InStr(vars,",") = False Then
' Incremento di uno il numero di elementi
newarrsize = CInt(UBound(arr) + 1)
ReDim Preserve arr(newarrsize)
' Aggiungo in coda il nuovo elemento
arr(newarrsize) = vars
' Se vars è un elenco di elementi...
Else
' Definisco un contatore interno con valore di partenza
' pari al numero di elementi dell'array originale + 1
k =(UBound(arr) + 1)
' Creo una array con tutti i nuovi elementi da aggiungere
newelem = Split(vars,",")
' Incremento il numero di elementi per contenere quelli nuovi
newarrsize = CInt(UBound(arr) + UBound(newelem) + 1)
ReDim Preserve arr(newarrsize)
' Ciclo i nuovi elementi per aggiungerli all'array originale
For Each elem In newelem
arr(k) = Trim(elem)
k = k + 1
Next
End If
End If
array_push = arr
' Se arr non è una array la nostra funzione restituisce false
Else
array_push = False
End If
End Function