Option Explicit
Sub Main
Dim rie(90,15),ar(1),an(1)
Dim n,fine,r,e,t,ix,v,det,iy,w,z,Ini,vv,zz,we,key1,key2,ele,y,iz,aretritardi,aretidestr,limusc,nusc,Totrit
r = CInt(InputBox("Ruota",,1))
fine = InputBox("Estrazione n.",,EstrazioneFin)
det = InputBox("Dettaglio Graduatorie",,"NO")
''''''crea tabella combinazione con doppia sincronia e sincro-isocronia
Dim atitolo(17),aris(17)
'''''''''''''''''''''''''''''''''''''''''''''''''e x p o r t e x c e l ''''''''''''''''''''''''''''''''''''''''''''''
'''''' tabella in output è possibile esportarla in excel cliccando l'icona del programma FOGLIO ELETTRONICO
'''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''
atitolo(1) = " ID "
atitolo(2) = " Ruota "
atitolo(3) = " Nr. "
atitolo(4) = " RaE "
atitolo(5) = " Gr.1 "
atitolo(6) = " Fre "
atitolo(7) = " Gr.2 "
atitolo(8) = " IdR+IdF "
atitolo(9) = " "
atitolo(10) = " Tot.10Rit"
atitolo(11) = " key1 "
atitolo(12) = " key2 "
atitolo(13) = " key3 "
SetTableWidth("85%px")
Call InitTabella(atitolo,2,"left",1.5,5,"Cambria")
'''''''''''''''''''''''''''''''''''''''''''''''''' ''''''''''''''''''''''''''''''''''''''
''''''''''ritardo''''
For n = 1 To 90
iy = iy + 1
rie(iy,2) = Format2(n)
rie(iy,3) = Int(EstrattoRitardoTurbo(r,n,EstrazioneIni,fine))
rie(iy,4) = Int(EstrattoFrequenzaTurbo(r,n,EstrazioneIni,fine))
rie(iy,5) = 0
rie(iy,6) = 0
rie(iy,7) = 0
rie(iy,8) = 0
rie(iy,9) = 0
key1 = FormattaStringa(rie(iy,3),"000") & FormattaStringa(rie(iy,4),"000")
key2 = FormattaStringa(rie(iy,4),"000") & FormattaStringa(rie(iy,3),"000")
rie(iy,13) = key1
rie(iy,14) = key2
rie(iy,15) = 0
Next
''''graduatoria ritardo
Call OrdinaMatrice(rie,- 1,3)
we = 0
If det <> "NO" Then
Scrivi " Ruota di ...." & NomeRuota(r),1
Scrivi " E L E N C O X R I T A R D O ",1
Scrivi "ID Nr Rit Fre ",1
End If
For e = 1 To 90
If rie(e,2) > 0 Then
we = we + 1
rie(e,5) = we
rie(e,6) = 0
rie(e,7) = 0
rie(iy,8) = 0
If det <> "NO" Then Scrivi Format2(we) & "....." & rie(e,2) & "..." & FormattaStringa(rie(e,3),"000") & "..." & rie(e,4) & "....G1.." & rie(e,5)
End If
Next
''''graduatoria frequenza
Call OrdinaMatrice(rie,1,4)
we = 0
If det <> "NO" Then
Scrivi " Ruota di ...." & NomeRuota(r),1
Scrivi " E L E N C O X f r e q u e n z a ",1
Scrivi "ID Nr Rit Fre ",1
End If
For e = 1 To 90
If rie(e,2) <> "" Then
If rie(e,4) > 0 Then
we = we + 1
rie(e,7) = we
rie(e,8) = FormattaStringa(rie(e,7) + rie(e,5),"0000")
If det <> "NO" Then Scrivi Format2(we) & "....." & rie(e,2) & "..." & FormattaStringa(rie(e,3),"000") & "..." & rie(e,4) & "....G2..." & rie(e,7)
End If
End If
Next
' ''''' graduatoria di somma
ColoreTesto(1)
Scrivi " Graduatoria Per Somma Pos.Ritardo e Frequenza....all'estrazione n." & fine & "/" & DataEstrazione(fine),1
Scrivi " Ruota di " & NomeRuota(r),1
ColoreTesto(0)
Call OrdinaMatrice(rie,1,8)
For t = 1 To 90
'''''''''''''''''''''''''''''''''''''''''''''''
v = v + 1
If det <> "NO" Then Scrivi "Grad.pos.." & FormattaStringa(v,"000") & " comb.Nr.." & rie(t,2) & " Rae..." & FormattaStringa(rie(t,3),"000") & " Freq..." & FormattaStringa(rie(t,4),"0000") & " Somma.." & FormattaStringa(rie(t,8),"0000") & " = " & Format2(rie(t,5)) & " // " & Format2(rie(t,7))
'''''''''''''''''scrivi tabella'''''''''''''''''''''''''''''''''''''''''
aris(1) = FormattaStringa(v,"00")
aris(2) = SiglaRuota(r)
aris(3) = rie(t,2)
aris(4) = rie(t,3)
aris(5) = rie(t,5)
aris(6) = rie(t,4)
aris(7) = rie(t,7)
aris(8) = rie(t,8)
aris(9) = rie(t,15)
aris(11) = rie(t,13)
aris(12) = rie(t,14)
aris(13) = FormattaStringa(rie(t,7),"0000") & "//" & rie(t,14)
'''''''''''''''''''''''''''''''''''''''''''''''''' ''''''''''''''''''''''''''''''''
'''calcolo totale ritardo ult.10 ritardi (9PREC+ATTUALE)
an(1) = rie(t,2) : ar(1) = r
Call ElencoRitardiTurbo(an,ar,1,EstrazioneIni,fine,aretritardi,aretidestr)
limusc = UBound(aretritardi)
If limusc > 0 And limusc > 10 Then
nusc = limusc - 10 : Totrit = 0
For nusc = nusc + 1 To limusc - 1
Totrit = Totrit + aretritardi(nusc)
Next
aris(10) = Totrit + rie(t,3)
Else
aris(10) = 0
End If
'''''''''''''''''''''''''''''''''''''''''''''''''' ''''''''''''''''''''''''''''''''
Call AddRigaTabella(aris,,,1)
Call SetColoreCella(3,RGB(155,255,155),vbBlack)
Call SetColoreCella(8,RGB(255,255,202),vbBlack)
Next
''''''''''''''''''''''''''''''''''''''''' g r a d u a t o r i e i 7 migliori
ColoreTesto(2)
''''''''''''''calcola 7 migliori
'''''idr+idf
ele = ""
Call OrdinaMatrice(rie,- 1,8)
For z = 1 To 7
ele = ele & Format2(rie(z,2)) & "."
Next
Scrivi "-7 Migliori IdR+IdF...Capogioco....." & ele
'''''Ritardo
ele = ""
Call OrdinaMatrice(rie,- 1,3)
For z = 1 To 7
ele = ele & Format2(rie(z,2)) & "."
Next
Scrivi "-7 Più in Ritardo..................." & ele
'''''Frequenti
ele = ""
Call OrdinaMatrice(rie,1,4)
For z = 1 To 7
ele = ele & Format2(rie(z,2)) & "."
Next
Scrivi "-7 Sotto Frequenti ................." & ele
'''''SottoFrequenti
ele = ""
Call OrdinaMatrice(rie,- 1,4)
For z = 1 To 7
ele = ele & Format2(rie(z,2)) & "."
Next
Scrivi "-7 Più Frequenti ................." & ele
ColoreTesto(0)
'''''''''''''''''radicali
ReDim nm(32,2)
iz = 0
For z = 1 To 90
For y = 1 To 8
If Radicale(Int(rie(z,2))) = y Then
iz = iz + 1
nm(iz,1) = rie(z,2)
nm(iz,2) = rie(z,3)
End If
Next
Next
ele = ""
Call OrdinaMatrice(nm,- 1,2)
For z = 1 To 7
ele = ele & Format2(nm(z,1)) & "."
Next
Scrivi "-7 Radicali più in Ritardo.........." & ele
'''''''''''''''''Gemelli
ReDim nm(90,2)
iz = 0
For z = 1 To 90
If Gemello(rie(z,2)) = True Then
iz = iz + 1
nm(iz,1) = rie(z,2)
nm(iz,2) = rie(z,3)
End If
Next
ele = ""
Call OrdinaMatrice(nm,- 1,2)
For z = 1 To 7
ele = ele & Format2(nm(z,1)) & "."
Next
Scrivi "-7 Gemelli più in Ritardo..........." & ele
Call CreaTabellaOrdinabile(8,1,1)
End Sub