LottoGAM Forum

Estratto Isocrono su 2 Ruote in 2 estrazioni Continue, Calcolo Storici, RitMinimo, RdL

« Older   Newer »
  Share  
view post Posted on 3/8/2020, 18:25
Avatar

Top Member

Group:
Administrator
Posts:
1,719

Status:


Ciao a tutti,
sulla base della richiesta dell'amico miki55@ fatta in questo post (https://lottogam.forumfree.it/?t=77817968), ecco di seguito lo script.
NB: è stato fatto a tavolino senza essere testato. Attendo quindi riscontro in merito per validarne i dati.
Option Explicit

Sub Main()

' GAM - 03.08.2020 v. 1.0 (realizzato su richiesta di @miki55 - https://lottogam.forumfree.it/?t=77817968
' Lo script scandaglia l'archivio per rilevare la presenza di un estratto Isocrono su coppia di ruote in estrazioni continue
' Se tale condizione è rilevata lo script calcola il ritardo raggiunto dall'estratto su entrambe le ruote, il Ritardo Minimo, il Ritardo di Livello, ovvero il ritardo dell'Ambata Residua
' E' possibile impostare un Ritardo Minimo di ricerca (RitMinRic) per restringere i casi in gioco.

Dim rr1(1),rr2(1),rit1(1),rit2(1),Num(1),Min,RitMinRic
Dim Ini,Fin,LivArch
Dim es,rt,a,b,a1,b1,r1,r2,p1,p2

Ini = EstrazioneFin - 400
Fin = EstrazioneFin

RitMinRic = 17

For LivArch = 0 To 0
For es = Ini To Fin - 1

If ScriptInterrotto Then Exit For
Messaggio(es & " - L" & LivArch)
AvanzamentoElab Ini,Fin,es

For r1 = 1 To 10
For r2 = r1 + 1 To 12
If r2 = 11 Then r2 = 12

For p1 = 1 To 5
For p2 = 1 To 5

a = Estratto(es,r1,p1,LivArch)
b = Estratto(es + 1,r2,p2,LivArch)

a1 = Estratto(es+1,r1,p1,LivArch)
b1 = Estratto(es,r2,p2,LivArch)

If a = b Then

Num(1) = a
rr1(1) = r1
rr2(1) = r2
rit1(1) = SeriePrima(es + 2,EstrazioneFin,Num,rr1,1,,,LivArch)
rit2(1) = SeriePrima(es + 2,EstrazioneFin,Num,rr2,1,,,LivArch)

If es < Fin - 1 Then
If rit1(1) > 0 And rit2(1) > 0 Then
ColoreTesto(0)
rit1(1) = rit1(1) - es - 1
rit2(1) = rit2(1) - es - 1
Min = Minimo(rit1(1),rit2(1))
If Min > RitMinRic Then
Scrivi FormattaStringa(es,"0000") & " " & DataEstrazione(es) & " " & SiglaRuota(r1) & " " & StringaEstratti(es,r1,,,LivArch) & _
" " & FormattaStringa(es + 1,"0000") & " " & DataEstrazione(es + 1) & " " & SiglaRuota(r2) & " " & StringaEstratti(es + 1,r2,,,LivArch) & _
" --> " & Format2(a) & " su " & SiglaRuota(r1) & " in " & p1 & " su " & SiglaRuota(r2) & " in " & p2 & _
" -> StoR1 " & FormattaStringa(rit1(1),"000") & " StoR2 " & FormattaStringa(rit2(1),"000") & " StoMIN " & FormattaStringa(Minimo(rit1(1),rit2(1)),"000") & _
" RdLSto " & FormattaStringa(Massimo(rit1(1),rit2(1)) - Minimo(rit1(1),rit2(1)),"000") & " L" & LivArch
End If
Else
If rit1(1) > 0 And rit2(1) = 0 Then
ColoreTesto(1)
rit1(1) = rit1(1) - es - 1
rit2(1) = EstrazioneFin - es
Min = Minimo(rit1(1),rit2(1))
If Min > RitMinRic Then
Scrivi FormattaStringa(es,"0000") & " " & DataEstrazione(es) & " " & SiglaRuota(r1) & " " & StringaEstratti(es,r1,,,LivArch) & _
" " & FormattaStringa(es + 1,"0000") & " " & DataEstrazione(es + 1) & " " & SiglaRuota(r2) & " " & StringaEstratti(es + 1,r2,,,LivArch) & _
" --> " & Format2(a) & " su " & SiglaRuota(r1) & " in " & p1 & " su " & SiglaRuota(r2) & " in " & p2 & _
" -> StoR1 " & FormattaStringa(rit1(1),"000") & " AttR2 " & FormattaStringa(rit2(1),"000") & " StoMIN " & FormattaStringa(Minimo(rit1(1),rit2(1)),"000") & _
" RdLAtt " & FormattaStringa(Massimo(rit1(1),rit2(1)) - Minimo(rit1(1),rit2(1)),"000") & " L" & LivArch & " *"
ColoreTesto(0)
End If
Else
If rit1(1) = 0 And rit2(1) > 0 Then
ColoreTesto(1)
rit2(1) = rit2(1) - es - 1
rit1(1) = EstrazioneFin - es
Min = Minimo(rit1(1),rit2(1))
If Min > RitMinRic Then
Scrivi FormattaStringa(es,"0000") & " " & DataEstrazione(es) & " " & SiglaRuota(r1) & " " & StringaEstratti(es,r1,,,LivArch) & _
" " & FormattaStringa(es + 1,"0000") & " " & DataEstrazione(es + 1) & " " & SiglaRuota(r2) & " " & StringaEstratti(es + 1,r2,,,LivArch) & _
" --> " & Format2(a) & " su " & SiglaRuota(r1) & " in " & p1 & " su " & SiglaRuota(r2) & " in " & p2 & _
" -> AttR1 " & FormattaStringa(rit1(1),"000") & " StoR2 " & FormattaStringa(rit2(1),"000") & " StoMIN " & FormattaStringa(Minimo(rit1(1),rit2(1)),"000") & _
" RdLAtt " & FormattaStringa(Massimo(rit1(1),rit2(1)) - Minimo(rit1(1),rit2(1)),"000") & " L" & LivArch & " *"
ColoreTesto(0)
End If
Else
If rit1(1) = 0 And rit2(1) = 0 Then
ColoreTesto(2)
rit2(1) = EstrazioneFin - es
rit1(1) = EstrazioneFin - es
Min = Minimo(rit1(1),rit2(1))
If Min > RitMinRic Then
Scrivi FormattaStringa(es,"0000") & " " & DataEstrazione(es) & " " & SiglaRuota(r1) & " " & StringaEstratti(es,r1,,,LivArch) & _
" " & FormattaStringa(es + 1,"0000") & " " & DataEstrazione(es + 1) & " " & SiglaRuota(r2) & " " & StringaEstratti(es + 1,r2,,,LivArch) & _
" --> " & Format2(a) & " su " & SiglaRuota(r1) & " in " & p1 & " su " & SiglaRuota(r2) & " in " & p2 & _
" -> AttR1 " & FormattaStringa(rit1(1),"000") & " AttR2 " & FormattaStringa(rit2(1),"000") & " AttMIN " & FormattaStringa(Minimo(rit1(1),rit2(1)),"000") & _
" RdL___ 000 L" & LivArch & " ***"
ColoreTesto(0)
End If
End If
End If
End If
End If
Else
ColoreTesto(2)
rit2(1) = EstrazioneFin - es
rit1(1) = EstrazioneFin - es
Min = Minimo(rit1(1),rit2(1))
If Min > RitMinRic Then
Scrivi FormattaStringa(es,"0000") & " " & DataEstrazione(es) & " " & SiglaRuota(r1) & " " & StringaEstratti(es,r1,,,LivArch) & _
" " & FormattaStringa(es + 1,"0000") & " " & DataEstrazione(es + 1) & " " & SiglaRuota(r2) & " " & StringaEstratti(es + 1,r2,,,LivArch) & _
" --> " & Format2(a) & " su " & SiglaRuota(r1) & " in " & p1 & " su " & SiglaRuota(r2) & " in " & p2 & _
" -> AttR1 " & FormattaStringa(rit1(1),"000") & " AttR2 " & FormattaStringa(rit2(1),"000") & " AttMIN " & FormattaStringa(Minimo(rit1(1),rit2(1)),"000") & _
" RdL___ 000 L" & LivArch & " ***"
ColoreTesto(0)
End If
End If

Else
If a1= b1 Then

Num(1) = a1
rr1(1) = r1
rr2(1) = r2
rit1(1) = SeriePrima(es + 2,EstrazioneFin,Num,rr1,1,,,LivArch)
rit2(1) = SeriePrima(es + 2,EstrazioneFin,Num,rr2,1,,,LivArch)

