lotto_tom75
Advanced Premium Member
Ho provato in mille modi a capire dove possa risiedere questo "limite" di visualizzazione in output ma senza alcun esito
Lo script in questione è derivante da una mia leggera modifica apportata su un altro script "orfano" che non aveva apparentemente questo limite ma che analizzava solo la fq 0 su una o più ruote mentre questo dovrebbe rilevare su una o più ruote i ritardi impostati. In sostanza questa mia versione dovrebbe rilevare eventuali isocronie in formazioni di classe voluta per la sorte desiderata e per il gruppo numerico di volta in volta preferito e importato da tabella. Purtroppo però appunto per adesso sembra mostrare solo e soltanto i primi 300 risultati.
Grazie agli eventuali "risolutori" di questo little... code gap
Ps: Con l'occasione domando, a chi ne fosse eventualmente a conoscenza, se vi sono altri script capaci di rilevare per un gruppo numerico desiderato, importato da tabella, eventuali isocronie su più ruote. Very Thanks.
Lo script in questione è derivante da una mia leggera modifica apportata su un altro script "orfano" che non aveva apparentemente questo limite ma che analizzava solo la fq 0 su una o più ruote mentre questo dovrebbe rilevare su una o più ruote i ritardi impostati. In sostanza questa mia versione dovrebbe rilevare eventuali isocronie in formazioni di classe voluta per la sorte desiderata e per il gruppo numerico di volta in volta preferito e importato da tabella. Purtroppo però appunto per adesso sembra mostrare solo e soltanto i primi 300 risultati.
Codice:
Option Explicit
Class clsCombinazione
Private aNum
Private aRuote
Private mFrequenza
Private mritardo
Private mSorte
Private mFine,mInizio
Public Property Get Frequenza
Frequenza = mFrequenza
End Property
Public Property Get Ritardo
Ritardo = mritardo
End Property
Public Property Get Sorte
Sorte = mSorte
End Property
Public Property Get EstrazioneInizio
EstrazioneInizio = mInizio
End Property
Public Property Get EstrazioneFine
EstrazioneFine = mFine
End Property
Function GetNumeri()
GetNumeri = aNum
End Function
Function GetRuote()
GetRuote = aRuote
End Function
Function GetQuantitaRuote
GetQuantitaRuote = UBound(aRuote)
End Function
Sub AggiungiRuota(r)
Dim i
i = UBound(aRuote) + 1
ReDim Preserve aRuote(i)
aRuote(i) = r
End Sub
Function GetStringaRuote
Dim k,s
s = ""
For k = 1 To UBound(aRuote)
s = s & SiglaRuota(aRuote(k)) & "."
Next
GetStringaRuote = RimuoviLastChr(s,".")
End Function
Function GetStringaRitardo
Dim a
a = ""
a = a & ritardo & "."
GetStringaRitardo = RimuoviLastChr(a,".")
End Function
Sub SetDati(aN,aR,Sorte,Inizio,Fine)
aNum = aN
aRuote = aR
mSorte = Sorte
mInizio = Inizio
mFine = Fine
End Sub
Sub CalcolaRitardo(aN,aR,nSorte,EstrIni,EstrFin)
aNum = aN
aRuote = aR
mSorte = nSorte
mInizio = EstrIni
mFine = EstrFin
mritardo = SerieRitardoTurbo(mInizio,mFine,aNum,aRuote,mSorte)
'mritardo
End Sub
End Class
Sub Main
Dim r,k
Dim aNumeri,nNumSel,aCol,nColonneSvil
ReDim aRuote(1)
Dim nClasse,nSorte,nColonneTot
Dim CollLunghette
Dim clsComb
Dim Inizio,Fine
Dim mFreqMinima
Dim mritardominimo
Dim mritardo
nClasse = 2
nSorte = 2
'mFreqMinima = 0
mritardominimo = 1
Inizio = EstrazioneIni
Fine = EstrazioneFin
Set CollLunghette = GetNewCollection
nNumSel = ScegliNumeri(aNumeri)
nColonneSvil = 0
If nNumSel >= nClasse Then
nColonneTot = InitSviluppoIntegrale(aNumeri,nClasse)
' ciclo che continua fino a quando le colonne non finiscono
Do While GetCombSviluppo(aCol)
For r = 1 To 11
If r <> 11 Then
aRuote(1) = r
Set clsComb = New clsCombinazione
Call clsComb.CalcolaRitardo(aCol,aRuote,nSorte,Inizio,Fine)
If clsComb.ritardo >= mritardominimo Then
Call AddFormazioneTrovata(clsComb,CollLunghette)
End If
End If
Next
nColonneSvil = nColonneSvil + 1
'if ...
Call AvanzamentoElab(0,nColonneTot,nColonneSvil)
If ScriptInterrotto Then Exit Do
Call DoEventsEx
'End If
Loop
'Call AvanzamentoElab(0,nColonneTot,nColonneSvil)
Scrivi "Analisi da "
Scrivi "Inizio : " & GetInfoEstrazione(Inizio)
Scrivi "Fine : " & GetInfoEstrazione(Fine)
Scrivi "Numeri : " & StringaNumeri(aNumeri)
Scrivi "Sviluppo in classe : " & nClasse
Scrivi "Sorte : " & NomeSorte(nSorte)
Scrivi "Ritardo minimo : " & mritardominimo
'Scrivi "Elenco delle combinazioni presenti con frequenza minore uguale a " & mFreqMinima
Scrivi
Dim aTitoli
aTitoli = Array("","Combinazione","Q Ruote","Ruote")
Call InitTabella(aTitoli,vbYellow)
ReDim aValori(3)
For Each clsComb In CollLunghette
'Call Scrivi (StringaNumeri (clsComb.GetNumeri ,,True ) & " su " & clsComb.GetStringaRuote )
aValori(1) = StringaNumeri(clsComb.GetNumeri,,True)
aValori(2) = clsComb.GetQuantitaRuote
aValori(3) = clsComb.GetStringaRuote
'aValori(4) = "ND" '<< QUI NON RIESCO A RIPORTARE IN OUTPUT IL VALORE DI RITARDO
Call AddRigaTabella(aValori)
Next
Call CreaTabella(2,,,1000)
End If
End Sub
Sub AddFormazioneTrovata(clsComb,coll)
Dim sKey
Dim clsCombTmp
sKey = "key" & StringaNumeri(clsComb.GetNumeri,".",True)
Set clsCombTmp = GetItemColl(sKey,coll)
If clsCombTmp Is Nothing Then
Set clsCombTmp = New clsCombinazione
Call clsCombTmp.SetDati(clsComb.GetNumeri,clsComb.GetRuote,clsComb.Sorte,clsComb.EstrazioneInizio,clsComb.EstrazioneFine)
Call coll.Add(clsCombTmp,sKey)
Else
Dim aR
aR = clsComb.GetRuote
Call clsCombTmp.AggiungiRuota(aR(1))
End If
End Sub
Function GetItemColl(sKey,Coll)
On Error Resume Next
Set GetItemColl = Coll(sKey)
If Err <> 0 Then
Set GetItemColl = Nothing
Err.Clear
End If
End Function
Grazie agli eventuali "risolutori" di questo little... code gap
Ps: Con l'occasione domando, a chi ne fosse eventualmente a conoscenza, se vi sono altri script capaci di rilevare per un gruppo numerico desiderato, importato da tabella, eventuali isocronie su più ruote. Very Thanks.
Ultima modifica: