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
    giovedì 17 luglio 2025
    Bari
    22
    33
    04
    68
    47
    Cagliari
    09
    52
    27
    21
    47
    Firenze
    05
    33
    72
    17
    08
    Genova
    76
    67
    65
    68
    45
    Milano
    75
    52
    46
    34
    22
    Napoli
    40
    23
    71
    12
    22
    Palermo
    44
    89
    39
    01
    31
    Roma
    89
    04
    05
    82
    26
    Torino
    05
    59
    85
    88
    24
    Venezia
    69
    45
    75
    44
    30
    Nazionale
    28
    85
    16
    03
    83
    Estrazione Simbolotto
    Nazionale
    39
    26
    40
    23
    24

Ultimi Messaggi

Indietro
Alto