If es < Fin - 1 Then
If rit1(1) > 0 And rit2(1) > 0 Then
ColoreTesto(0)
rit1(1) = rit1(1) - es - 1
rit2(1) = rit2(1) - es - 1
Min = Minimo(rit1(1),rit2(1))
If Min > RitMinRic Then
Scrivi FormattaStringa(es,"0000") & " " & DataEstrazione(es) & " " & SiglaRuota(r2) & " " & StringaEstratti(es,r2,,,LivArch) & _
" " & FormattaStringa(es + 1,"0000") & " " & DataEstrazione(es + 1) & " " & SiglaRuota(r1) & " " & StringaEstratti(es + 1,r1,,,LivArch) & _
" --> " & Format2(a1) & " su " & SiglaRuota(r2) & " in " & p2 & " su " & SiglaRuota(r1) & " in " & p1 & _
" -> StoR1 " & FormattaStringa(rit1(1),"000") & " StoR2 " & FormattaStringa(rit2(1),"000") & " StoMIN " & FormattaStringa(Minimo(rit1(1),rit2(1)),"000") & _
" RdLSto " & FormattaStringa(Massimo(rit1(1),rit2(1)) - Minimo(rit1(1),rit2(1)),"000") & " L" & LivArch
End If
Else
If rit1(1) > 0 And rit2(1) = 0 Then
ColoreTesto(1)
rit1(1) = rit1(1) - es - 1
rit2(1) = EstrazioneFin - es
Min = Minimo(rit1(1),rit2(1))
If Min > RitMinRic Then
Scrivi FormattaStringa(es,"0000") & " " & DataEstrazione(es) & " " & SiglaRuota(r2) & " " & StringaEstratti(es,r2,,,LivArch) & _
" " & FormattaStringa(es + 1,"0000") & " " & DataEstrazione(es + 1) & " " & SiglaRuota(r1) & " " & StringaEstratti(es + 1,r1,,,LivArch) & _
" --> " & Format2(a1) & " su " & SiglaRuota(r2) & " in " & p2 & " su " & SiglaRuota(r1) & " in " & p1 & _
" -> StoR1 " & FormattaStringa(rit1(1),"000") & " AttR2 " & FormattaStringa(rit2(1),"000") & " StoMIN " & FormattaStringa(Minimo(rit1(1),rit2(1)),"000") & _
" RdLAtt " & FormattaStringa(Massimo(rit1(1),rit2(1)) - Minimo(rit1(1),rit2(1)),"000") & " L" & LivArch & " *"
ColoreTesto(0)
End If
Else
If rit1(1) = 0 And rit2(1) > 0 Then
ColoreTesto(1)
rit2(1) = rit2(1) - es - 1
rit1(1) = EstrazioneFin - es
Min = Minimo(rit1(1),rit2(1))
If Min > RitMinRic Then
Scrivi FormattaStringa(es,"0000") & " " & DataEstrazione(es) & " " & SiglaRuota(r2) & " " & StringaEstratti(es,r2,,,LivArch) & _
" " & FormattaStringa(es + 1,"0000") & " " & DataEstrazione(es + 1) & " " & SiglaRuota(r1) & " " & StringaEstratti(es + 1,r1,,,LivArch) & _
" --> " & Format2(a1) & " su " & SiglaRuota(r2) & " in " & p2 & " su " & SiglaRuota(r1) & " in " & p1 & _
" -> AttR1 " & FormattaStringa(rit1(1),"000") & " StoR2 " & FormattaStringa(rit2(1),"000") & " StoMIN " & FormattaStringa(Minimo(rit1(1),rit2(1)),"000") & _
" RdLAtt " & FormattaStringa(Massimo(rit1(1),rit2(1)) - Minimo(rit1(1),rit2(1)),"000") & " L" & LivArch & " *"
ColoreTesto(0)
End If
Else
If rit1(1) = 0 And rit2(1) = 0 Then
ColoreTesto(2)

rit2(1) = EstrazioneFin - es
rit1(1) = EstrazioneFin - es
Min = Minimo(rit1(1),rit2(1))
If Min > RitMinRic Then
Scrivi FormattaStringa(es,"0000") & " " & DataEstrazione(es) & " " & SiglaRuota(r2) & " " & StringaEstratti(es,r2,,,LivArch) & _
" " & FormattaStringa(es + 1,"0000") & " " & DataEstrazione(es + 1) & " " & SiglaRuota(r1) & " " & StringaEstratti(es + 1,r1,,,LivArch) & _
" --> " & Format2(a1) & " su " & SiglaRuota(r2) & " in " & p2 & " su " & SiglaRuota(r1) & " in " & p1 & _
" -> AttR1 " & FormattaStringa(rit1(1),"000") & " AttR2 " & FormattaStringa(rit2(1),"000") & " AttMIN " & FormattaStringa(Minimo(rit1(1),rit2(1)),"000") & _
" RdL___ 000 L" & LivArch & " ***"
ColoreTesto(0)
End If
End If
End If
End If
End If
Else
ColoreTesto(2)
rit2(1) = EstrazioneFin - es
rit1(1) = EstrazioneFin - es
Min = Minimo(rit1(1),rit2(1))
If Min > RitMinRic Then
Scrivi FormattaStringa(es,"0000") & " " & DataEstrazione(es) & " " & SiglaRuota(r2) & " " & StringaEstratti(es,r2,,,LivArch) & _
" " & FormattaStringa(es + 1,"0000") & " " & DataEstrazione(es + 1) & " " & SiglaRuota(r1) & " " & StringaEstratti(es + 1,r1,,,LivArch) & _
" --> " & Format2(a1) & " su " & SiglaRuota(r2) & " in " & p2 & " su " & SiglaRuota(r1) & " in " & p1 & _
" -> AttR1 " & FormattaStringa(rit1(1),"000") & " AttR2 " & FormattaStringa(rit2(1),"000") & " AttMIN " & FormattaStringa(Minimo(rit1(1),rit2(1)),"000") & _
" RdL___ 000 L" & LivArch & " ***"
ColoreTesto(0)
End If
End If

End If
End If
Next
Next
Next
Next
Next
Next
Scrivi TempoTrascorso
End Sub

Saluti

Edited by G73 - 5/8/2020, 10:28
 
Web  Top
view post Posted on 4/8/2020, 10:58

Junior

Group:
Member
Posts:
75
Location:
benevento

Status:


Lo script va bene. Chiedo solo una modifica.
Potresti inserire come hai fatto negli altri, qual'è il
1 CA VE 83
2 VE MI 06
3 NZ MI 08
ecc...
 
Top
view post Posted on 5/8/2020, 09:31
Avatar

Top Member

Group:
Administrator
Posts:
1,719

Status:


Ciao, segue la versione semplificata che evidenzia solo i casi attuali (totali o parziali).

Option Explicit

Sub Main()

' GAM - 05.08.2020 v.1.0 ATTUALI(realizzato su richiesta di @miki55 - https://lottogam.forumfree.it/?t=77817968
' Lo script scandaglia l'archivio per rilevare la presenza di un estratto Isocrono su coppia di ruote in estrazioni continue
' Se tale condizione è rilevata lo script calcola il ritardo raggiunto dall'estratto su entrambe le ruote, il Ritardo Minimo, il Ritardo di Livello, ovvero il ritardo dell'Ambata Residua
' E' possibile impostare un Ritardo Minimo di ricerca (RitMinRic) per restringere i casi in gioco.

Dim rr1(1),rr2(1),rit1(1),rit2(1),Num(1),Min,RitMinRic
Dim Ini,Fin,LivArch
Dim es,rt,a,b,a1,b1,r1,r2,p1,p2,CasoATT,CasoParzATT

Ini = 9700'EstrazioneFin - 1000
Fin = EstrazioneFin

RitMinRic = 18

For LivArch = 0 To 0
For es = Ini To Fin - 1

If ScriptInterrotto Then Exit For
Messaggio(es & " - L" & LivArch)
AvanzamentoElab Ini,Fin,es

For r1 = 1 To 10
For r2 = r1 + 1 To 12 ' se metti apice ed elimini ciclo For (incluso il next a fine listato) togli da qui sotto, solo casi su ruote contigue
'r2= r1 + 1
If r2 = 11 Then r2 = 12

For p1 = 1 To 5
For p2 = 1 To 5

a = Estratto(es,r1,p1,LivArch)
b = Estratto(es + 1,r2,p2,LivArch)

a1 = Estratto(es + 1,r1,p1,LivArch)
b1 = Estratto(es,r2,p2,LivArch)

If a = b Then

Num(1) = a
rr1(1) = r1
rr2(1) = r2
rit1(1) = SeriePrima(es + 2,EstrazioneFin,Num,rr1,1,,,LivArch)
rit2(1) = SeriePrima(es + 2,EstrazioneFin,Num,rr2,1,,,LivArch)

If es < Fin - 1 Then

