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
    venerdì 20 giugno 2025
    Bari
    33
    01
    29
    44
    22
    Cagliari
    44
    19
    09
    33
    01
    Firenze
    68
    14
    30
    61
    05
    Genova
    44
    53
    24
    79
    62
    Milano
    62
    72
    07
    21
    37
    Napoli
    48
    39
    29
    85
    11
    Palermo
    12
    50
    29
    76
    75
    Roma
    89
    02
    62
    78
    23
    Torino
    16
    45
    27
    23
    13
    Venezia
    36
    77
    81
    09
    73
    Nazionale
    17
    18
    01
    47
    88
    Estrazione Simbolotto
    Napoli
    15
    35
    27
    25
    14
Indietro
Alto