Novità

Per magia o altro bravissimo scripter come si implementa la tabella colorata qui?

lotto_tom75

Advanced Premium Member
Codice:
Option Explicit
Class clsCombinazione
   Private aNum
   Private aBNum
   Private mFrequenze
   Private mPresenze
   Private mClasse
   Private mKey
   Private aIdEstr
   Private nTrov

   Private Sub Class_Initialize()
       mFrequenze = 0
       mPresenze = 0
       ReDim aBnum(90)
   End Sub

   Public Property Get Classe
      Classe = mClasse
   End Property
   Public Property Let Classe(v)
      mClasse = v
   End Property
   Public Property Get ArrayNum
      ArrayNum = aNum
   End Property
   Public Property Get Key
      Key = mKey
   End Property
   Public Property Let Key(v)
      mKey = v
   End Property
   Public Property Get Presenze
      Presenze = mPresenze
   End Property
   Public Property Get Frequenze
      Frequenze = mFrequenze
   End Property

   Public Property Get Combinazione
      Combinazione = StringaNumeri(aNum,,True)
   End Property
   Sub IncrementaFrequenze
      mFrequenze = mFrequenze + 1
   End Sub

   Sub SetNumeri(aNumTmp)
      Dim k
      aNum = aNumTmp
      For k = 1 To UBound(aNum)
         aBNum(aNum(k)) = True
      Next
   End Sub
   Sub CalcolaFrequenza(aRuote,nSorte,nIni,nFin)
      mFrequenze = SerieFreqTurbo(nIni,nFin,aNum,aRuote,nSorte)

   End Sub
   Sub CalcolaPresenze(aRuote,nSorte,Inizio,Fine)

      Dim k,r,e,nPunti,aNumRuota,nPresenze
      Dim aB
      nPresenze = 0

      For k = Inizio To Fine
         For r = 1 To UBound(aRuote)
               Call GetArrayNumeriRuota(k,aRuote(r),aNumRuota)

               nPunti = 0
               For e = 1 To 5
                  If aBNum(aNumRuota(e)) Then
                     nPunti = nPunti + 1
                  End If
               Next
               If nPunti >= nSorte Then
                  nPresenze = nPresenze + 1
               End If
         Next
      Next

      mPresenze = nPresenze

   End Sub

   Sub AddIdEstr(v)
      nTrov = nTrov + 1
      ReDim Preserve aIdEstr(nTrov)
      aIdEstr(nTrov) = v

   End Sub
End Class

Private aEstrattiBool

Sub Main
   Dim nEstrDaUSare,nClasse,nSorte,CollLunghette,nIni,nFin,k

   nEstrDaUSare = 18
   nClasse = 3
   nSorte = 1
  ' ReDim aRuote(10)
'   For k = 1 To 10
'      aRuote (k) = k
'   Next
   ReDim aRuote(1)
   aRuote(1) = FI_


   nIni =(EstrazioneFin - nEstrDaUSare) + 1
   nFin = EstrazioneFin
   Set CollLunghette = GetCollLunghettaMigliori(nIni,nFin,nClasse,nSorte,aRuote,nEstrDaUSare)
   Call AlimentaTabOutput(CollLunghette,aRuote,nClasse,nSorte)
   MsgBox TempoTrascorso


End Sub
Sub AlimentaTabOutput(CollLunghette,aRuote,nClasse,nSorte)
   Dim av,cLung

   Scrivi "Ruote  : " & StringaRuote(aRuote)
   Scrivi "Classe : " & nClasse
   Scrivi "Sorte  : " & nSorte


   av = Array("","Lunghetta","Frequenza","Presenza")
   Call InitTabella(av)

   For Each cLung In CollLunghette
      av(1) = cLung.Combinazione
      av(2) = cLung.Frequenze
      av(3) = cLung.Presenze
      Call AddRigaTabella(av)
   Next
   Call CreaTabella