If rit1(1) > 0 And rit2(1) = 0 Then
ColoreTesto(1)
rit1(1) = rit1(1) - es - 1
rit2(1) = EstrazioneFin - es
Min = Minimo(rit1(1),rit2(1))
If Min > RitMinRic Then
Scrivi FormattaStringa(es,"0000") & " " & DataEstrazione(es) & " " & SiglaRuota(r1) & " " & StringaEstratti(es,r1,,,LivArch) & _
" " & FormattaStringa(es + 1,"0000") & " " & DataEstrazione(es + 1) & " " & SiglaRuota(r2) & " " & StringaEstratti(es + 1,r2,,,LivArch) & _
" --> " & Format2(a) & " su " & SiglaRuota(r1) & " in " & p1 & " su " & SiglaRuota(r2) & " in " & p2 & _
" -> StoR1 " & FormattaStringa(rit1(1),"000") & " AttR2 " & FormattaStringa(rit2(1),"000") & " StoMIN " & FormattaStringa(Minimo(rit1(1),rit2(1)),"000") & _
" RdLAtt " & FormattaStringa(Massimo(rit1(1),rit2(1)) - Minimo(rit1(1),rit2(1)),"000") & " L" & LivArch & " *"
ColoreTesto(0)
CasoParzATT =CasoParzATT +1
End If
Else
If rit1(1) = 0 And rit2(1) > 0 Then
ColoreTesto(1)
rit2(1) = rit2(1) - es - 1
rit1(1) = EstrazioneFin - es
Min = Minimo(rit1(1),rit2(1))
If Min > RitMinRic Then
Scrivi FormattaStringa(es,"0000") & " " & DataEstrazione(es) & " " & SiglaRuota(r1) & " " & StringaEstratti(es,r1,,,LivArch) & _
" " & FormattaStringa(es + 1,"0000") & " " & DataEstrazione(es + 1) & " " & SiglaRuota(r2) & " " & StringaEstratti(es + 1,r2,,,LivArch) & _
" --> " & Format2(a) & " su " & SiglaRuota(r1) & " in " & p1 & " su " & SiglaRuota(r2) & " in " & p2 & _
" -> AttR1 " & FormattaStringa(rit1(1),"000") & " StoR2 " & FormattaStringa(rit2(1),"000") & " StoMIN " & FormattaStringa(Minimo(rit1(1),rit2(1)),"000") & _
" RdLAtt " & FormattaStringa(Massimo(rit1(1),rit2(1)) - Minimo(rit1(1),rit2(1)),"000") & " L" & LivArch & " *"
ColoreTesto(0)
CasoParzATT =CasoParzATT +1
End If
Else
If rit1(1) = 0 And rit2(1) = 0 Then
ColoreTesto(2)
rit2(1) = EstrazioneFin - es
rit1(1) = EstrazioneFin - es
Min = Minimo(rit1(1),rit2(1))
If Min > RitMinRic Then
Scrivi FormattaStringa(es,"0000") & " " & DataEstrazione(es) & " " & SiglaRuota(r1) & " " & StringaEstratti(es,r1,,,LivArch) & _
" " & FormattaStringa(es + 1,"0000") & " " & DataEstrazione(es + 1) & " " & SiglaRuota(r2) & " " & StringaEstratti(es + 1,r2,,,LivArch) & _
" --> " & Format2(a) & " su " & SiglaRuota(r1) & " in " & p1 & " su " & SiglaRuota(r2) & " in " & p2 & _
" -> AttR1 " & FormattaStringa(rit1(1),"000") & " AttR2 " & FormattaStringa(rit2(1),"000") & " AttMIN " & FormattaStringa(Minimo(rit1(1),rit2(1)),"000") & _
" RdL___ 000 L" & LivArch & " ***"
ColoreTesto(0)
CasoATT = CasoATT+1
End If
End If
End If

End If
Else
ColoreTesto(2)
rit2(1) = EstrazioneFin - es
rit1(1) = EstrazioneFin - es
Min = Minimo(rit1(1),rit2(1))
If Min > RitMinRic Then
Scrivi FormattaStringa(es,"0000") & " " & DataEstrazione(es) & " " & SiglaRuota(r1) & " " & StringaEstratti(es,r1,,,LivArch) & _
" " & FormattaStringa(es + 1,"0000") & " " & DataEstrazione(es + 1) & " " & SiglaRuota(r2) & " " & StringaEstratti(es + 1,r2,,,LivArch) & _
" --> " & Format2(a) & " su " & SiglaRuota(r1) & " in " & p1 & " su " & SiglaRuota(r2) & " in " & p2 & _
" -> AttR1 " & FormattaStringa(rit1(1),"000") & " AttR2 " & FormattaStringa(rit2(1),"000") & " AttMIN " & FormattaStringa(Minimo(rit1(1),rit2(1)),"000") & _
" RdL___ 000 L" & LivArch & " ***"
ColoreTesto(0)
CasoATT = CasoATT + 1
End If
End If

Else
If a1 = b1 Then

Num(1) = a1
rr1(1) = r1
rr2(1) = r2
rit1(1) = SeriePrima(es + 2,EstrazioneFin,Num,rr1,1,,,LivArch)
rit2(1) = SeriePrima(es + 2,EstrazioneFin,Num,rr2,1,,,LivArch)

If es < Fin - 1 Then


If rit1(1) > 0 And rit2(1) = 0 Then
ColoreTesto(1)
rit1(1) = rit1(1) - es - 1
rit2(1) = EstrazioneFin - es
Min = Minimo(rit1(1),rit2(1))
If Min > RitMinRic Then
Scrivi FormattaStringa(es,"0000") & " " & DataEstrazione(es) & " " & SiglaRuota(r2) & " " & StringaEstratti(es,r2,,,LivArch) & _
" " & FormattaStringa(es + 1,"0000") & " " & DataEstrazione(es + 1) & " " & SiglaRuota(r1) & " " & StringaEstratti(es + 1,r1,,,LivArch) & _
" --> " & Format2(a1) & " su " & SiglaRuota(r2) & " in " & p2 & " su " & SiglaRuota(r1) & " in " & p1 & _
" -> StoR1 " & FormattaStringa(rit1(1),"000") & " AttR2 " & FormattaStringa(rit2(1),"000") & " StoMIN " & FormattaStringa(Minimo(rit1(1),rit2(1)),"000") & _
" RdLAtt " & FormattaStringa(Massimo(rit1(1),rit2(1)) - Minimo(rit1(1),rit2(1)),"000") & " L" & LivArch & " *"
ColoreTesto(0)
CasoParzATT =CasoParzATT +1
End If
Else
If rit1(1) = 0 And rit2(1) > 0 Then
ColoreTesto(1)
rit2(1) = rit2(1) - es - 1
rit1(1) = EstrazioneFin - es
Min = Minimo(rit1(1),rit2(1))
If Min > RitMinRic Then
Scrivi FormattaStringa(es,"0000") & " " & DataEstrazione(es) & " " & SiglaRuota(r2) & " " & StringaEstratti(es,r2,,,LivArch) & _
" " & FormattaStringa(es + 1,"0000") & " " & DataEstrazione(es + 1) & " " & SiglaRuota(r1) & " " & StringaEstratti(es + 1,r1,,,LivArch) & _
" --> " & Format2(a1) & " su " & SiglaRuota(r2) & " in " & p2 & " su " & SiglaRuota(r1) & " in " & p1 & _
" -> AttR1 " & FormattaStringa(rit1(1),"000") & " StoR2 " & FormattaStringa(rit2(1),"000") & " StoMIN " & FormattaStringa(Minimo(rit1(1),rit2(1)),"000") & _
" RdLAtt " & FormattaStringa(Massimo(rit1(1),rit2(1)) - Minimo(rit1(1),rit2(1)),"000") & " L" & LivArch & " *"
ColoreTesto(0)
CasoParzATT =CasoParzATT +1
End If
Else
If rit1(1) = 0 And rit2(1) = 0 Then
ColoreTesto(2)

rit2(1) = EstrazioneFin - es
rit1(1) = EstrazioneFin - es
Min = Minimo(rit1(1),rit2(1))
If Min > RitMinRic Then
Scrivi FormattaStringa(es,"0000") & " " & DataEstrazione(es) & " " & SiglaRuota(r2) & " " & StringaEstratti(es,r2,,,LivArch) & _
" " & FormattaStringa(es + 1,"0000") & " " & DataEstrazione(es + 1) & " " & SiglaRuota(r1) & " " & StringaEstratti(es + 1,r1,,,LivArch) & _
" --> " & Format2(a1) & " su " & SiglaRuota(r2) & " in " & p2 & " su " & SiglaRuota(r1) & " in " & p1 & _
" -> AttR1 " & FormattaStringa(rit1(1),"000") & " AttR2 " & FormattaStringa(rit2(1),"000") & " AttMIN " & FormattaStringa(Minimo(rit1(1),rit2(1)),"000") & _
" RdL___ 000 L" & LivArch & " ***"
ColoreTesto(0)
CasoATT = CasoATT +1
End If
End If
End If

End If
Else
ColoreTesto(2)
rit2(1) = EstrazioneFin - es
rit1(1) = EstrazioneFin - es
Min = Minimo(rit1(1),rit2(1))
If Min > RitMinRic Then
Scrivi FormattaStringa(es,"0000") & " " & DataEstrazione(es) & " " & SiglaRuota(r2) & " " & StringaEstratti(es,r2,,,LivArch) & _
" " & FormattaStringa(es + 1,"0000") & " " & DataEstrazione(es + 1) & " " & SiglaRuota(r1) & " " & StringaEstratti(es + 1,r1,,,LivArch) & _
" --> " & Format2(a1) & " su " & SiglaRuota(r2) & " in " & p2 & " su " & SiglaRuota(r1) & " in " & p1 & _
" -> AttR1 " & FormattaStringa(rit1(1),"000") & " AttR2 " & FormattaStringa(rit2(1),"000") & " AttMIN " & FormattaStringa(Minimo(rit1(1),rit2(1)),"000") & _
" RdL___ 000 L" & LivArch & " ***"
ColoreTesto(0)
CasoATT = CasoATT + 1
End If
End If

