Novità

SpazioScript (per LuigiB o per chi può aiutarmi)

Codice:
Function GetStringaNumDaSvil
      Dim s,k
      s = ""
      For k = 1 To UBound(aBNumDaSvil)
         If aBNumDaSvil(k) = True Then
            s = aBNumDaSvil(k) & "."
            s = s & aBNumDaSvil(k) & "."
         End If
      Next
      GetStringaNumDaSvil = RimuoviLastChr(s,".")
   End Function
 
quasi , prova apensare come se il computer fossi tu e segui mentlmente il ciclo .. io dico che cosi la variabile S alla fine del ciclo conterra due volte di seguito l'ultimo valore letto perdendo tutti gli altri.
 
Quindi prende il valore e lo registra... mantiene il valore e ne aggiunge uno... dovrebbe essere cosi...

Codice:
   Function GetStringaNumDaSvil
      Dim s,k
      s = ""
      For k = 1 To UBound(aBNumDaSvil)
         If aBNumDaSvil(k) = True Then
            s = aBNumDaSvil(k) & "."
            For s = 1 To UBound aBNumDaSvil(k)
            s = s & aBNumDaSvil(k) & "."
            Next
         End If
      Next
      GetStringaNumDaSvil = RimuoviLastChr(s,".")
   End Function
 
No hai ragione è senza senso .. forse sbaglio la posizione della concatenazione

Codice:
   Function GetStringaNumDaSvil
      Dim s,k
      s = ""
      For k = 1 To UBound(aBNumDaSvil)
         If aBNumDaSvil(k) = True Then
            s = aBNumDaSvil(k) & "."           
            Next
            s = s & aBNumDaSvil(k) & "."
         End If
      Next
      GetStringaNumDaSvil = RimuoviLastChr(s,".")
   End Function
 
Codice:
   Function GetStringaNumDaSvil
      Dim s,k
      s = ""
      For k = 1 To UBound(aBNumDaSvil)
         If aBNumDaSvil(k) = True Then
            s = s & aBNumDaSvil(k) & "."
      End If
   Next
   GetStringaNumDaSvil = RimuoviLastChr(s,".")
   End Function
 
perfetto ..cosi è finalmente ok.
continuiamo ad aggiungere funzioni utili
ora ci vuole un 'altra funzione pubblica della classe che ritorni la quantita dei numeri da sviluppare...
Attento che questa è difficilissima :-)


Codice:
   Function GetQuantitaNumeriDaSvil
     
   End Function
 
Codice:
   Function GetQuantitaNumeriDaSvil
      Dim k,Q
      For k = 1 To UBound(aBNumDaSvil)
         If aBNumDaSvil(k) = True Then
            Q = Q + 1
            End If
            Next
            GetQuantitaNumeriDaSvil = Q
   End Function
 
andrebbe bene .. ma dovevi usare il valore che avevamo gia calcolato e registrato globalmente nella classe
quindi modifica
 
Codice:
   Function GetQuantitaNumeriDaSvil
      Dim k,Q
      For k = 1 To UBound(nQNumeri)
         If nQNumeri(k) = True Then
            Q = Q + 1
            End If
            Next
            GetQuantitaNumeriDaSvil = Q
   End Function
 
Codice:
Option Explicit
Class clsSviluppo
   Private aBNumDaSvil
   Private nQNumeri
   Private nCombInt
   Private nClasse
   Function InitSviluppo(aNumeri,Classe)
      nQNumeri = AlimentArrayNumDaSvil(aNumeri)
      nCombInt = Combinazioni(aNumeri,Classe)
      nClasse = Classe
      InitSviluppo = nCombInt
   End Function
   Private Function AlimentArrayNumDaSvil(aNumeri)
      Dim k,Q
      aBNumDaSvil = ArrayNumeriToBool(aNumeri)
      Q = 0
      For k = 1 To UBound(aBNumDaSvil)
         If aBNumDaSvil(k) = True Then
            Q = Q + 1
         End If
      Next
      AlimentArrayNumDaSvil = Q
   End Function
   Function GetStringaNumDaSvil
      Dim s,k
      s = ""
      For k = 1 To UBound(aBNumDaSvil)
         If aBNumDaSvil(k) = True Then
            s = s & aBNumDaSvil(k) & "."
         Next
      End If
      GetStringaNumDaSvil = RimuoviLastChr(s,".")
   End Function
   Function GetQuantitaNumeriDaSvil
      GetQuantitaNumeriDaSvil = nQNumeri
   End Function
End Class
 
ok , c'è ancora un errore ... verifica bene di aver chiuso i cicli for e i costrutti decisionali.... i next e gli end if devono andare al posto giusto ... riposta tutta la classe corretta
 