End Sub
Function GetCollLunghettaMigliori(Inizio,Fine,nClasse,nSorte,aRuote,nEstrUsate)

   Dim CollComb,cComb
   Dim CollLung,cLung
   Dim k,j,e
   Dim nFatte,nDaFare
   Dim nRetFrequenze

   Dim sKey
   ReDim aCol(nSorte)
   ReDim abNumValidi(90)
   ReDim aEstrattiBool(nEstrUsate,12,90)
   Call AlimentaArrayEstrattiBool(aEstrattiBool,Inizio,Fine,aRuote)

   Set CollComb = GetNewCollection
   Set CollLung = GetNewCollection

   ' alimento una collection con tutte le combinazioni di classe <nSorte> che si
   ' formano con le cinquine comprese nel range interessato
   ' di ogni singola combinazione si calcolano le frequenze

Dim quantitanumeriscelti
'ReDim aNum(0)
'quantitanumeriscelti = ScegliNumeri(aNum)


   For k = Inizio To Fine
      For j = 1 To UBound(aRuote)
         ReDim aNum(0)
         Call GetArrayNumeriRuota(k,aRuote(j),aNum)
         For e = 1 To 5
            abNumValidi(aNum(e)) = True
         Next
         Call OrdinaMatrice(aNum,1)

         Call InitSviluppoIntegrale(aNum,nSorte)
         Do While GetCombSviluppo(aCol)
            sKey = "k" & StringaNumeri(aCol,,True)
            If GetItemCollection(CollComb,sKey,cComb) Then
               cComb.IncrementaFrequenze
            Else
               Set cComb = New clsCombinazione
               cComb.Classe = nSorte
               cComb.SetNumeri(aCol)
               cComb.key = sKey
               cComb.IncrementaFrequenze
               Call AddItemColl(CollComb,cComb,sKey)
            End If
         Loop

      Next
      Call AvanzamentoElab(Inizio,Fine,k)
   Next
   Call AvanzamentoElab(Inizio,Fine,Inizio)

   ' ordino la collection contenente tutte le combinazioni di classe <nSorte> per il valore frequenza
   Call OrdinaItemCollection(CollComb,"Frequenze","Key")

   ' da ognuna delle combinazioni base scasturirà una lunghetta quindi ciclo su tutte
   ' le combinazioni base presenti nella collection e per ciascuna costruirò una lunghetta
   nDaFare = CollComb.count
   nFatte = 0
   For Each cComb In CollComb


      ReDim aRetCol(nClasse)
      ' ottiene la lunghetta "migliore" che contiene la combinazione base
      If GetLung(cComb,aRetCol,nRetFrequenze,CollComb,Inizio,Fine,aRuote,nSorte,nClasse,abNumValidi,nEstrUsate) Then

          ' aggiungo la lunghetta trovata in una nuova collection
          Set cLung = New clsCombinazione
          cLung.Classe = nClasse
          Call OrdinaMatrice(aRetCol,1)
          cLung.SetNumeri(aRetCol)
          sKey = "k" & StringaNumeri(aRetCol,,True)
          Call cLung.CalcolaFrequenza(aRuote,nSorte,Inizio,Fine)
          Call cLung.CalcolaPresenze(aRuote,nSorte,Inizio,Fine)


          Call AddItemInColl(cLung,sKey,CollLung)


      End If

      nFatte = nFatte + 1
      If nFatte Mod 10 = 0 Then
         Call AvanzamentoElab(1,nDaFare,nFatte)
         If ScriptInterrotto Then Exit For
         DoEventsEx
      End If
   Next

   ' ordino la collection delle lunghette trovate per poi mostrarle in output
   Call OrdinaItemCollection(CollLung,"Presenze")
   Set GetCollLunghettaMigliori = CollLung


End Function
Sub AlimentaArrayEstrattiBool(aEstrattiBool,Inizio,Fine,aRuote)
   Dim idEstr,i,r,e
   ReDim aNum(5)
   For idEstr = Inizio To Fine
      i = i + 1
      For r = 1 To UBound(aRuote)
         Call GetArrayNumeriRuota(idEstr,aRuote(r),aNum)
         For e = 1 To 5
            aEstrattiBool(i,aRuote(r),aNum(e)) = True
         Next
      Next
   Next