End If
End If
Next
Next
Next
Next ' da togliere per ruote contigue
Next
Next
Scrivi "Casi attuali dal " & DataEstrazione (Ini) & "[" &Ini &"] al " & DataEstrazione (Fin) & "[" &Fin &"] = " & CasoATT
Scrivi "Casi parziali attuali dal " & DataEstrazione (Ini) & "[" &Ini &"] al " & DataEstrazione (Fin) & "[" &Fin &"] = " & CasoParzATT

Scrivi TempoTrascorso
End Sub


Di seguito una versione con output in tabella ordinabile, come richiesto da miki55@
Option Explicit

Sub Main()

' GAM - 05.08.2020 - v 1.0 con TABELLA ORDINABILE (realizzato su richiesta di @miki55 - https://lottogam.forumfree.it/?t=77817968
' Lo script scandaglia l'archivio per rilevare la presenza di un estratto Isocrono su coppia di ruote in estrazioni continue
' Se tale condizione è rilevata lo script calcola il ritardo raggiunto dall'estratto su entrambe le ruote, il Ritardo Minimo, il Ritardo di Livello, ovvero il ritardo dell'Ambata Residua
' E' possibile impostare un Ritardo Minimo di ricerca (RitMinRic) per restringere i casi in gioco.

Dim rr1(1),rr2(1),rit1(1),rit2(1),Num(1),Min,RitMinRic
Dim Ini,Fin,LivArch,V,T
Dim es,rt,a,b,a1,b1,r1,r2,p1,p2,Caso

Ini = 9700'EstrazioneFin - 400
Fin = EstrazioneFin

RitMinRic = 18

T = Array(T,"id_R1","Data","R1","Estratti_R1","id_R2","Data","R2","Estratti_R2","Num","R1","Pos","R2","Pos","RitR1","RitR2","RitMin","RdL","LivArch","***")
Call InitTabella(T)

For LivArch = 0 To 0
For es = Ini To Fin - 1

If ScriptInterrotto Then Exit For
Messaggio(es & " - L" & LivArch)
AvanzamentoElab Ini,Fin,es

For r1 = 1 To 10
For r2 = r1 + 1 To 12 ' se metti apice ed elimini ciclo For (incluso il next a fine listato) togli da qui sotto, solo casi su ruote contigue
'r2= r1 + 1
If r2 = 11 Then r2 = 12

For p1 = 1 To 5
For p2 = 1 To 5

a = Estratto(es,r1,p1,LivArch)
b = Estratto(es + 1,r2,p2,LivArch)

a1 = Estratto(es + 1,r1,p1,LivArch)
b1 = Estratto(es,r2,p2,LivArch)

If a = b Then
Caso = Caso + 1
Num(1) = a
rr1(1) = r1
rr2(1) = r2
rit1(1) = SeriePrima(es + 2,EstrazioneFin,Num,rr1,1,,,LivArch)
rit2(1) = SeriePrima(es + 2,EstrazioneFin,Num,rr2,1,,,LivArch)

If es < Fin - 1 Then
If rit1(1) > 0 And rit2(1) > 0 Then

rit1(1) = rit1(1) - es - 1
rit2(1) = rit2(1) - es - 1
Min = Minimo(rit1(1),rit2(1))
If Min > RitMinRic Then

V = Array(V,FormattaStringa(es,"0000"),DataEstrazione(es),SiglaRuota(r1),StringaEstratti(es,r1,,,LivArch),FormattaStringa(es + 1,"0000"),DataEstrazione(es + 1),SiglaRuota(r2),StringaEstratti(es + 1,r2,,,LivArch),Format2(a),SiglaRuota(r1),p1,SiglaRuota(r2),p2,FormattaStringa(rit1(1),"000") & " Sto",FormattaStringa(rit2(1),"000") & " Sto",FormattaStringa(Minimo(rit1(1),rit2(1)),"000") & " Sto",FormattaStringa(Massimo(rit1(1),rit2(1)) - Minimo(rit1(1),rit2(1)),"000") & " Sto",LivArch,"")
Call AddRigaTabella(V)
End If
Else
If rit1(1) > 0 And rit2(1) = 0 Then

rit1(1) = rit1(1) - es - 1
rit2(1) = EstrazioneFin - es
Min = Minimo(rit1(1),rit2(1))
If Min > RitMinRic Then

V = Array(V,FormattaStringa(es,"0000"),DataEstrazione(es),SiglaRuota(r1),StringaEstratti(es,r1,,,LivArch),FormattaStringa(es + 1,"0000"),DataEstrazione(es + 1),SiglaRuota(r2),StringaEstratti(es + 1,r2,,,LivArch),Format2(a),SiglaRuota(r1),p1,SiglaRuota(r2),p2,FormattaStringa(rit1(1),"000") & " Sto",FormattaStringa(rit2(1),"000") & " Att",FormattaStringa(Minimo(rit1(1),rit2(1)),"000") & " Sto",FormattaStringa(Massimo(rit1(1),rit2(1)) - Minimo(rit1(1),rit2(1)),"000") & " Att",LivArch,"*")
Call AddRigaTabella(V)
Call SetColoreCella(19,1,5)

End If
Else
If rit1(1) = 0 And rit2(1) > 0 Then

rit2(1) = rit2(1) - es - 1
rit1(1) = EstrazioneFin - es
Min = Minimo(rit1(1),rit2(1))
If Min > RitMinRic Then

V = Array(V,FormattaStringa(es,"0000"),DataEstrazione(es),SiglaRuota(r1),StringaEstratti(es,r1,,,LivArch),FormattaStringa(es + 1,"0000"),DataEstrazione(es + 1),SiglaRuota(r2),StringaEstratti(es + 1,r2,,,LivArch),Format2(a),SiglaRuota(r1),p1,SiglaRuota(r2),p2,FormattaStringa(rit1(1),"000") & " Att",FormattaStringa(rit2(1),"000") & " Sto",FormattaStringa(Minimo(rit1(1),rit2(1)),"000") & " Sto",FormattaStringa(Massimo(rit1(1),rit2(1)) - Minimo(rit1(1),rit2(1)),"000") & " Att",LivArch,"*")
Call AddRigaTabella(V)
Call SetColoreCella(19,1,5)

End If
Else
If rit1(1) = 0 And rit2(1) = 0 Then

rit2(1) = EstrazioneFin - es
rit1(1) = EstrazioneFin - es
Min = Minimo(rit1(1),rit2(1))
If Min > RitMinRic Then

V = Array(V,FormattaStringa(es,"0000"),DataEstrazione(es),SiglaRuota(r1),StringaEstratti(es,r1,,,LivArch),FormattaStringa(es + 1,"0000"),DataEstrazione(es + 1),SiglaRuota(r2),StringaEstratti(es + 1,r2,,,LivArch),Format2(a),SiglaRuota(r1),p1,SiglaRuota(r2),p2,FormattaStringa(rit1(1),"000") & " Att",FormattaStringa(rit2(1),"000") & " Att",FormattaStringa(Minimo(rit1(1),rit2(1)),"000") & " Att","---",LivArch,"***")
Call AddRigaTabella(V)
Call SetColoreCella(19,2,5)


End If
End If
End If
End If
End If
Else

rit2(1) = EstrazioneFin - es
rit1(1) = EstrazioneFin - es
Min = Minimo(rit1(1),rit2(1))
If Min > RitMinRic Then
V = Array(V,FormattaStringa(es,"0000"),DataEstrazione(es),SiglaRuota(r1),StringaEstratti(es,r1,,,LivArch),FormattaStringa(es + 1,"0000"),DataEstrazione(es + 1),SiglaRuota(r2),StringaEstratti(es + 1,r2,,,LivArch),Format2(a),SiglaRuota(r1),p1,SiglaRuota(r2),p2,FormattaStringa(rit1(1),"000") & " Att",FormattaStringa(rit2(1),"000") & " Att",FormattaStringa(Minimo(rit1(1),rit2(1)),"000") & " Att","---",LivArch,"***")
Call AddRigaTabella(V)
Call SetColoreCella(19,2,5)

End If
End If

Else
If a1 = b1 Then

Num(1) = a1
rr1(1) = r1
rr2(1) = r2
rit1(1) = SeriePrima(es + 2,EstrazioneFin,Num,rr1,1,,,LivArch)
rit2(1) = SeriePrima(es + 2,EstrazioneFin,Num,rr2,1,,,LivArch)
Caso = Caso + 1
If es < Fin - 1 Then
If rit1(1) > 0 And rit2(1) > 0 Then

rit1(1) = rit1(1) - es - 1
rit2(1) = rit2(1) - es - 1
Min = Minimo(rit1(1),rit2(1))
If Min > RitMinRic Then
V = Array(V,FormattaStringa(es,"0000"),DataEstrazione(es),SiglaRuota(r2),StringaEstratti(es,r2,,,LivArch),FormattaStringa(es + 1,"0000"),DataEstrazione(es + 1),SiglaRuota(r1),StringaEstratti(es + 1,r1,,,LivArch),Format2(a1),SiglaRuota(r2),p2,SiglaRuota(r1),p1,FormattaStringa(rit1(1),"000") & " Sto",FormattaStringa(rit2(1),"000") & " Sto",FormattaStringa(Minimo(rit1(1),rit2(1)),"000") & " Sto",FormattaStringa(Massimo(rit1(1),rit2(1)) - Minimo(rit1(1),rit2(1)),"000") & " Sto",LivArch,"")
Call AddRigaTabella(V)

End If
Else
If rit1(1) > 0 And rit2(1) = 0 Then

