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.
Option Explicit
Sub Main
'Salvo Errori ecco lo script
'controllare che i dati in output siano corretti
'controllare che siano visualizzati tutti i casi ricercati
'script x lotto ced
Dim Ruota
Dim Idestr,M
Dim iCons,sCons,qCons
Dim qEstr :qEstr = Int(InputBox("Quante Estrazioni vuoi esaminare?","Inserisci Numero Estrazioni",18)) - 1
ReDim aRuote(0)
Idestr = EstrazioneFin
qCons = qConsec
Scrivi FormatSpace(" Data Estrazione ",25) & FormatSpace("|Ru",4) & "|" & FormatSpace(" Estratti |",15) & FormatSpace(" Cons ",5) & FormatSpace("| Numeri Consecutivi ",30),True,True,vbBlue,vbWhite
M = 0
For Idestr = EstrazioneFin - qEstr To EstrazioneFin
For Ruota = 1 To 11
If Ruota = 11 Then Ruota = 12
sCons = GetConsecutivi(Idestr,Ruota,iCons)
If iCons >= qCons Then
M = M + 1
Call GetTab(M,Idestr,Ruota,iCons,sCons)
End If
Next
Call Messaggio(DataEstrazione(Idestr))
Next
Scrivi "Numero Casi : " & M
End Sub
Function GetConsecutivi(IdEstr,Ruota,iCons)
Dim P,P1
Dim E,E1
Dim sCons
iCons = 0
sCons = ""
For P = 1 To 4
E = Estratto(IdEstr,Ruota,P)
For P1 = P + 1 To 5
E1 = Estratto(IdEstr,Ruota,P1)
If Distanza(E,E1) = 1 Then
iCons = iCons + 1
sCons = sCons & "[" & Format2(E) & ";" & Format2(E1) & "]"
End If
Next
Next
GetConsecutivi = sCons
End Function
Function qConsec
Dim aCons
aCons = Array(0,1,2,3)
qConsec = ScegliOpzioneMenu(aCons,0,"Quanti Consecutivi >= ")
End Function
Sub GetTab(M,IdEstr,Ruota,iCons,sCons)
If pari(M) Then
Scrivi GetInfoEstrazione(IdEstr) & " ",True,False,RGB(234,254,226),vbBlue
Scrivi SiglaRuota(Ruota) & " " & FormatSpace(StringaEstratti(IdEstr,Ruota,"-"),14) & " " & iCons & " " & FormatSpace(sCons,28),True,True,RGB(234,254,226),vbBlue
Else
Scrivi GetInfoEstrazione(IdEstr) & " ",True,False,RGB(255,206,255)
Scrivi SiglaRuota(Ruota) & " " & FormatSpace(StringaEstratti(IdEstr,Ruota,"-"),14) & " " & iCons & " " & FormatSpace(sCons,28),True,,RGB(255,206,255)
End If
End Sub
Option Explicit
Sub Main
'Salvo Errori Ed Omissis
'Controllare se lo script rivela tutti i casi
'controllare se l'output restituiti sia corretto
'Qualora lo script funzioni correttamente rivela l accadimento dei casi, non restituisce previsioni
'scripto per Utente Solare Forum LottoCed
Dim aVociAlg(5)
Dim qEstr :qEstr = Int(InputBox("Quante Estrazioni vuoi esaminare?","Inserisci Numero Estrazioni",18)) - 1
Dim IdAlg :IdAlg = GetAlgoritmo(aVociAlg)
Dim qCons :qCons = qConsec
Dim To_Ruote : To_Ruote = GetSecRuota(IdAlg)
Dim Dist :Dist=GetDistanzaCiclometrica
Dim Ruota,IdEstr,Riga
Dim iCons,sCons
Scrivi "Distanza Ciclometrica : "&Dist
Call ScriviAlgoritmo(IdAlg,aVociAlg)
Call GetTitoli(IdAlg)
Riga = 0
For IdEstr = EstrazioneFin - qEstr To EstrazioneFin
For Ruota = 1 To To_Ruote
If Ruota = 11 Then Ruota = 12
Call GetAlgoritmoDist(IdEstr,Ruota,IdAlg,Dist,iCons,sCons)
If iCons >= qCons Then
Riga = Riga + 1
Call GetTabIdAlg(Riga,IdEstr,IdAlg,Ruota,iCons,sCons)
End If
Next
Call Messaggio(DataEstrazione(IdEstr))
Next
Scrivi "Numero Casi : " & Riga
End Sub
Function GetAlgoritmo(aVoci)
aVoci(1) = "Numeri Consecutivi Oriz tutte le Ruote"
aVoci(2) = "Numeri Consecutivi oriz PosCons tutte le Ruote"
aVoci(3) = "Numeri Consecutivi Vert Ruote Consecutive"
aVoci(4) = "Numeri Consecutivi Vert Ruote Diametrali"
aVoci(5) = "Numeri Consecutivi Vert Ruote Gemelle"
GetAlgoritmo = ScegliOpzioneMenu(aVoci,1,"SelezionaTipoRicerca")
End Function
Function ScriviAlgoritmo(idalg,aVociAlg)
Scrivi aVociAlg(idalg)
End Function
Function GetSecRuota(idAlg)
Dim bRet
Select Case idAlg
Case 1,2,3
bRet = 11
Case 4,5
bRet = 5
End Select
GetSecRuota = bRet
End Function
Function qConsec
Dim aCons
aCons = Array(0,1,2,3)
qConsec = ScegliOpzioneMenu(aCons,0,"Quanti Consecutivi >= ")
End Function
Function GetDistanzaCiclometrica
Dim aDist(44)
Dim i
For i=0 To UBound(aDist)
aDist(i)=i+1
Next
GetDistanzaCiclometrica=ScegliOpzioneMenu(aDist,0,"Distanza Ciclometrica di Ricerca")+1
End Function
Sub NumeriConsecutiviOriztutteleRuote(IdEstr,Ruota,Dist,iCons,sCons)
Dim p,p1,E,E1
sCons = ""
iCons = 0
For p = 1 To 4
E = Estratto(IdEstr,Ruota,p)
For p1 = p + 1 To 5
E1 = Estratto(IdEstr,Ruota,p1)
If Distanza(E,E1) = Dist Then
iCons = iCons + 1
sCons = sCons & "[" & Format2(E) & ";" & Format2(E1) & "]"
End If
Next
Next
End Sub
Sub NumeriConsecutiviOrizPosConsTutteLeRuote(IdEstr,Ruota,Dist,iCons,sCons)
Dim p,p1,E,E1
sCons = ""
iCons = 0
For p = 1 To 4
E = Estratto(IdEstr,Ruota,p)
p1 = p + 1
E1 = Estratto(IdEstr,Ruota,p1)
If Distanza(E,E1) = Dist Then
iCons = iCons + 1
sCons = sCons & "[" & Format2(E) & ";" & Format2(E1) & "]"
End If
Next
End Sub
Sub NumeriConsecutiviVerticaliRuote(IdEstr,Ruota,SecRuota,Dist,iCons,sCons)
Dim p,E,E1
sCons = ""
iCons = 0
If Estratto(IdEstr,Ruota,1)>0 And Estratto(IdEstr,SecRuota,1)>0 Then
For p = 1 To 5
E = Estratto(IdEstr,Ruota,p)
E1 = Estratto(IdEstr,SecRuota,p)
If Distanza(E,E1) = Dist Then
iCons = iCons + 1
sCons = sCons & "[" & Format2(E) & ";" & Format2(E1) & "]"
End If
Next
End If
End Sub
Sub GetAlgoritmoDist(IdEstr,Ruota,IdAlg,Dist,iCons,sCons)
Dim SecRuota
Select Case IdAlg
Case 1
Call NumeriConsecutiviOriztutteleRuote(IdEstr,Ruota,Dist,iCons,sCons)
Case 2
Call NumeriConsecutiviOrizPosConsTutteLeRuote(IdEstr,Ruota,Dist,iCons,sCons)
Case 3
SecRuota = Ruota + 1
If SecRuota = 11 Then SecRuota = 12
If SecRuota = 13 Then SecRuota = 1
Call NumeriConsecutiviVerticaliRuote(IdEstr,Ruota,SecRuota,Dist,iCons,sCons)
Case 4
SecRuota = RuotaDiametrale(Ruota)
Call NumeriConsecutiviVerticaliRuote(IdEstr,Ruota,SecRuota,Dist,iCons,sCons)
Case 5
SecRuota = RuotaGemella(Ruota)
Call NumeriConsecutiviVerticaliRuote(IdEstr,Ruota,SecRuota,Dist,iCons,sCons)
End Select
End Sub
Sub GetTitoli(idAlg)
Select Case idAlg
Case 1,2
Scrivi FormatSpace(" Data Estrazione ",25) & FormatSpace("|Ru",4) & "|" & FormatSpace(" Estratti |",15) & FormatSpace(" Cons ",5) & FormatSpace("| Numeri Consecutivi ",30),True,True,vbBlue,vbWhite
Case 3,4,5
Scrivi FormatSpace(" Data Estrazione ",25) & FormatSpace("| Ru",6) & "|" & FormatSpace(" EstrattiR1 | EstrattiR2 |",30) & FormatSpace(" Cons ",5) & FormatSpace("| Numeri Consecutivi ",31),True,True,vbBlue,vbWhite
End Select
End Sub
Sub GetRigaTabRuotaSingola(Riga,IdEstr,IdAlg,Ruota,iCons,sCons)
If pari(Riga) Then
Scrivi GetInfoEstrazione(IdEstr) & " ",True,False,RGB(234,254,226),vbBlue
Scrivi SiglaRuota(Ruota) & " " & FormatSpace(StringaEstratti(IdEstr,Ruota,"-"),14) & " " & iCons & " " & FormatSpace(sCons,28),True,True,RGB(234,254,226),vbBlue
Else
Scrivi GetInfoEstrazione(IdEstr) & " ",True,False,RGB(255,206,255)
Scrivi SiglaRuota(Ruota) & " " & FormatSpace(StringaEstratti(IdEstr,Ruota,"-"),14) & " " & iCons & " " & FormatSpace(sCons,28),True,,RGB(255,206,255)
End If
End Sub
Sub GetRigaTabDueRuote(Riga,IdEstr,Ruota,SecRuota,iCons,sCons)
If pari(Riga) Then
Scrivi GetInfoEstrazione(IdEstr) & " ",True,False,RGB(234,254,226),vbBlue
Scrivi SiglaRuota(Ruota) & "-" & SiglaRuota(SecRuota) & " " & FormatSpace(StringaEstratti(IdEstr,Ruota,"-"),14) & " " & FormatSpace(StringaEstratti(IdEstr,SecRuota),"-",14) & " " & iCons & " " & FormatSpace(sCons,29),True,True,RGB(234,254,226),vbBlue
Else
Scrivi GetInfoEstrazione(IdEstr) & " ",True,False,RGB(255,206,255)
Scrivi SiglaRuota(Ruota) & "-" & SiglaRuota(SecRuota) & " " & FormatSpace(StringaEstratti(IdEstr,Ruota,"-"),14) & " " & FormatSpace(StringaEstratti(IdEstr,SecRuota),"-",14) & " " & iCons & " " & FormatSpace(sCons,29),True,,RGB(255,206,255)
End If
End Sub
Sub GetTabIdAlg(Riga,IdEstr,idAlg,Ruota,iCons,sCons)
Dim SecRuota
Select Case idAlg
Case 1,2
Call GetRigaTabRuotaSingola(Riga,IdEstr,idAlg,Ruota,iCons,sCons)
Case 3
SecRuota = Ruota + 1
If SecRuota = 11 Then SecRuota = 12
If SecRuota = 13 Then SecRuota = 1
Call GetRigaTabDueRuote(Riga,IdEstr,Ruota,SecRuota,iCons,sCons)
Case 4
SecRuota = RuotaDiametrale(Ruota)
Call GetRigaTabDueRuote(Riga,IdEstr,Ruota,SecRuota,iCons,sCons)
Case 5
SecRuota = RuotaGemella(Ruota)
Call GetRigaTabDueRuote(Riga,IdEstr,Ruota,SecRuota,iCons,sCons)
End Select
End Sub