End Sub
Sub AddItemInColl(cItem,sKey,Coll)
   On Error Resume Next

   Coll.Add cItem,sKey
   If Err <> 0 Then Err.Clear
End Sub
Function GetLung(cComb,aRetCol,nRetPres,collComb,Inizio,Fine,aRuote,nSorte,nClasse,abNumValidi,nQtEstrUsate)

   ' a partire dalla combinazione base costruisce la lunghetta migliore (piu prolifica per presenze)

   Dim nPos,n,nPresMax,nNum,nPresTmp,k,aNumBase
   Dim aNumDaSvil,nQtNumDaSvil,aColDaPrendere,bFound
   ReDim aBUsati(90)

   Dim objSvil
   Dim sKey
   Dim cCombTmp
   Dim nClasseSvilTmp


   ' inizializzo un nuovo motore di sviluppo
   Set objSvil = GetMotoreSviluppoIntegrale
   ' leggo i numeri della combinazione base
   aNumBase = cComb.ArrayNum
   For k = 1 To cComb.Classe
      aRetCol(k) = aNumBase(k)
      aBUsati(aRetCol(k)) = True
   Next


   ' faccio in clclo che dura fino a quando la lunghetta non arriva a contenere la quantità
   ' di numeri voluta
   ' la lunghetta parte con i numeri della combinazione base
   ' i numeri vengono aggiunti sviluppandoli con combinazioni di classe <nSorte>
   ' al termine del ciclo do sia avrà la combinazione migliore da aggiungere
   ' alla lunghetta base
   ' il giro continua finche la lunghetta non raggiunge la quantita di numeri voluti
   nPos = cComb.Classe
   Do While nPos < nClasse
            ' calcolo  la classe per sviluppare le combinazioni da testare insieme ai numeri gia presenti
            ' nella lunghetta
            ' se possibile la classe di sviluppo è pari a <nSorte> senno viene calcolata e assume un valore inferiore

            If nClasse - nPos >= nSorte Then
               nClasseSvilTmp = nSorte
            Else
               nClasseSvilTmp = nClasse - nPos
            End If
            ' predispongo la lunghetta per accogliere i numeri che otterremo dallo sviluppo
            ReDim Preserve aRetCol(nPos + nClasseSvilTmp)

            ' individuo i numeri da sviluppare i quali devono avere la c aratteristica sia di essere usciti
            ' nelle estrazioni coinvolte dal range sia di non essere gia presenti nella lunghetta stessa

            ReDim aNumDaSvil(90)
            nQtNumDaSvil = 0
            For n = 1 To 90
               If Not(aBUsati(n)) Then
                  If abNumValidi(n) Then
                     nQtNumDaSvil = nQtNumDaSvil + 1
                     aNumDaSvil(nQtNumDaSvil) = n
                  End If
               End If
            Next
            ReDim Preserve aNumDaSvil(nQtNumDaSvil)
            ' inizio a sviluppare le combinazioni da testare insieme ai numeri della lunghetta
            ReDim aCol(nClasseSvilTmp)
            bFound = False
            Call objSvil.InitSviluppoIntegrale(aNumDaSvil,nClasseSvilTmp)
            Do While objSvil.GetCombSviluppo(aCol)
               ' nelle opportune posizioni dell'array della lunghetta pongo i numeri della combinazione sviluppata
               For k = 1 To nClasseSvilTmp
                  aRetCol(nPos + k) = aCol(k)
               Next
               ' calcolo le presenze della lunghetta
               nPresTmp = Presenze(aRetCol,nQtEstrUsate,UBound(aRetCol),aRuote,nSorte)
               ' se le presenze calcolate sono >= a quelle gia inidviduate allora
               ' devo tenere traccia della combinazione da prendere per inserirla
               ' nella lunghetta all'uscita  del ciclo
               If nPresTmp >= nPresMax Then
                  aColDaPrendere = aCol
                  nPresMax = nPresTmp
                  bFound = True
               End If
            Loop

            ' se ho trovato una combinazione da poter inserire nella lunghetta
            ' procedo ad inserirla e tengo traccia della nuova dimensione (quantita dei numeri)
            ' della lunghetta
            ' se non ho trovato niente è inutile continuare esce
            If bFound Then

               For k = 1 To nClasseSvilTmp
                     aRetCol(nPos + k) = aColDaPrendere(k)
                     aBUsati(aColDaPrendere(k)) = True

               Next
               nPos = nPos + nClasseSvilTmp
            Else
               Exit Do
            End If





   Loop

   ' se la lunghetta ha raggiunto la dimesnione prevista la funzione torna true
   If nPos = nClasse Then


      GetLung = True
   Else
      GetLung = False
   End If