rit1(1) = rit1(1) - es - 1
rit2(1) = EstrazioneFin - es
Min = Minimo(rit1(1),rit2(1))
If Min > RitMinRic Then
V = Array(V,FormattaStringa(es,"0000"),DataEstrazione(es),SiglaRuota(r2),StringaEstratti(es,r2,,,LivArch),FormattaStringa(es + 1,"0000"),DataEstrazione(es + 1),SiglaRuota(r1),StringaEstratti(es + 1,r1,,,LivArch),Format2(a1),SiglaRuota(r2),p2,SiglaRuota(r1),p1,FormattaStringa(rit1(1),"000") & " Sto",FormattaStringa(rit2(1),"000") & " Att",FormattaStringa(Minimo(rit1(1),rit2(1)),"000") & " Sto",FormattaStringa(Massimo(rit1(1),rit2(1)) - Minimo(rit1(1),rit2(1)),"000") & " Att",LivArch,"*")
Call AddRigaTabella(V)
Call SetColoreCella(19,1,5)

End If
Else
If rit1(1) = 0 And rit2(1) > 0 Then

rit2(1) = rit2(1) - es - 1
rit1(1) = EstrazioneFin - es
Min = Minimo(rit1(1),rit2(1))
If Min > RitMinRic Then
V = Array(V,FormattaStringa(es,"0000"),DataEstrazione(es),SiglaRuota(r2),StringaEstratti(es,r2,,,LivArch),FormattaStringa(es + 1,"0000"),DataEstrazione(es + 1),SiglaRuota(r1),StringaEstratti(es + 1,r1,,,LivArch),Format2(a1),SiglaRuota(r2),p2,SiglaRuota(r1),p1,FormattaStringa(rit1(1),"000") & " Att",FormattaStringa(rit2(1),"000") & " Sto",FormattaStringa(Minimo(rit1(1),rit2(1)),"000") & " Sto",FormattaStringa(Massimo(rit1(1),rit2(1)) - Minimo(rit1(1),rit2(1)),"000") & " Att",LivArch,"*")
Call AddRigaTabella(V)
Call SetColoreCella(19,1,5)
End If
Else
If rit1(1) = 0 And rit2(1) = 0 Then

rit2(1) = EstrazioneFin - es
rit1(1) = EstrazioneFin - es
Min = Minimo(rit1(1),rit2(1))
If Min > RitMinRic Then

V = Array(V,FormattaStringa(es,"0000"),DataEstrazione(es),SiglaRuota(r2),StringaEstratti(es,r2,,,LivArch),FormattaStringa(es + 1,"0000"),DataEstrazione(es + 1),SiglaRuota(r1),StringaEstratti(es + 1,r1,,,LivArch),Format2(a1),SiglaRuota(r2),p2,SiglaRuota(r1),p1,FormattaStringa(rit1(1),"000") & " Att",FormattaStringa(rit2(1),"000") & " Att",FormattaStringa(Minimo(rit1(1),rit2(1)),"000") & " Att","---",LivArch,"***")
Call AddRigaTabella(V)
Call SetColoreCella(19,2,5)

End If
End If
End If
End If
End If
Else

rit2(1) = EstrazioneFin - es
rit1(1) = EstrazioneFin - es
Min = Minimo(rit1(1),rit2(1))
If Min > RitMinRic Then

V = Array(V,FormattaStringa(es,"0000"),DataEstrazione(es),SiglaRuota(r2),StringaEstratti(es,r2,,,LivArch),FormattaStringa(es + 1,"0000"),DataEstrazione(es + 1),SiglaRuota(r1),StringaEstratti(es + 1,r1,,,LivArch),Format2(a1),SiglaRuota(r2),p2,SiglaRuota(r1),p1,FormattaStringa(rit1(1),"000") & " Att",FormattaStringa(rit2(1),"000") & " Att",FormattaStringa(Minimo(rit1(1),rit2(1)),"000") & " Att","---",LivArch,"***")
Call AddRigaTabella(V)
Call SetColoreCella(19,2,5)

End If
End If

End If
End If
Next
Next
Next
Next ' da togliere per ruote contigue
Next
Next

Call CreaTabellaOrdinabile(16,0,0,(Caso + 1),0,True,True)
Scrivi Caso
Scrivi TempoTrascorso
End Sub


Saluti
 
Web  Top
view post Posted on 18/8/2020, 10:39
Avatar

Top Member

Group:
Administrator
Posts:
1,719

Status:


Ciao a tutti,

quelli che seguono sono le versioni aggiornate del listato, a cui è stata aggiunta l'opzione del controllo del ritardo precedente assunto dall'estratto sulle rispettive ruote.
In altre parole, per ridurre i casi in gioco e "restringere il campo", si può impostare non solo il RitardoMinimo (variabile RitMinRic) ma anche il Ritardo precedente su una ruota e l'altra (RitPrecR1 e RitPrecR2).

Versione semplificata che evidenzia solo i casi attuali (totali o parziali)
Option Explicit
Sub Main()
' GAM - 18.08.2020 v.2.0 ATTUALI(realizzato su richiesta di @miki55 - https://lottogam.forumfree.it/?t=77817968
' Lo script scandaglia l'archivio per rilevare la presenza di un estratto Isocrono su coppia di ruote in estrazioni continue
' Se tale condizione è rilevata lo script calcola il ritardo raggiunto dall'estratto su entrambe le ruote, il Ritardo Minimo, il Ritardo di Livello, ovvero il ritardo dell'Ambata Residua
' E' possibile impostare un Ritardo Minimo di ricerca (RitMinRic) per restringere i casi in gioco.
' Aggiunta la possibilità di filtrare casi con Ritardo Precedente maggiore a un valore impostato per ruota (RitPrecR1 ecc.)
Dim rr1(1),rr2(1),rit1(1),rit2(1),Num(1),Min,RitMinRic
Dim Ini,Fin,LivArch
Dim es,rt,a,b,a1,b1,r1,r2,p1,p2,CasoATT,CasoParzATT,RitPrecR1,RitPrecR2,RitPrec_su_R1,RitPrec_su_R2

Ini = EstrazioneFin - 200
Fin = EstrazioneFin

RitMinRic = 18
RitPrecR1 = 18
RitPrecR2 = 18

For LivArch = 0 To 0
For es = Ini To Fin - 1
If ScriptInterrotto Then Exit For
Messaggio(es & " - L" & LivArch)
AvanzamentoElab Ini,Fin,es
For r1 = 1 To 10
For r2 = r1 + 1 To 12 ' se metti apice ed elimini ciclo For (incluso il next a fine listato) togli da qui sotto, solo casi su ruote contigue
'r2= r1 + 1
If r2 = 11 Then r2 = 12
For p1 = 1 To 5
For p2 = 1 To 5
a = Estratto(es,r1,p1,LivArch)
b = Estratto(es + 1,r2,p2,LivArch)
a1 = Estratto(es + 1,r1,p1,LivArch)
b1 = Estratto(es,r2,p2,LivArch)

If a = b Then
Num(1) = a
rr1(1) = r1
rr2(1) = r2
rit1(1) = SeriePrima(es + 2,EstrazioneFin,Num,rr1,1,,,LivArch)
rit2(1) = SeriePrima(es + 2,EstrazioneFin,Num,rr2,1,,,LivArch)
RitPrec_su_R1 = SerieRitardo(es - 300,es - 1,Num,rr1,1,,,LivArch)
RitPrec_su_R2 = SerieRitardo(es - 300,es,Num,rr2,1,,,LivArch)

If es < Fin - 1 Then
If rit1(1) > 0 And rit2(1) = 0 Then
ColoreTesto(1)
rit1(1) = rit1(1) - es - 1
rit2(1) = EstrazioneFin - es
Min = Minimo(rit1(1),rit2(1))

