Option Explicit
Sub Main
Dim ini,fine,qtn,cg,r,e,ee,x,ct,j,k,da,a,ctz,det,q,z,zq,lista,Assenti,s,h
Dim ar(1),nu(90)
r = InputBox("Ruota",,1)
fine = InputBox("Estraz.n.",,EstrazioneFin)
qtn = ScegliNumeri(nu)
cg = CInt(InputBox("Capogioco",,57))
det = InputBox("Vuoi dettaglio estrazioni ? S/N ",,"N")
ini = 3949
ar(1) = r
''''''''''''''''''''''''''''''''''''''''''''''''''''
'''''TUTTE LE RUOTE RICHIAMA FUNCTION TUTTE
If r = 11 Then
Call TUTTE(r,fine,ini,cg,nu,qtn)
Exit Sub
End If
''''''''''''''''''''''''''''''''''''''''''''''''''''
ReDim numeri(90,2)
Scrivi "Ruota " & NomeRuota(r),1,2,3
Scrivi "Periodo da " & ini & " / " & DataEstrazione(ini) & " : al " & fine & " / " & DataEstrazione(fine),1
Scrivi "Capogioco scelto " & GetTestoHtml(Format2(cg),True,vbRed)
Scrivi "Numeri scelti : " & StringaNumeri(nu,".")
Scrivi "-------------------------------------------------------------------------------------------------------------",1
Scrivi "Cinquine contenenti il capogioco ",1
da = ini
'''loop estrazioni per trovare le cinquine contenenti capogioco
For ini = ini + 1 To fine
''
Messaggio(ini)
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
''''''''loop per calcolare presenze cinquine con capogioco e abbinamenti
ReDim comb(5)
x = 0
For e = 1 To 5
comb(e) = GetTestoHtml(Format2(Estratto(ini,r,e)),True,vbBlack)
If Estratto(ini,r,e) = cg Then
x = 1
comb(e) = GetTestoHtml(Format2(Estratto(ini,r,e)),True,vbRed)
''''conta presenze e calcola durata del ciclo completo
For j = 1 To qtn
For ee = 1 To 5
If Int(Estratto(ini,r,ee)) = Int(nu(j)) Then
numeri(nu(j),1) = numeri(nu(j),1) + 1
numeri(nu(j),2) = nu(j)
End If
Next
Next
ct = ct + 1
End If
Next
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
''' dettaglio della cinquine contenenti cap + abbinamenti
If x = 1 Then
If det = "S" Then Scrivi ini & " Estratti " & StringaNumeri(comb," ")
x = 0
End If
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
''''' guarda se ciclo è completato con l'uscita di tutti i numeri richiesti
ctz = 0
For k = 1 To 90
If numeri(k,2) > 0 Then ctz = ctz + 1
Next
If ctz = qtn Then
a = ini
q = q + 1
Scrivi "-----> " & GetTestoHtml(Format2(q),True,vbRed) & " Ciclo Completato da " & da & " : " & a & " Tot.Estraz. " & GetTestoHtml(a - da,True,vbBlue),1
da = a + 1
ReDim numeri(90,2)
End If
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Next
Scrivi "Cinquine Totali trovate " & GetTestoHtml(ct,True,vbRed),1
Scrivi "Cicli Totali Rilevati " & GetTestoHtml(q,True,vbRed),1
Scrivi
Scrivi "Ciclo Attuale e relativa Frequenza Abbinamenti tra i numeri richiesti ",1,2,4
Scrivi "Ciclo in Corso " & da & " : " & fine & " da nconc. " & fine - da,1,2,5
Scrivi "Ruota " & NomeRuota(r),1,2,3
Scrivi "Capogioco scelto " & GetTestoHtml(Format2(cg),True,vbRed)
Scrivi "Numeri scelti : " & GetTestoHtml(StringaNumeri(nu,"."),True,vbRed)
Scrivi
'''calcola numeri con pres = 0
''''abbinamenti assenti o con pres attuale uguale a zero
For s = 1 To qtn
For k = 1 To 90
If Int(nu(s)) = Int(numeri(k,2)) Then
nu(s) = 0
End If
Next
Next
''''''''''''''
Assenti = ""
For h = 1 To qtn - 1
If nu(h) <> 0 Then
Assenti = Assenti & Format2(nu(h)) & "."
End If
Next
'''
Call OrdinaMatrice(numeri,- 1,1)
For z = 1 To 15
zq = 10 - z
lista = ""
For k = 1 To 90
If Int(numeri(k,1)) = zq Then
lista = lista & Format2(numeri(k,2)) & "."
End If
Next
If lista <> "" And zq > 0 Then Scrivi "Pres. " & zq & " Num. " & lista,1
Next
Scrivi "Pres. 0 Num. " & Assenti,1
Scrivi:Scrivi "Tempo Elab." & TempoTrascorso,1
End Sub
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Function TUTTE(R,FINE,InI,CG,NU,QTN)
Dim Te,Tee,Tx,Tct,Tj,Tk,Tda,Ta,Tctz,Tdet,Tq,Tz,Tzq,Tlista,TAssenti,Ts,Th
ReDim Tnumeri(90,2)
Scrivi "Ruota " & NomeRuota(R),1,2,3
Scrivi "Periodo da " & InI & " / " & DataEstrazione(InI) & " : al " & FINE & " / " & DataEstrazione(FINE),1
Scrivi "Capogioco scelto " & GetTestoHtml(Format2(CG),True,vbRed)
Scrivi "Numeri scelti : " & StringaNumeri(NU,".")
Scrivi "-------------------------------------------------------------------------------------------------------------",1
Scrivi "Cinquine contenenti il capogioco ",1
Tda = InI
''''''''''''''''''''''''''''''
'''loop estrazioni per trovare le cinquine contenenti capogioco
For InI = InI + 1 To FINE
''
Messaggio(InI)
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'''''LOOP PER TUTTE LE RUOTE
For R = 1 To 10
''''''''loop per calcolare presenze cinquine con capogioco e abbinamenti
ReDim Tcomb(5)
Tx = 0
For Te = 1 To 5
Tcomb(Te) = GetTestoHtml(Format2(Estratto(InI,R,Te)),True,vbBlack)
If Estratto(InI,R,Te) = CG Then
Tx = 1
Tcomb(Te) = GetTestoHtml(Format2(Estratto(InI,R,Te)),True,vbRed)
''''conta presenze e calcola durata del ciclo completo
For Tj = 1 To QTN
For Tee = 1 To 5
If Int(Estratto(InI,R,Tee)) = Int(NU(Tj)) Then
Tnumeri(NU(Tj),1) = Tnumeri(NU(Tj),1) + 1
Tnumeri(NU(Tj),2) = NU(Tj)
End If
Next
Next
Tct = Tct + 1
End If
Next
''
Next
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
''' dettaglio della cinquine contenenti cap + abbinamenti
If Tx = 1 Then
If Tdet = "S" Then Scrivi InI & " Estratti " & StringaNumeri(Tcomb," ")
Tx = 0
End If
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
''''' guarda se ciclo è completato con l'uscita di tutti i numeri richiesti
Tctz = 0
For Tk = 1 To 90
If Tnumeri(Tk,2) > 0 Then Tctz = Tctz + 1
Next
If Tctz = QTN Then
Ta = InI
Tq = Tq + 1
Scrivi "-----> " & GetTestoHtml(Format2(Tq),True,vbRed) & " Ciclo Completato da " & Tda & " : " & Ta & " Tot.Estraz. " & GetTestoHtml(Ta - Tda,True,vbBlue),1
Tda = Ta + 1
ReDim Tnumeri(90,2)
End If
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Next
Scrivi "Cinquine Totali trovate " & GetTestoHtml(Tct,True,vbRed),1
Scrivi "Cicli Totali Rilevati " & GetTestoHtml(Tq,True,vbRed),1
Scrivi
Scrivi "Ciclo Attuale e relativa Frequenza Abbinamenti tra i numeri richiesti ",1,2,4
Scrivi "Ciclo in Corso " & Tda & " : " & FINE & " da nconc. " & FINE - Tda,1,2,5
Scrivi "Ruota " & NomeRuota(R),1,2,3
Scrivi "Capogioco scelto " & GetTestoHtml(Format2(CG),True,vbRed)
Scrivi "Numeri scelti : " & GetTestoHtml(StringaNumeri(NU,"."),True,vbRed)
Scrivi
'''calcola numeri con pres = 0
''''abbinamenti assenti o con pres attuale uguale a zero
For Ts = 1 To QTN
For Tk = 1 To 90
If Int(NU(Ts)) = Int(Tnumeri(Tk,2)) Then
NU(Ts) = 0
End If
Next
Next
''''''''''''''
TAssenti = ""
For Th = 1 To QTN
If NU(Th) <> 0 Then
TAssenti = TAssenti & Format2(NU(Th)) & "."
End If
Next
'''
Call OrdinaMatrice(Tnumeri,- 1,1)
For Tz = 1 To 15
Tzq = 10 - Tz
Tlista = ""
For Tk = 1 To 90
If Int(Tnumeri(Tk,1)) = Tzq Then
Tlista = Tlista & Format2(Tnumeri(Tk,2)) & "."
End If
Next
If Tlista <> "" And Tzq > 0 Then Scrivi "Pres. " & Tzq & " Num. " & Tlista,1
Next
Scrivi "Pres. 0 Num. " & TAssenti,1
Scrivi:Scrivi "Tempo Elab." & TempoTrascorso,1
End Function