End Function
Sub AlimentaNumValidi(aCol,Inizio,Fine,aRuote,abNumValidi)
   ' funzione usata per test non nello script
   'ReDim abNumValidi(90)

   ReDim abNumValidi(0)
   Dim quantitanumeriscelti
   quantitanumeriscelti = ScegliNumeri(abNumValidi)


   ReDim aNumRuota(5)
   Dim idEstr,e,r

   For idEstr = Inizio To Fine
      For r = 1 To UBound(aRuote)
         Call GetArrayNumeriRuota(idEstr,aRuote(r),aNumRuota)
         If PuntiSuArray(aNumRuota,aCol) > 1 Then
            For e = 1 To 5
               abNumValidi(aNumRuota(e)) = True
            Next
         End If
      Next
   Next
End Sub
Function Presenze(aColDaSvilTmp,nQtEstrUsate,nClasseLunghetta,aRuote,Sorte)
 ' calcola le presenze di una lunghetta
   Dim k,r,e,nPunti,aNumRuota,nPresenze
  ' Dim aB
   nPresenze = 0
  ' aB = ArrayNumeriToBool(aColDaSvilTmp)
   For k = 1 To nQtEstrUsate
      For r = 1 To UBound(aRuote)
   '         Call GetArrayNumeriRuota(k,aRuote(r),aNumRuota)

            nPunti = 0
            For e = 1 To nClasseLunghetta
               If aEstrattiBool(k,aRuote(r),aColDaSvilTmp(e)) Then
                  nPunti = nPunti + 1
               End If
            Next
            If nPunti >= Sorte Then
               nPresenze = nPresenze + 1
            End If
      Next
   Next

   Presenze = nPresenze

End Function

Il sopra riportato script è molto efficiente per ricercare e ordinare le frequenze in ordine decrescente solo che valuta sempre e soltanto i 90 numeri mentre a me servirebbe appunto di implementarvi la tabella colorata per l'immissione dei numeri voluti di volta in volta.

Ho provato in mille e uno modi senza ahimè riuscirvi :(:rolleyes::)

Grazie 1000 a chi posterà la solution ;)

Ps: A giudicare dalle numerose "istruzioni commentate" in esso presenti credo che l'abbia creato il Grande Maestro LuigiB, che saluto. Ad ogni modo è davvero molto ben fatto ed estremamente rapido nelle sue elaborazioni.
 
Ultima modifica:
Scusa LottoTom, ma lo script, non fa altro che prendere i numeri dalle estrazioni che consideri sulla ruota scelta, così come è non opera con i 90 numeri, bensì con i numeri che ti ho spiegato.

e' specificato anche nel costrutto:
' alimento una collection con tutte le combinazioni di classe <nSorte> che si
' formano con le cinquine comprese nel range interessato
' di ogni singola combinazione si calcolano le frequenze

quindi è in questa parte del costrutto che devi operare.
 
claudio8;n2164104 ha scritto:
Scusa LottoTom, ma lo script, non fa altro che prendere i numeri dalle estrazioni che consideri sulla ruota scelta, così come è non opera con i 90 numeri, bensì con i numeri che ti ho spiegato.

e' specificato anche nel costrutto:
' alimento una collection con tutte le combinazioni di classe <nSorte> che si
' formano con le cinquine comprese nel range interessato
' di ogni singola combinazione si calcolano le frequenze

quindi è in questa parte del costrutto che devi operare.

Ciao claudio,

si anche secondo me è li che va implementata la tabella e forse proprio in questa fascia del codice