If Min > RitMinRic And RitPrec_su_R1 > RitPrecR1 And RitPrec_su_R2 > RitPrecR2 Then
Scrivi FormattaStringa(es,"0000") & " " & DataEstrazione(es) & " " & SiglaRuota(r1) & " " & StringaEstratti(es,r1,,,LivArch) & _
" " & FormattaStringa(es + 1,"0000") & " " & DataEstrazione(es + 1) & " " & SiglaRuota(r2) & " " & StringaEstratti(es + 1,r2,,,LivArch) & _
" --> " & Format2(a) & " su " & SiglaRuota(r1) & " in " & p1 & " su " & SiglaRuota(r2) & " in " & p2 & _
" -> StoR1 " & FormattaStringa(rit1(1),"000") & " AttR2 " & FormattaStringa(rit2(1),"000") & " StoMIN " & FormattaStringa(Minimo(rit1(1),rit2(1)),"000") & _
" RdLAtt " & FormattaStringa(Massimo(rit1(1),rit2(1)) - Minimo(rit1(1),rit2(1)),"000") & " L" & LivArch & " *"
ColoreTesto(0)
CasoParzATT = CasoParzATT + 1
End If
Else
If rit1(1) = 0 And rit2(1) > 0 Then
ColoreTesto(1)
rit2(1) = rit2(1) - es - 1
rit1(1) = EstrazioneFin - es
Min = Minimo(rit1(1),rit2(1))
If Min > RitMinRic And RitPrec_su_R1 > RitPrecR1 And RitPrec_su_R2 > RitPrecR2 Then
Scrivi FormattaStringa(es,"0000") & " " & DataEstrazione(es) & " " & SiglaRuota(r1) & " " & StringaEstratti(es,r1,,,LivArch) & _
" " & FormattaStringa(es + 1,"0000") & " " & DataEstrazione(es + 1) & " " & SiglaRuota(r2) & " " & StringaEstratti(es + 1,r2,,,LivArch) & _
" --> " & Format2(a) & " su " & SiglaRuota(r1) & " in " & p1 & " su " & SiglaRuota(r2) & " in " & p2 & _
" -> AttR1 " & FormattaStringa(rit1(1),"000") & " StoR2 " & FormattaStringa(rit2(1),"000") & " StoMIN " & FormattaStringa(Minimo(rit1(1),rit2(1)),"000") & _
" RdLAtt " & FormattaStringa(Massimo(rit1(1),rit2(1)) - Minimo(rit1(1),rit2(1)),"000") & " L" & LivArch & " *"
ColoreTesto(0)
CasoParzATT = CasoParzATT + 1
End If
Else
If rit1(1) = 0 And rit2(1) = 0 Then
ColoreTesto(2)
rit2(1) = EstrazioneFin - es
rit1(1) = EstrazioneFin - es
Min = Minimo(rit1(1),rit2(1))
If Min > RitMinRic And RitPrec_su_R1 > RitPrecR1 And RitPrec_su_R2 > RitPrecR2 Then
Scrivi FormattaStringa(es,"0000") & " " & DataEstrazione(es) & " " & SiglaRuota(r1) & " " & StringaEstratti(es,r1,,,LivArch) & _
" " & FormattaStringa(es + 1,"0000") & " " & DataEstrazione(es + 1) & " " & SiglaRuota(r2) & " " & StringaEstratti(es + 1,r2,,,LivArch) & _
" --> " & Format2(a) & " su " & SiglaRuota(r1) & " in " & p1 & " su " & SiglaRuota(r2) & " in " & p2 & _
" -> AttR1 " & FormattaStringa(rit1(1),"000") & " AttR2 " & FormattaStringa(rit2(1),"000") & " AttMIN " & FormattaStringa(Minimo(rit1(1),rit2(1)),"000") & _
" RdL___ 000 L" & LivArch & " ***"
ColoreTesto(0)
CasoATT = CasoATT + 1
End If
End If
End If
End If
Else
ColoreTesto(2)
rit2(1) = EstrazioneFin - es
rit1(1) = EstrazioneFin - es
Min = Minimo(rit1(1),rit2(1))
If Min > RitMinRic And RitPrec_su_R1 > RitPrecR1 And RitPrec_su_R2 > RitPrecR2 Then
Scrivi FormattaStringa(es,"0000") & " " & DataEstrazione(es) & " " & SiglaRuota(r1) & " " & StringaEstratti(es,r1,,,LivArch) & _
" " & FormattaStringa(es + 1,"0000") & " " & DataEstrazione(es + 1) & " " & SiglaRuota(r2) & " " & StringaEstratti(es + 1,r2,,,LivArch) & _
" --> " & Format2(a) & " su " & SiglaRuota(r1) & " in " & p1 & " su " & SiglaRuota(r2) & " in " & p2 & _
" -> AttR1 " & FormattaStringa(rit1(1),"000") & " AttR2 " & FormattaStringa(rit2(1),"000") & " AttMIN " & FormattaStringa(Minimo(rit1(1),rit2(1)),"000") & _
" RdL___ 000 L" & LivArch & " ***"
ColoreTesto(0)
CasoATT = CasoATT + 1
End If
End If
Else
If a1 = b1 Then
Num(1) = a1
rr1(1) = r1
rr2(1) = r2
rit1(1) = SeriePrima(es + 2,EstrazioneFin,Num,rr1,1,,,LivArch)
rit2(1) = SeriePrima(es + 2,EstrazioneFin,Num,rr2,1,,,LivArch)
RitPrec_su_R1 = SerieRitardo(es - 300,es,Num,rr1,1,,,LivArch)
RitPrec_su_R2 = SerieRitardo(es - 300,es - 1,Num,rr2,1,,,LivArch)

If es < Fin - 1 Then
If rit1(1) > 0 And rit2(1) = 0 Then
ColoreTesto(1)
rit1(1) = rit1(1) - es - 1
rit2(1) = EstrazioneFin - es
Min = Minimo(rit1(1),rit2(1))
If Min > RitMinRic And RitPrec_su_R1 > RitPrecR1 And RitPrec_su_R2 > RitPrecR2 Then

Scrivi FormattaStringa(es,"0000") & " " & DataEstrazione(es) & " " & SiglaRuota(r2) & " " & StringaEstratti(es,r2,,,LivArch) & _
" " & FormattaStringa(es + 1,"0000") & " " & DataEstrazione(es + 1) & " " & SiglaRuota(r1) & " " & StringaEstratti(es + 1,r1,,,LivArch) & _
" --> " & Format2(a1) & " su " & SiglaRuota(r2) & " in " & p2 & " su " & SiglaRuota(r1) & " in " & p1 & _
" -> StoR1 " & FormattaStringa(rit1(1),"000") & " AttR2 " & FormattaStringa(rit2(1),"000") & " StoMIN " & FormattaStringa(Minimo(rit1(1),rit2(1)),"000") & _
" RdLAtt " & FormattaStringa(Massimo(rit1(1),rit2(1)) - Minimo(rit1(1),rit2(1)),"000") & " L" & LivArch & " *"
ColoreTesto(0)
CasoParzATT = CasoParzATT + 1
End If
Else
If rit1(1) = 0 And rit2(1) > 0 Then
ColoreTesto(1)
rit2(1) = rit2(1) - es - 1
rit1(1) = EstrazioneFin - es
Min = Minimo(rit1(1),rit2(1))
If Min > RitMinRic And RitPrec_su_R1 > RitPrecR1 And RitPrec_su_R2 > RitPrecR2 Then

Scrivi FormattaStringa(es,"0000") & " " & DataEstrazione(es) & " " & SiglaRuota(r2) & " " & StringaEstratti(es,r2,,,LivArch) & _
" " & FormattaStringa(es + 1,"0000") & " " & DataEstrazione(es + 1) & " " & SiglaRuota(r1) & " " & StringaEstratti(es + 1,r1,,,LivArch) & _
" --> " & Format2(a1) & " su " & SiglaRuota(r2) & " in " & p2 & " su " & SiglaRuota(r1) & " in " & p1 & _
" -> AttR1 " & FormattaStringa(rit1(1),"000") & " StoR2 " & FormattaStringa(rit2(1),"000") & " StoMIN " & FormattaStringa(Minimo(rit1(1),rit2(1)),"000") & _
" RdLAtt " & FormattaStringa(Massimo(rit1(1),rit2(1)) - Minimo(rit1(1),rit2(1)),"000") & " L" & LivArch & " *"
ColoreTesto(0)
CasoParzATT = CasoParzATT + 1
End If
Else
If rit1(1) = 0 And rit2(1) = 0 Then
ColoreTesto(2)
rit2(1) = EstrazioneFin - es
rit1(1) = EstrazioneFin - es
Min = Minimo(rit1(1),rit2(1))
If Min > RitMinRic And RitPrec_su_R1 > RitPrecR1 And RitPrec_su_R2 > RitPrecR2 Then

Scrivi FormattaStringa(es,"0000") & " " & DataEstrazione(es) & " " & SiglaRuota(r2) & " " & StringaEstratti(es,r2,,,LivArch) & _
" " & FormattaStringa(es + 1,"0000") & " " & DataEstrazione(es + 1) & " " & SiglaRuota(r1) & " " & StringaEstratti(es + 1,r1,,,LivArch) & _
" --> " & Format2(a1) & " su " & SiglaRuota(r2) & " in " & p2 & " su " & SiglaRuota(r1) & " in " & p1 & _
" -> AttR1 " & FormattaStringa(rit1(1),"000") & " AttR2 " & FormattaStringa(rit2(1),"000") & " AttMIN " & FormattaStringa(Minimo(rit1(1),rit2(1)),"000") & _
" RdL___ 000 L" & LivArch & " ***"
ColoreTesto(0)
CasoATT = CasoATT + 1
End If
End If
End If
End If
Else
ColoreTesto(2)
rit2(1) = EstrazioneFin - es
rit1(1) = EstrazioneFin - es
Min = Minimo(rit1(1),rit2(1))
If Min > RitMinRic And RitPrec_su_R1 > RitPrecR1 And RitPrec_su_R2 > RitPrecR2 Then

Scrivi FormattaStringa(es,"0000") & " " & DataEstrazione(es) & " " & SiglaRuota(r2) & " " & StringaEstratti(es,r2,,,LivArch) & _
" " & FormattaStringa(es + 1,"0000") & " " & DataEstrazione(es + 1) & " " & SiglaRuota(r1) & " " & StringaEstratti(es + 1,r1,,,LivArch) & _
" --> " & Format2(a1) & " su " & SiglaRuota(r2) & " in " & p2 & " su " & SiglaRuota(r1) & " in " & p1 & _
" -> AttR1 " & FormattaStringa(rit1(1),"000") & " AttR2 " & FormattaStringa(rit2(1),"000") & " AttMIN " & FormattaStringa(Minimo(rit1(1),rit2(1)),"000") & _
" RdL___ 000 L" & LivArch & " ***"
ColoreTesto(0)
CasoATT = CasoATT + 1
End If
End If
End If
End If
Next
Next
Next
Next ' da togliere per ruote contigue
Next
Next