Codice:
Option Explicit
Class clsSviluppo
   Private aBNumDaSvil
   Private nQNumeri
   Private nCombInt
   Private nClasse
   Function InitSviluppo(aNumeri,Classe)
      nQNumeri = AlimentArrayNumDaSvil(aNumeri)
      nCombInt = Combinazioni(aNumeri,Classe)
      nClasse = Classe
      InitSviluppo = nCombInt
   End Function
   Private Function AlimentArrayNumDaSvil(aNumeri)
      Dim k,Q
      aBNumDaSvil = ArrayNumeriToBool(aNumeri)
      Q = 0
      For k = 1 To UBound(aBNumDaSvil)
         If aBNumDaSvil(k) = True Then
            Q = Q + 1
         End If
      Next
      AlimentArrayNumDaSvil = Q
   End Function
   Function GetStringaNumDaSvil
      Dim s,k
      s = ""
      For k = 1 To UBound(aBNumDaSvil)
         If aBNumDaSvil(k) = True Then
            s = s & aBNumDaSvil(k) & "."
         End If
      Next
      GetStringaNumDaSvil = RimuoviLastChr(s,".")
   End Function
   Function GetQuantitaNumeriDaSvil
      GetQuantitaNumeriDaSvil = nQNumeri
   End Function
End Class
 
bene , altro errore nell'uso della funzione combinazioni , di cui non mi ero accorto ...
sei sicuro di aver pssato i parametri giusti in questa riga ?
nCombInt = Combinazioni(aNumeri,Classe)

Correggi e ripota tutta la classse
 
Codice:
Option Explicit
Class clsSviluppo
   Private aBNumDaSvil
   Private nQNumeri
   Private nCombInt
   Private nClasse
   Function InitSviluppo(aNumeri,Classe)
      nQNumeri = AlimentArrayNumDaSvil(aNumeri)
      nCombInt = Combinazioni(nQNumeri,Classe)
      nClasse = Classe
      InitSviluppo = nCombInt
   End Function
   Private Function AlimentArrayNumDaSvil(aNumeri)
      Dim k,Q
      aBNumDaSvil = ArrayNumeriToBool(aNumeri)
      Q = 0
      For k = 1 To UBound(aBNumDaSvil)
         If aBNumDaSvil(k) = True Then
            Q = Q + 1
         End If
      Next
      AlimentArrayNumDaSvil = Q
   End Function
   Function GetStringaNumDaSvil
      Dim s,k
      s = ""
      For k = 1 To UBound(aBNumDaSvil)
         If aBNumDaSvil(k) = True Then
            s = s & aBNumDaSvil(k) & "."
         End If
      Next
      GetStringaNumDaSvil = RimuoviLastChr(s,".")
   End Function
   Function GetQuantitaNumeriDaSvil
      GetQuantitaNumeriDaSvil = nQNumeri
   End Function
End Class
 
benissimo , ci sarebbe ancora un altro errore ma non è bloccante e ce ne accorgeremo tra poco.
Tralasciamo per il momento la classe di cui per ora abbiamo scritto il 30% di quello che serve e dedichiamoci
a scrivere del codice nella sub main in modo da trestare la classe , ci sarà utile per il proseguimento.

quindi nella sub main dovrai
- istanziare la classe
- far scegliere dinmicamente i numeri
- far scegliere dinamicamente la classe
- inizializare lo sviluppo
- scrivere in output e ottenere qualcosa come questa ( in funzione dei numeri e della classe scelta dall'utente io ho scelto 10 numeri classe ambo)

usa la base della sub main postata sotto



1600335339573.png

Codice:
Sub Main
  
      Dim cSvil
      Dim aNumDaSvil,nClasse,nCombInt,nQNumeri
     
       

      If nCombInt > 0 Then
      
      
      Else
         MsgBox "Impossibile sviluppare",vbCritical
      End If
End Sub
 
Ultima modifica:

Ultima estrazione Lotto

  • Estrazione del lotto
    sabato 16 maggio 2026
    Bari
    84
    57
    09
    22
    60
    Cagliari
    52
    58
    80
    57
    76
    Firenze
    50
    15
    63
    58
    60
    Genova
    08
    30
    61
    75
    55
    Milano
    82
    68
    29
    16
    10
    Napoli
    86
    46
    15
    33
    65
    Palermo
    46
    29
    73
    74
    37
    Roma
    30
    15
    02
    87
    52
    Torino
    15
    62
    82
    52
    67
    Venezia
    58
    85
    40
    35
    48
    Nazionale
    16
    51
    56
    71
    17
    Estrazione Simbolotto
    Milano
    18
    07
    27
    32
    12
Indietro
Alto