Codice:
 ' individuo i numeri da sviluppare i quali devono avere la c aratteristica sia di essere usciti
            ' nelle estrazioni coinvolte dal range sia di non essere gia presenti nella lunghetta stessa

            ReDim aNumDaSvil(90)
            nQtNumDaSvil = 0
            For n = 1 To 90
               If Not(aBUsati(n)) Then
                  If abNumValidi(n) Then
                     nQtNumDaSvil = nQtNumDaSvil + 1
                     aNumDaSvil(nQtNumDaSvil) = n
                  End If
               End If
            Next

Ma ho provato a sostituire aNumDaSvil con... il codice della "tabella immissione numeri desiderati"

Codice:
ReDim aNumDaSvil(0)
nQtNumDaSvil = ScegliNumeri(aNumDaSvil)

Posizionandolo in diverse parti ma in ogni caso mi da errore o mi presenta la tabella più volte senza permettermi di andare avanti...
 
Ciao Lotto Tom, il riferimento che hai indicato tu fa una comparazione di numeri aBUsati,rispetto ai totali 90.

Tu cosa vorresti effettivamente dallo script, perchè questo ha una serie di controlli sempre riferiti all'utilizzo delle estrazioni che si scelgono inizialmente.
 
claudio8;n2164130 ha scritto:
Ciao Lotto Tom, il riferimento che hai indicato tu fa una comparazione di numeri aBUsati,rispetto ai totali 90.

Tu cosa vorresti effettivamente dallo script, perchè questo ha una serie di controlli sempre riferiti all'utilizzo delle estrazioni che si scelgono inizialmente.

Ciao claudio, io vorrei che lo script mostrasse a video le lunghette di classe desiderata + frequenti in ordine decrescente per la sorte e la ruota scelta ma che, anzichè partire dal gruppo dei 90 o da numeri da lui prelevati analizzando le ultime uscite..., elaborasse di volta in volta solo numeri desiderati importati nello stesso script tramite un semplice copia incolla nella tabella colorata apposita.

Es. "visivo" fittizio

copio e incollo nella tabella i numeri 1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20
scelgo la ruota (es BA) , scelgo la classe (es. 7) ,la sorte (es. 2) e lo script mostra in output in ordine di frequenza decrescente le 7ine x A su BA integrali sviluppabili dal gruppo numerico di base di cui sopra...
 
Ultima modifica:
Provando a risolvere autonomamente...

Non riesco a legare la collection all'ordinamento... x frequenza decrescente...

Codice:
Set coll = GetNewCollection

Set clsN = New clsFrequenza

      clsN.numero = StringaNumeri(acol)
      clsN.aRuote = "ruota:" & SiglaRuota(aRuoteTmp(1))
      clsN.nSorte = nSorte
      clsN.nritardo = RetRit1
      clsN.RetRitMax = RetRitMax
      clsN.RetRitIncrRitMax = RetIncrRitMax
      clsN.RetFreq = RetFreq
      clsN.difforo = Diff
      clsN.contatore = contatore



coll.Add clsN,"k" & clsN.numero


Call OrdinaItemCollection(coll,,7,,1)

'OrdinaMatrice coll,-1,7


Call Scrivi(FormattaStringa(i,"00000") & " " & StringaNumeri(acol) & " FREQ " & RetFreq & " RUOTA " & NomeRuota(aRuoteTmp(1)) & " contatore " & contatore)

Lo script non mi da errori mostrando in output i risultati ma non esegue l'ordinamento desiderato x frequenza decrescente.


Where I fagian? Tradotto... Dove sto fagianando? :rolleyes: :D

Ps: non vorrei usare crea tabella o crea tabella ordinabile perchè sono sicuro... che in quelle modalità lo script rallenti troppo i tempi di elaborazione...
 
Ultima modifica:
claudio8;n2164309 ha scritto:
Prova a rimettere lo script modificato.
Ciao

Codice:
Sub Main

Dim QNScelti

ReDim aNum(0)

ReDim aRuoteSel(12)

RuoteSelezionate = ScegliRuote(aRuoteSel)

Dim contatore

contatore = 1

QNScelti = ScegliNumeri(aNum)