Scrivi
ColoreTesto(2)
Scrivi "Casi io gioco attuali dal " & DataEstrazione(Ini) & "[" & Ini & "] al " & DataEstrazione(Fin) & "[" & Fin & "] = " & CasoATT
ColoreTesto(1)
Scrivi "Casi parziali attuali dal " & DataEstrazione(Ini) & "[" & Ini & "] al " & DataEstrazione(Fin) & "[" & Fin & "] = " & CasoParzATT
ColoreTesto(0)
Scrivi TempoTrascorso
End Sub


Versione completa (certamente meno performante in termini di tempi di ricerca) con output in Tabella Ordinabile ed esportabile.
Option Explicit
Sub Main()
' GAM - 18.08.2020 - v 2.0 con TABELLA ORDINABILE (realizzato su richiesta di @miki55 - https://lottogam.forumfree.it/?t=77817968
' Lo script scandaglia l'archivio per rilevare la presenza di un estratto Isocrono su coppia di ruote in estrazioni continue
' Se tale condizione è rilevata lo script calcola il ritardo raggiunto dall'estratto su entrambe le ruote, il Ritardo Minimo, il Ritardo di Livello, ovvero il ritardo dell'Ambata Residua
' E' possibile impostare un Ritardo Minimo di ricerca (RitMinRic) per restringere i casi in gioco.
' E' possibile impostare un Ritardo Precedente su ciascuna ruota per restringere i casi in gioco.


Dim rr1(1),rr2(1),rit1(1),rit2(1),Num(1),Min,RitMinRic
Dim Ini,Fin,LivArch,V,T
Dim es,rt,a,b,a1,b1,r1,r2,p1,p2,Caso,RitPrecR1,RitPrecR2,RitPrec_su_R1,RitPrec_su_R2

Ini = EstrazioneFin -1000
Fin = EstrazioneFin

RitMinRic = 18
RitPrecR1 = 18
RitPrecR2 = 18

T = Array(T,"id_R1","Data","R1","Estratti_R1","id_R2","Data","R2","Estratti_R2","Num","R1","Pos","R2","Pos","RitR1","RitR2","RitMin","RdL","RitPrecR1","RitPrecR2","LivArch","***")
Call InitTabella(T)

