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
Dim idEst,Rt,e,aEstratti,Rit,idEstrIni,idEstrFin , aPosDelNumero
Dim nMaxRitGestito
nMaxRitGestito = 11
idEstrIni = EstrazioneIni
idEstrFin = EstrazioneFin
For Rt = 1 To 12
ReDim aRDP(90)
ReDim aRDPMax(90)
ReDim aRDPFrq(90)
If Rt <> 11 Then
For idEst = idEstrIni To idEstrFin
' incrementa tutti i ritardi di posizione
For e = 1 To 90
aRDP (e) = aRDP(e) +1
Next
Call OrdinaNumeriGetPosizioni ( idEst-1 , Rt , aPosDelNumero)
Call GetArrayNumeriRuota(idEst,Rt,aEstratti)
' azzera i ritardi delle posizioni uscite
For e =1 To 5
If aRDP (aPosDelNumero (aEstratti(e)))> aRDPMax (aPosDelNumero (aEstratti(e))) Then aRDPMax (aPosDelNumero (aEstratti(e))) = aRDP (aPosDelNumero (aEstratti(e)))
aRDP (aPosDelNumero (aEstratti(e))) =0
aRDPFrq (aPosDelNumero (aEstratti(e))) = aRDPFrq (aPosDelNumero (aEstratti(e))) +1
Next
Next
Call CreaReport(Rt,aRDP,aRDPMax,aRDPFrq ,aPosDelNumero)
Call AvanzamentoElab(1,12,Rt)
If ScriptInterrotto Then Exit Sub
End If
Next
End Sub
Sub OrdinaNumeriGetPosizioni (idEst , Rt ,aPosDelNumero)
Dim i , Pos
ReDim aNumOrdinati (90 ,3)
ReDim aPosDelNumero (90)
For i = 1 To 90
aNumOrdinati(i ,1) = i
aNumOrdinati(i ,2) = EstrattoRitardoTurbo ( Rt ,i ,1,idEst)
Next
Call OrdinaMatrice (aNumOrdinati , -1 ,2)
For i = 1 To 90
If aNumOrdinati ( i ,2) <> aNumOrdinati ( i-1 ,2) Then
Pos = Pos +1
End If
aNumOrdinati ( i ,3) = Pos
aPosDelNumero ( aNumOrdinati ( i ,1)) = Pos
Next
End Sub
Sub CreaReport(Rt,aRDP,aRDPMax,aRDPFrq ,aPosDelNumero)
Dim i
Call Scrivi("RUOTA DI : " & NomeRuota(Rt))
ReDim aV(5)
aV(1) = "Posizione"
aV(2) = "Rit"
aV(3) = "RitMax"
aV(4) = "Freq"
aV(5) = "Numeri interessati"
Call InitTabella(aV,vbBlue,,,vbWhite)
For i = 1 To UBound(aRDP)
aV(1) = i
aV(2) = aRDP(i)
aV(3) = aRDPMax(i)
aV(4) = aRDPFrq(i)
aV(5) = GetNumeriAllaPosizione(i,aPosDelNumero )
Call AddRigaTabella(aV,vbYellow)
Next
Call SetTableHeight(5)
Call CreaTabella
End Sub
Function GetNumeriAllaPosizione(Pos,aPosDelNumero )
Dim sNumeri,i
sNumeri = ""
For i = 1 To 90
If aPosDelNumero (i) = Pos Then
sNumeri = sNumeri & Format2(i) & "."
End If
Next
GetNumeriAllaPosizione = RimuoviLastChr(sNumeri,".")
End Function
Per la tua domanda sullla programmazione , la risposta è con la pratica
Option Explicit
Sub Main
Dim n,rt,l,idEstrFin,aRitardi
ReDim aN(1)
ReDim aRt(1)
Dim aD
aD = Array("","Livello","Numero","RitLiv","Ruota")
Call InitTabella(aD,vbBlue,,,vbWhite)
idEstrFin = EstrazioneFin
For rt = 1 To 12
If rt <> 11 Then
For n = 1 To 90
aRt(1) = rt
aN(1) = n
For l = 1 To 9
aD(1) = l
aD(2) = n
aD(3) = SommaRitardi(l,rt,n,idEstrFin)
aD(4) = NomeRuota(rt)
Call AddRigaTabella(aD,vbYellow)
If aD(3) = - 1 Then
If MsgBox("Il numero " & n & " non ha abbastanza ritardi per il livello " & l & " sulla ruota " & aD(4) & vbCrLf & "Interompere ? ",vbQuestion + vbYesNo) = vbYes Then
n = 90
Exit For
End If
End If
Next
Next
End If
Call AvanzamentoElab(1,12,rt)
If ScriptInterrotto Then Exit Sub
Next
' Call SetTableHeight (5)
Call CreaTabellaOrdinabile("1,3")
End Sub
Function SommaRitardi(Liv,rt,n,idEstrFin)
Dim i,t,nMax,r,idEstr
idEstr = idEstrFin
r = EstrattoRitardoTurbo(rt,n,1,idEstr)
t = r
For i = 1 To Liv
idEstr = idEstr - r - 1
r = EstrattoRitardoTurbo(rt,n,1,idEstr)
t = t + r
Next
SommaRitardi = t
End Function
Option Explicit
Sub Main
Dim n,rt,i,idEstrFin,Rit
Dim aD
Dim nConsec,qCons
ReDim aRitGlob(90,2)
aD = Array("","Numero","RitGlob")
nConsec = 3
idEstrFin = EstrazioneFin
For n = 1 To 90
aRitGlob(n,1) = n
aRitGlob(n,2) = SommaRitardi(n,idEstrFin)
Call AvanzamentoElab(1,90,n)
If ScriptInterrotto Then Exit Sub
Next
Call OrdinaMatrice(aRitGlob,- 1,2)
Call InitTabella(aD,vbBlue,,,vbWhite)
For n = 1 To 90
Rit = aRitGlob(n,2)
qCons = 0
For i = 0 To nConsec +90
If isNumeroValidoLotto( n +i) Then
If aRitGlob(n + i,2) = Rit Then
qCons = qCons + 1
Else
Exit For
End If
Else
Exit For
End If
Next
If qCons >= nConsec Then
For i = 0 To nConsec - 1
aD(1) = aRitGlob(n + i,1)
aD(2) = Rit
Call AddRigaTabella(aD,vbRed)
Next
n = n +(nConsec - 1)
Else
aD(1) = aRitGlob(n,1)
aD(2) = Rit
Call AddRigaTabella(aD,vbYellow)
End If
Next
Call SetTableHeight(5)
Call CreaTabella()
End Sub
Function SommaRitardi(n,idEstrFin)
Dim t,rt
t = 0
For rt = 1 To 12
If rt <> 11 Then
t = t + EstrattoRitardoTurbo(rt,n,1,idEstrFin)
End If
Next
SommaRitardi = t
End Function