Dim coltot,Classe,acol,RuoteSelezionate,nSorte,RetRit1,RetRitMax,RetIncrRitMax,RetFreq

nSorte = 2

Classe = 5

coltot = InitSviluppoIntegrale(aNum,Classe)

Dim k,i

If coltot > 0 Then

Do While GetCombSviluppo(acol) = True

i = i + 1

ReDim aRuoteTmp(1)

For k = 1 To RuoteSelezionate

aRuoteTmp(1) = aRuoteSel(k)

Call StatisticaFormazioneTurbo(acol,aRuoteTmp,nSorte,RetRit1,RetRitMax,RetIncrRitMax,RetFreq)

Next

Dim coll

Set coll = GetNewCollection

Set clsN = New clsFrequenza

      clsN.numero = StringaNumeri(acol)
      clsN.aRuote = "ruota:" & SiglaRuota(aRuoteTmp(1))
      clsN.nSorte = nSorte
      clsN.nritardo = RetRit1
      clsN.RetRitMax = RetRitMax
      clsN.RetRitIncrRitMax = RetIncrRitMax
      clsN.RetFreq = RetFreq
      clsN.difforo = Diff
      clsN.contatore = contatore



coll.Add clsN,"k" & clsN.numero


Call OrdinaItemCollection(coll,nritardo,7,,- 1)

'Call OrdinaItemCollection(coll,,7,,-1)

'Call OrdinaMatrice (coll,-1,7)


Call Scrivi(FormattaStringa(i,"00000") & " " & StringaNumeri(acol) & " FREQ " & RetFreq & " RUOTA " & NomeRuota(aRuoteTmp(1)) & " contatore " & contatore)

contatore = contatore + 1

Call AvanzamentoElab(1,coltot,i)

If ScriptInterrotto Then Exit Do

Loop

End If

Call Scrivi
Call Scrivi("Ruota esaminata: " & NomeRuota(aRuoteTmp(1)))
Call Scrivi
Call Scrivi("Sorte eaminata: " & nSorte)
Call Scrivi
Call Scrivi("Classe esaminata: " & Classe)
Call Scrivi
Call Scrivi("Numeri esaminati: ")
For i = 1 To UBound(aNum)
Call Scrivi(aNum(i))
Next

Call Scrivi("Tempo trascorso: " & TempoTrascorso)

End Sub


Class clsFrequenza
   Dim numero
   Dim nRitardo
   Dim aCol
   Dim aRuote
   Dim nSorte
   Dim RetRit1
   Dim RetRitMax
   Dim RetRitIncrRitMax
   Dim RetFreq
   Dim difforo
   Dim contatore

End Class

Ciao
 
Ultima modifica:
Ti ho escluso completamente l'uso delle classi (penso che ti stai impelagando inutilmente). Spero che funzioni come vorresti, controlla gli output.
Codice:
Sub Main
     Dim QNScelti
     ReDim aNum(0)
     ReDim aRuoteSel(12)
     RuoteSelezionate = ScegliRuote(aRuoteSel)
     Dim contatore
     contatore = 0 '1
     QNScelti = ScegliNumeri(aNum)
     Dim coltot,Classe,acol,RuoteSelezionate,nSorte,RetRit1,RetRitMax,RetIncrRitMax,RetFreq,colonne
     nSorte = 2
     Classe = 5
     coltot = InitSviluppoIntegrale(aNum,Classe)
     colonne = CInt(Combinazioni(QNScelti,Classe))
     Dim k,i
     ReDim matrice(colonne,4)
     i = 0
     If coltot > 0 Then
          Do While GetCombSviluppo(acol) = True 'legge le colonne
               i = i + 1
               ReDim aRuoteTmp(1)
               For k = 1 To RuoteSelezionate
                    aRuoteTmp(1) = aRuoteSel(k)
                    Call StatisticaFormazioneTurbo(acol,aRuoteTmp,nSorte,RetRit1,RetRitMax,RetIncrRitMax,RetFreq)
               Next
               '               Dim coll
               '               Set coll = GetNewCollection
               '               Set clsN = New clsFrequenza
               '               clsN.numero = StringaNumeri(acol)
               '               clsN.aRuote = "ruota:" & SiglaRuota(aRuoteTmp(1))
               '               clsN.nSorte = nSorte
               '               clsN.nritardo = RetRit1
               '               clsN.RetRitMax = RetRitMax
               '               clsN.RetRitIncrRitMax = RetIncrRitMax
               '               clsN.RetFreq = RetFreq
               '               clsN.difforo = Diff
               '               clsN.contatore = contatore
               '               coll.Add clsN,"k" & clsN.numero
               '               Call OrdinaItemCollection(coll,nritardo,7,,- 1)
               '               'Call OrdinaItemCollection(coll,,7,,-1)
               '               'Call OrdinaMatrice(coll,-1,7)
               '
               '               Call Scrivi(FormattaStringa(i,"00000") & " " & StringaNumeri(acol) & " FREQ " & RetFreq & " RUOTA " & NomeRuota(aRuoteTmp(1)) & " contatore " & contatore)
               contatore = contatore + 1
               matrice(i,0) = FormatSpace(i,5,1)
               matrice(i,1) = FormatSpace(StringaNumeri(acol,"_"),3*Classe,- 1)
               matrice(i,2) = RetFreq
               matrice(i,3) = SiglaRuota(aRuoteTmp(1))
               matrice(i,4) = FormatSpace(contatore,5,1)
               Call AvanzamentoElab(1,coltot,i)
               If ScriptInterrotto Then Exit Do
          Loop
     End If
     Call OrdinaMatrice(matrice,- 1,2)
     For x = 1 To UBound(matrice)
          matrice(x,0) = FormatSpace(x,5,1)
     Next
     Scrivi " Totale colonne " & colonne
     Scrivi "00000  " & " " & "  StringaNumeri  " & " FREQ " & " RUOTA " & " contatore "
     ScriviMatrice matrice
     Call Scrivi
     Call Scrivi("Ruota esaminata: " & NomeRuota(aRuoteTmp(1)))
     Call Scrivi
     Call Scrivi("Sorte eaminata: " & nSorte  & " Classe esaminata: " & Classe)
     Call Scrivi
     Call Scrivi("Numeri esaminati: ")
     For i = 1 To UBound(aNum)
          Call Scrivi(aNum(i))
     Next
     Call Scrivi("Tempo trascorso: " & TempoTrascorso)
End Sub
'Class clsFrequenza
'     Dim numero
'     Dim nRitardo
'     Dim aCol
'     Dim aRuote
'     Dim nSorte
'     Dim RetRit1
'     Dim RetRitMax
'     Dim RetRitIncrRitMax
'     Dim RetFreq
'     Dim difforo
'     Dim contatore
'End Class

ciao
Ps: output controllati.... erra la gestione di + ruote.... (dà output corretti solo con la singola ruota, se ti occorre verificare su + ruote fai un fischio :cool: :cool: :cool: :cool:)
ri ciao
 
Ultima modifica:
Grazie claudio! :)

L'ho eseguito ma purtroppo mi da questo errore...

midaquestoerrore.jpg

Da cosa potrebbe dipendere e come potrei rimediarvi secondo te?

Il test l'ho fatto con la configurazione che hai impostato tu ossia:

nSorte = 2
Classe = 5

e dalla tabella colorata ho scelto 30 numeri a caso.

Comunque di nuovo grazie!

Ciao :)
 

Ultima estrazione Lotto

  • Estrazione del lotto
    martedì 14 gennaio 2025
    Bari
    41
    25
    12
    73
    55
    Cagliari
    54
    20
    48
    32
    67
    Firenze
    75
    23
    68
    10
    38
    Genova
    33
    27
    81
    70
    64
    Milano
    68
    01
    64
    86
    87
    Napoli
    47
    75
    45
    10
    21
    Palermo
    55
    86
    33
    53
    70
    Roma
    88
    78
    61
    06
    07
    Torino
    76
    08
    23
    61
    82
    Venezia
    25
    15
    49
    21
    81
    Nazionale
    70
    10
    32
    78
    07
    Estrazione Simbolotto
    Bari
    07
    14
    28
    45
    31
Indietro
Alto