For LivArch = 0 To 0
For es = Ini To Fin - 1
If ScriptInterrotto Then Exit For
Messaggio(es & " - L" & LivArch)
AvanzamentoElab Ini,Fin,es
For r1 = 1 To 10
For r2 = r1 + 1 To 12 ' se metti apice ed elimini ciclo For (incluso il next a fine listato) togli da qui sotto, solo casi su ruote contigue
'r2= r1 + 1
If r2 = 11 Then r2 = 12
For p1 = 1 To 5
For p2 = 1 To 5
a = Estratto(es,r1,p1,LivArch)
b = Estratto(es + 1,r2,p2,LivArch)
a1 = Estratto(es + 1,r1,p1,LivArch)
b1 = Estratto(es,r2,p2,LivArch)
If a = b Then
Num(1) = a
rr1(1) = r1
rr2(1) = r2
rit1(1) = SeriePrima(es + 2,EstrazioneFin,Num,rr1,1,,,LivArch)
rit2(1) = SeriePrima(es + 2,EstrazioneFin,Num,rr2,1,,,LivArch)
RitPrec_su_R1 = SerieRitardo(es - 300,es - 1,Num,rr1,1,,,LivArch)
RitPrec_su_R2 = SerieRitardo(es - 300,es,Num,rr2,1,,,LivArch)
If es < Fin - 1 Then
If rit1(1) > 0 And rit2(1) > 0 Then
rit1(1) = rit1(1) - es - 1
rit2(1) = rit2(1) - es - 1
Min = Minimo(rit1(1),rit2(1))
If Min > RitMinRic And RitPrec_su_R1 > RitPrecR1 And RitPrec_su_R2 > RitPrecR2 Then
Caso = Caso + 1
V = Array(V,FormattaStringa(es,"0000"),DataEstrazione(es),SiglaRuota(r1),StringaEstratti(es,r1,,,LivArch),FormattaStringa(es + 1,"0000"),DataEstrazione(es + 1),SiglaRuota(r2),StringaEstratti(es + 1,r2,,,LivArch),Format2(a),SiglaRuota(r1),p1,SiglaRuota(r2),p2,FormattaStringa(rit1(1),"000") & " Sto",FormattaStringa(rit2(1),"000") & " Sto",FormattaStringa(Minimo(rit1(1),rit2(1)),"000") & " Sto",FormattaStringa(Massimo(rit1(1),rit2(1)) - Minimo(rit1(1),rit2(1)),"000") & " Sto",FormattaStringa(RitPrec_su_R1,"000"),FormattaStringa(RitPrec_su_R2,"000"),LivArch,"")
Call AddRigaTabella(V)
End If
Else
If rit1(1) > 0 And rit2(1) = 0 Then
rit1(1) = rit1(1) - es - 1
rit2(1) = EstrazioneFin - es
Min = Minimo(rit1(1),rit2(1))
If Min > RitMinRic And RitPrec_su_R1 > RitPrecR1 And RitPrec_su_R2 > RitPrecR2 Then
Caso = Caso + 1
V = Array(V,FormattaStringa(es,"0000"),DataEstrazione(es),SiglaRuota(r1),StringaEstratti(es,r1,,,LivArch),FormattaStringa(es + 1,"0000"),DataEstrazione(es + 1),SiglaRuota(r2),StringaEstratti(es + 1,r2,,,LivArch),Format2(a),SiglaRuota(r1),p1,SiglaRuota(r2),p2,FormattaStringa(rit1(1),"000") & " Sto",FormattaStringa(rit2(1),"000") & " Att",FormattaStringa(Minimo(rit1(1),rit2(1)),"000") & " Sto",FormattaStringa(Massimo(rit1(1),rit2(1)) - Minimo(rit1(1),rit2(1)),"000") & " Att",FormattaStringa(RitPrec_su_R1,"000"),FormattaStringa(RitPrec_su_R2,"000"),LivArch,"*")
Call AddRigaTabella(V)
Call SetColoreCella(21,1,5)
End If
Else
If rit1(1) = 0 And rit2(1) > 0 Then
rit2(1) = rit2(1) - es - 1
rit1(1) = EstrazioneFin - es
Min = Minimo(rit1(1),rit2(1))
If Min > RitMinRic And RitPrec_su_R1 > RitPrecR1 And RitPrec_su_R2 > RitPrecR2 Then
Caso = Caso + 1
V = Array(V,FormattaStringa(es,"0000"),DataEstrazione(es),SiglaRuota(r1),StringaEstratti(es,r1,,,LivArch),FormattaStringa(es + 1,"0000"),DataEstrazione(es + 1),SiglaRuota(r2),StringaEstratti(es + 1,r2,,,LivArch),Format2(a),SiglaRuota(r1),p1,SiglaRuota(r2),p2,FormattaStringa(rit1(1),"000") & " Att",FormattaStringa(rit2(1),"000") & " Sto",FormattaStringa(Minimo(rit1(1),rit2(1)),"000") & " Sto",FormattaStringa(Massimo(rit1(1),rit2(1)) - Minimo(rit1(1),rit2(1)),"000") & " Att",FormattaStringa(RitPrec_su_R1,"000"),FormattaStringa(RitPrec_su_R2,"000"),LivArch,"*")
Call AddRigaTabella(V)
Call SetColoreCella(21,1,5)
End If
Else
If rit1(1) = 0 And rit2(1) = 0 Then
rit2(1) = EstrazioneFin - es
rit1(1) = EstrazioneFin - es
Min = Minimo(rit1(1),rit2(1))
If Min > RitMinRic And RitPrec_su_R1 > RitPrecR1 And RitPrec_su_R2 > RitPrecR2 Then
Caso = Caso + 1
V = Array(V,FormattaStringa(es,"0000"),DataEstrazione(es),SiglaRuota(r1),StringaEstratti(es,r1,,,LivArch),FormattaStringa(es + 1,"0000"),DataEstrazione(es + 1),SiglaRuota(r2),StringaEstratti(es + 1,r2,,,LivArch),Format2(a),SiglaRuota(r1),p1,SiglaRuota(r2),p2,FormattaStringa(rit1(1),"000") & " Att",FormattaStringa(rit2(1),"000") & " Att",FormattaStringa(Minimo(rit1(1),rit2(1)),"000") & " Att","---",FormattaStringa(RitPrec_su_R1,"000"),FormattaStringa(RitPrec_su_R2,"000"),LivArch,"***")
Call AddRigaTabella(V)
Call SetColoreCella(21,2,5)
End If
End If
End If
End If
End If
Else
rit2(1) = EstrazioneFin - es
rit1(1) = EstrazioneFin - es
Min = Minimo(rit1(1),rit2(1))
If Min > RitMinRic And RitPrec_su_R1 > RitPrecR1 And RitPrec_su_R2 > RitPrecR2 Then
Caso = Caso + 1
V = Array(V,FormattaStringa(es,"0000"),DataEstrazione(es),SiglaRuota(r1),StringaEstratti(es,r1,,,LivArch),FormattaStringa(es + 1,"0000"),DataEstrazione(es + 1),SiglaRuota(r2),StringaEstratti(es + 1,r2,,,LivArch),Format2(a),SiglaRuota(r1),p1,SiglaRuota(r2),p2,FormattaStringa(rit1(1),"000") & " Att",FormattaStringa(rit2(1),"000") & " Att",FormattaStringa(Minimo(rit1(1),rit2(1)),"000") & " Att","---",FormattaStringa(RitPrec_su_R1,"000"),FormattaStringa(RitPrec_su_R2,"000"),LivArch,"***")
Call AddRigaTabella(V)
Call SetColoreCella(21,2,5)
End If
End If
Else
If a1 = b1 Then
Num(1) = a1
rr1(1) = r1
rr2(1) = r2
rit1(1) = SeriePrima(es + 2,EstrazioneFin,Num,rr1,1,,,LivArch)
rit2(1) = SeriePrima(es + 2,EstrazioneFin,Num,rr2,1,,,LivArch)
RitPrec_su_R1 = SerieRitardo(es - 300,es,Num,rr1,1,,,LivArch)
RitPrec_su_R2 = SerieRitardo(es - 300,es - 1,Num,rr2,1,,,LivArch)
If es < Fin - 1 Then
If rit1(1) > 0 And rit2(1) > 0 Then
rit1(1) = rit1(1) - es - 1
rit2(1) = rit2(1) - es - 1
Min = Minimo(rit1(1),rit2(1))
If Min > RitMinRic And RitPrec_su_R1 > RitPrecR1 And RitPrec_su_R2 > RitPrecR2 Then
Caso = Caso + 1
V = Array(V,FormattaStringa(es,"0000"),DataEstrazione(es),SiglaRuota(r2),StringaEstratti(es,r2,,,LivArch),FormattaStringa(es + 1,"0000"),DataEstrazione(es + 1),SiglaRuota(r1),StringaEstratti(es + 1,r1,,,LivArch),Format2(a1),SiglaRuota(r2),p2,SiglaRuota(r1),p1,FormattaStringa(rit1(1),"000") & " Sto",FormattaStringa(rit2(1),"000") & " Sto",FormattaStringa(Minimo(rit1(1),rit2(1)),"000") & " Sto",FormattaStringa(Massimo(rit1(1),rit2(1)) - Minimo(rit1(1),rit2(1)),"000") & " Sto",FormattaStringa(RitPrec_su_R1,"000"),FormattaStringa(RitPrec_su_R2,"000"),LivArch,"")
Call AddRigaTabella(V)
End If
Else
If rit1(1) > 0 And rit2(1) = 0 Then
rit1(1) = rit1(1) - es - 1
rit2(1) = EstrazioneFin - es
Min = Minimo(rit1(1),rit2(1))
If Min > RitMinRic And RitPrec_su_R1 > RitPrecR1 And RitPrec_su_R2 > RitPrecR2 Then
Caso = Caso + 1
V = Array(V,FormattaStringa(es,"0000"),DataEstrazione(es),SiglaRuota(r2),StringaEstratti(es,r2,,,LivArch),FormattaStringa(es + 1,"0000"),DataEstrazione(es + 1),SiglaRuota(r1),StringaEstratti(es + 1,r1,,,LivArch),Format2(a1),SiglaRuota(r2),p2,SiglaRuota(r1),p1,FormattaStringa(rit1(1),"000") & " Sto",FormattaStringa(rit2(1),"000") & " Att",FormattaStringa(Minimo(rit1(1),rit2(1)),"000") & " Sto",FormattaStringa(Massimo(rit1(1),rit2(1)) - Minimo(rit1(1),rit2(1)),"000") & " Att",FormattaStringa(RitPrec_su_R1,"000"),FormattaStringa(RitPrec_su_R2,"000"),LivArch,"*")
Call AddRigaTabella(V)
Call SetColoreCella(21,1,5)
End If
Else
If rit1(1) = 0 And rit2(1) > 0 Then
rit2(1) = rit2(1) - es - 1
rit1(1) = EstrazioneFin - es
Min = Minimo(rit1(1),rit2(1))
If Min > RitMinRic And RitPrec_su_R1 > RitPrecR1 And RitPrec_su_R2 > RitPrecR2 Then
Caso = Caso + 1
V = Array(V,FormattaStringa(es,"0000"),DataEstrazione(es),SiglaRuota(r2),StringaEstratti(es,r2,,,LivArch),FormattaStringa(es + 1,"0000"),DataEstrazione(es + 1),SiglaRuota(r1),StringaEstratti(es + 1,r1,,,LivArch),Format2(a1),SiglaRuota(r2),p2,SiglaRuota(r1),p1,FormattaStringa(rit1(1),"000") & " Att",FormattaStringa(rit2(1),"000") & " Sto",FormattaStringa(Minimo(rit1(1),rit2(1)),"000") & " Sto",FormattaStringa(Massimo(rit1(1),rit2(1)) - Minimo(rit1(1),rit2(1)),"000") & " Att",FormattaStringa(RitPrec_su_R1,"000"),FormattaStringa(RitPrec_su_R2,"000"),LivArch,"*")
Call AddRigaTabella(V)
Call SetColoreCella(21,1,5)
End If
Else
If rit1(1) = 0 And rit2(1) = 0 Then
rit2(1) = EstrazioneFin - es
rit1(1) = EstrazioneFin - es
Min = Minimo(rit1(1),rit2(1))
If Min > RitMinRic And RitPrec_su_R1 > RitPrecR1 And RitPrec_su_R2 > RitPrecR2 Then
Caso = Caso + 1
V = Array(V,FormattaStringa(es,"0000"),DataEstrazione(es),SiglaRuota(r2),StringaEstratti(es,r2,,,LivArch),FormattaStringa(es + 1,"0000"),DataEstrazione(es + 1),SiglaRuota(r1),StringaEstratti(es + 1,r1,,,LivArch),Format2(a1),SiglaRuota(r2),p2,SiglaRuota(r1),p1,FormattaStringa(rit1(1),"000") & " Att",FormattaStringa(rit2(1),"000") & " Att",FormattaStringa(Minimo(rit1(1),rit2(1)),"000") & " Att","---",FormattaStringa(RitPrec_su_R1,"000"),FormattaStringa(RitPrec_su_R2,"000"),LivArch,"***")
Call AddRigaTabella(V)
Call SetColoreCella(21,2,5)
End If
End If
End If
End If
End If
Else
rit2(1) = EstrazioneFin - es
rit1(1) = EstrazioneFin - es
Min = Minimo(rit1(1),rit2(1))
If Min > RitMinRic And RitPrec_su_R1 > RitPrecR1 And RitPrec_su_R2 > RitPrecR2 Then
Caso = Caso + 1
V = Array(V,FormattaStringa(es,"0000"),DataEstrazione(es),SiglaRuota(r2),StringaEstratti(es,r2,,,LivArch),FormattaStringa(es + 1,"0000"),DataEstrazione(es + 1),SiglaRuota(r1),StringaEstratti(es + 1,r1,,,LivArch),Format2(a1),SiglaRuota(r2),p2,SiglaRuota(r1),p1,FormattaStringa(rit1(1),"000") & " Att",FormattaStringa(rit2(1),"000") & " Att",FormattaStringa(Minimo(rit1(1),rit2(1)),"000") & " Att","---",FormattaStringa(RitPrec_su_R1,"000"),FormattaStringa(RitPrec_su_R2,"000"),LivArch,"***")
Call AddRigaTabella(V)
Call SetColoreCella(21,2,5)
End If
End If
End If
End If
Next
Next
Next
Next ' da togliere per ruote contigue
Next
Next
Call CreaTabellaOrdinabile(16,0,0,(Caso + 1),0,True,True)
Scrivi Caso
Scrivi TempoTrascorso
End Sub
 
Web  Top
view post Posted on 21/8/2020, 09:48

Junior

Group:
Member
Posts:
75
Location:
benevento

Status:


Bravo G73!!!
Ora perchè non proviamo a farlo con: 2 estratti consecutivi su singola ruota?
...ma che abbiano alle spalle min 2 ritardi superiori alle 18 (o che si possa gestire...)
è possibile?

Ecco un esempio attuale sulla ruota sarda....
2020-08-21-125503

Edited by miki55@ - 21/8/2020, 12:59
 
Top
view post Posted on 9/6/2022, 18:12

Curioso

Group:
Member
Posts:
21

Status:


CIAO GAM.
E' POSSIBILE AVERE QUESTI SCRIPT SVILUPPARLI CON L8
VISTO CHE SPAZIOMETRIA NON MI FUNZIONA PIù.
PUOI FARMI QUESTA CORTESIA?
 
Top
view post Posted on 14/6/2022, 06:48
Avatar

Top Member

Group:
Administrator
Posts:
1,719

Status:


Ciao dmiki55@,
purtroppo non ho più L8 installato, quindi non saprei come poterti aiutare.
come mai Spaziometria non ti funziona più? Magari puoi trovare aiuto per ripristinare il suo corretto funzionamento.
Saluti
 
Web  Top
view post Posted on 14/6/2022, 07:15

Curioso

Group:
Member
Posts:
21

Status:


Mi continuamente errore 429 ecc. ecc...
Vuoi proverci te a ripristinarlo?
 
Top
7 replies since 3/8/2020, 18:25   223 views
  Share