Follow along with the video below to see how to install our site as a web app on your home screen.
Nota: This feature may not be available in some browsers.
Per me va bene. Però per favoreTom non usare abbreviativi che non capisco.
Buona sera e complimenti a tutti gli intervenuti per l'interessante tematica e script! . Chiedo alla mitica Cinzia27 se può fare velocemente questa piccola modifica al suo già eccellente code ovvero di mettere la famosa tabella colorata per l'immissione di un gruppo base numerico doc anzichè analizzare tutti i 90 numeri... e permettere eventualmente anche lo sviluppo in classi maggiori di 3 per un eventuale verifica di siffatto tipo. Grazie comunque e se nel caso non fosse possibile... quando avrò tempo e voglia eventualmente mi cimenterò io stesso nel cercare di attuarla. Ciao a tutti!
Option Explicit
Class clsUscita
Public Ruota
Public idEstr
Public sData
End Class
Class clsComb
Public sNumeri
Public CollUscite
Sub Class_Terminate
Set CollUscite = Nothing
End Sub
Sub AddUscita (Ruota , idEstr , Data)
Dim cU
Set cU = New clsUscita
cU.Ruota = Ruota
cU.idEstr = idEstr
cU.sData = Data
CollUscite.Add cU
End Sub
End Class
Sub Main
Dim Inizio , Fine , idEstr , r , nClasse
Dim aRuote , nRuoteSel , aNumeri , aComb , sData
Dim CollComb
nRuoteSel = ScegliRuote( aRuote )
Inizio = EstrazioneIni
Fine = EstrazioneFin
nClasse = ScegliEsito ( 3)
Set CollComb = GetNewCollection
For idEstr = Inizio To Fine
sData = DataEstrazione (idEstr)
For r = 1 To nRuoteSel
If aRuote (r) <> 11 Then
Call GetArrayNumeriRuota (idEstr , aRuote (r), aNumeri )
Call OrdinaMatrice ( aNumeri , 1)
aComb = SviluppoIntegrale ( aNumeri , nClasse)
Call AddCombInCollection ( aComb ,nClasse , CollComb ,idEstr ,aRuote (r) ,sData )
End If
Next
Call AvanzamentoElab ( Inizio , Fine ,idEstr)
If ScriptInterrotto Then Exit For
Next
Call ScriviOutput (CollComb )
End Sub
Sub AddCombInCollection ( aComb ,nClasse , CollComb, idEstr , Ruota , sData)
Dim k ,j , sNumeri , cComb , sKey
For k = 1 To UBound(aComb)
sNumeri = ""
For j =1 To nClasse
sNumeri = sNumeri & Format2( aComb( k ,j))& "-"
Next
Next
sNumeri = RimuoviLastChr ( sNumeri , "-")
sKey = "k" & sNumeri
If GetItemCollection ( CollComb , sKey , cComb) = False Then
Set cComb = New clsComb
Set cComb.CollUscite = GetNewCollection
cComb.sNumeri = sNumeri
Call AddItemColl ( CollComb , cComb ,sKey )
End If
Call cComb.AddUscita (Ruota ,idEstr, sData)
End Sub
Sub ScriviOutput (CollComb )
Dim cComb , cU , i , nColor , j ,nRipetizioni
For Each cComb In CollComb
nRipetizioni =cComb.CollUscite.Count
If nRipetizioni > 1 Then
ReDim aColori (nRipetizioni )
For i =1 To nRipetizioni -1
If cComb.colluscite(i).IdEstr = cComb.colluscite(i+1).IdEstr Then
aColori (i) = vbRed
j = i +1
Do
aColori (j) = vbRed
j = j +1
If j > nRipetizioni Then Exit Do
Loop While cComb.colluscite(j).IdEstr = cComb.colluscite(i).IdEstr
i = j -1
Else
aColori (i) = vbBlack
End If
Next
Scrivi cComb.sNumeri ,True
i = 0
For Each cU In cComb.CollUscite
i = i + 1
Scrivi " -> " & FormatSpace ( cU.idestr , 5) & " " & FormatSpace ( cU.sData , 5) & " " & NomeRuota ( cU.ruota ) ,,,, aColori (i)
Next
End If
Next
End Sub
Option Explicit
Class clsUscita
Public Ruota
Public idEstr
Public sData
End Class
Class clsComb
Public sNumeri
Public CollUscite
Sub Class_Terminate
Set CollUscite = Nothing
End Sub
Sub AddUscita (Ruota , idEstr , Data)
Dim cU
Set cU = New clsUscita
cU.Ruota = Ruota
cU.idEstr = idEstr
cU.sData = Data
CollUscite.Add cU
End Sub
End Class
Sub Main
Dim Inizio , Fine , idEstr , r , nClasse
Dim aRuote , nRuoteSel , aNumeri , aComb , sData
Dim CollComb
nRuoteSel = ScegliRuote( aRuote )
Inizio = EstrazioneIni
Fine = EstrazioneFin
nClasse = ScegliEsito ( 3)
Set CollComb = GetNewCollection
For idEstr = Inizio To Fine
sData = DataEstrazione (idEstr)
For r = 1 To nRuoteSel
If aRuote (r) <> 11 Then
Call GetArrayNumeriRuota (idEstr , aRuote (r), aNumeri )
Call OrdinaMatrice ( aNumeri , 1)
aComb = SviluppoIntegrale ( aNumeri , nClasse)
Call AddCombInCollection ( aComb ,nClasse , CollComb ,idEstr ,aRuote (r) ,sData )
End If
Next
Call AvanzamentoElab ( Inizio , Fine ,idEstr)
If ScriptInterrotto Then Exit For
Next
Call ScriviOutput (CollComb )
Set CollComb = Nothing
End Sub
Sub AddCombInCollection ( aComb ,nClasse , CollComb, idEstr , Ruota , sData)
Dim k ,j , sNumeri , cComb , sKey
For k = 1 To UBound(aComb)
sNumeri = ""
For j =1 To nClasse
sNumeri = sNumeri & Format2( aComb( k ,j))& "-"
Next
sNumeri = RimuoviLastChr ( sNumeri , "-")
sKey = "k" & sNumeri
If GetItemCollection ( CollComb , sKey , cComb) = False Then
Set cComb = New clsComb
Set cComb.CollUscite = GetNewCollection
cComb.sNumeri = sNumeri
Call AddItemColl ( CollComb , cComb ,sKey )
End If
Call cComb.AddUscita (Ruota ,idEstr, sData)
Next
End Sub
Sub ScriviOutput (CollComb )
Dim cComb , cU , i , nColor , j ,nRipetizioni
For Each cComb In CollComb
nRipetizioni =cComb.CollUscite.Count
If nRipetizioni > 1 Then
ReDim aColori (nRipetizioni )
For i =1 To nRipetizioni -1
If cComb.colluscite(i).IdEstr = cComb.colluscite(i+1).IdEstr Then
aColori (i) = vbRed
j = i +1
Do
aColori (j) = vbRed
j = j +1
If j > nRipetizioni Then Exit Do
Loop While cComb.colluscite(j).IdEstr = cComb.colluscite(i).IdEstr
i = j -1
Else
aColori (i) = vbBlack
End If
Next
Scrivi cComb.sNumeri ,True
i = 0
For Each cU In cComb.CollUscite
i = i + 1
Scrivi " -> " & FormatSpace ( cU.idestr , 5) & " " & FormatSpace ( cU.sData , 5) & " " & NomeRuota ( cU.ruota ) ,,,, aColori (i)
Next
End If
Next
End Sub
....Bene molto bene , anche questa mia precedente elaborazione sulle 3 presenze collima con l'ultimo post di Joe ....Bentornato Mitico Luigi. è sempre un piacere sapere che sei ancora con noi.
Per lo script, forse mi sono un po' arruginito........oppure ho sbagliato qualche cosa , provando una veloce scansione sulle ultime 100 estrazioni del 2021 i miei dati non collimano con quelli del listato, posto le 3 ripetizioni che ci sono state nel range ( 100 ) :
04-34-46 . . . ( Fi/Ca/Ro )
04-58-67 . . . ( Ca/To/Ca )
14-60-80 . . . ( Ve/Mi/Pa )
14-80-84 . . . ( Ro/Ve/Pa )
15-29-70 . . . ( Mi/Ge/Ro )
15-42-53 . . . ( To/Ca/To )
17-46-47 . . . ( Ro/Fi/Fi )
17-63-82 . . . ( Fi/Pa/Fi )
26-42-68 . . . ( Ve/Ca/To )
29-31-67 . . . ( Fi/To/To )
31-71-87 . . . ( Ro/Ge/Ve )
38-50-72 . . . ( Ro/Ve/Ba )
Sono 12 terni che si sono ripetuti 2 volte dopo una prima sortita di fianco le ruote di sfaldamento.
Per le 2 ripetizioni , ce ne sono una marea..........
Buon pranzo, da Nikor.
anche a me , sostituire nel mio script questa routine per avere il conteggioMi risultano:
499 Terni che si sono ripetuti nelle ultime 100 estrazioni.
Tra questi ci sono ANCHE i 12 elencati al messaggio #49.
Giustamente questi 12, selezionati, con >= 3,
sono vincolati dall'avere almeno 3 presenze.
Sub ScriviOutput(CollComb)
Dim cComb,cU,i,nColor,j,nRipetizioni , nTrov
Dim aRipetizioni ( 100 )
For Each cComb In CollComb
nRipetizioni = cComb.CollUscite.Count
If nRipetizioni > 1 Then
If nRipetizioni > 100 Then
aRipetizioni ( 101 ) =aRipetizioni ( 101 ) +1
Else
aRipetizioni ( nRipetizioni ) = aRipetizioni ( nRipetizioni ) +1
End If
nTrov = nTrov +1
ReDim aColori(nRipetizioni)
For i = 1 To nRipetizioni - 1
If cComb.colluscite(i).IdEstr = cComb.colluscite(i + 1).IdEstr Then
aColori(i) = vbRed
j = i + 1
Do
aColori(j) = vbRed
j = j + 1
If j > nRipetizioni Then Exit Do
Loop While cComb.colluscite(j).IdEstr = cComb.colluscite(i).IdEstr
i = j - 1
Else
aColori(i) = vbBlack
End If
Next
Scrivi FormatSpace ( nTrov , 5 ,True ) & ") " & cComb.sNumeri,True
i = 0
For Each cU In cComb.CollUscite
i = i + 1
Scrivi " -> " & FormatSpace(cU.idestr,5) & " " & FormatSpace(cU.sData,5) & " " & NomeRuota(cU.ruota),,,,aColori(i)
Next
End If
Next
Scrivi
Scrivi
Scrivi "Riepilogo" , True
For j =2 To 100
If aRipetizioni (j) > 0 Then
Scrivi "Con " & FormatSpace ( j , 3) & " ripetizioni : " & FormatSpace(aRipetizioni (j) ,5 ,True)
End If
Next
If aRipetizioni (j) > 0 Then
Scrivi ">= " & FormatSpace ( j , 3) & " ripetizioni : " & FormatSpace(aRipetizioni (j) ,5 ,True)
End If
End Sub
For i = 1 To nRipetizioni - 1
Option Explicit
Class clsUscita
Public Ruota
Public idEstr
Public sData
End Class
Class clsComb
Public sNumeri
Public CollUscite
Sub Class_Terminate
Set CollUscite = Nothing
End Sub
Sub AddUscita(Ruota,idEstr,Data)
Dim cU
Set cU = New clsUscita
cU.Ruota = Ruota
cU.idEstr = idEstr
cU.sData = Data
CollUscite.Add cU
End Sub
End Class
Sub Main
Dim Inizio,Fine,idEstr,r,nClasse
Dim aRuote,nRuoteSel,aNumeri,aComb,sData
Dim CollComb
nRuoteSel = ScegliRuote(aRuote)
Inizio = EstrazioneIni
Fine = EstrazioneFin
nClasse = ScegliEsito(3)
Set CollComb = GetNewCollection
For idEstr = Inizio To Fine
sData = DataEstrazione(idEstr)
For r = 1 To nRuoteSel
If aRuote(r) <> 11 Then
Call GetArrayNumeriRuota(idEstr,aRuote(r),aNumeri)
Call OrdinaMatrice(aNumeri,1)
aComb = SviluppoIntegrale(aNumeri,nClasse)
Call AddCombInCollection(aComb,nClasse,CollComb,idEstr,aRuote(r),sData)
End If
Next
Call AvanzamentoElab(Inizio,Fine,idEstr)
If ScriptInterrotto Then Exit For
Next
Call ScriviOutput(CollComb)
Set CollComb = Nothing
End Sub
Sub AddCombInCollection(aComb,nClasse,CollComb,idEstr,Ruota,sData)
Dim k,j,sNumeri,cComb,sKey
For k = 1 To UBound(aComb)
sNumeri = ""
For j = 1 To nClasse
sNumeri = sNumeri & Format2(aComb(k,j)) & "-"
Next
sNumeri = RimuoviLastChr(sNumeri,"-")
sKey = "k" & sNumeri
If GetItemCollection(CollComb,sKey,cComb) = False Then
Set cComb = New clsComb
Set cComb.CollUscite = GetNewCollection
cComb.sNumeri = sNumeri
Call AddItemColl(CollComb,cComb,sKey)
End If
Call cComb.AddUscita(Ruota,idEstr,sData)
Next
End Sub
Sub ScriviOutput(CollComb)
Dim cComb,cU,i,nColor,j,nRipetizioni,nTrov
Dim aRipetizioni(101)
For Each cComb In CollComb
nRipetizioni = cComb.CollUscite.Count
If nRipetizioni > 1 Then
If nRipetizioni > 100 Then
aRipetizioni(101) = aRipetizioni(101) + 1
Else
aRipetizioni(nRipetizioni) = aRipetizioni(nRipetizioni) + 1
End If
nTrov = nTrov + 1
ReDim aColori(nRipetizioni)
For i = 1 To nRipetizioni - 1
If cComb.colluscite(i).IdEstr = cComb.colluscite(i + 1).IdEstr Then
aColori(i) = vbRed
j = i + 1
Do
aColori(j) = vbRed
j = j + 1
If j > nRipetizioni Then Exit Do
Loop While cComb.colluscite(j).IdEstr = cComb.colluscite(i).IdEstr
i = j - 1
Else
aColori(i) = vbBlack
End If
Next
Scrivi FormatSpace(nTrov,5,True) & ") " & cComb.sNumeri,True
i = 0
For Each cU In cComb.CollUscite
i = i + 1
Scrivi " -> " & FormatSpace(cU.idestr,5) & " " & FormatSpace(cU.sData,5) & " " & NomeRuota(cU.ruota),,,,aColori(i)
Next
End If
Next
Scrivi
Scrivi
Scrivi "Riepilogo",True
For j = 2 To 100
If aRipetizioni(j) > 0 Then
Scrivi "Con " & FormatSpace(j,3) & " ripetizioni : " & FormatSpace(aRipetizioni(j),5,True)
End If
Next
If aRipetizioni(j) > 0 Then
Scrivi ">= " & FormatSpace(j,3) & " ripetizioni : " & FormatSpace(aRipetizioni(j),5,True)
End If
End Sub
For k = 1 To UBound(aComb)