VEDI SE TI PARTE CON QUESTO ......
Option Explicit
Dim ColoreFixedCol
Dim ForeColorFixedCol
Dim ColoreColSomma
Sub Main
Dim idEstr,Inizio,Fine
ReDim aT(13)
ReDim aFont(13)
ReDim aColori(13)
ReDim aForeColor(13)
ReDim aClrEvid(3)
Call Init(aT,aFont,aColori,aForeColor,aClrEvid)
Inizio = EstrazioneIni
Fine = EstrazioneFin
For idEstr = Inizio To Fine
Call EseguiStat(idEstr,aT,aFont,aColori,aForeColor,aClrEvid)
Call AvanzamentoElab(Inizio,Fine,idEstr)
If ScriptInterrotto Then Exit For
Next
End Sub
Sub Init(aT,aFont,aColori,aForeColor,aClrEvid)
Dim k,i,r
ColoreFixedCol = RGB(143,143,143)
ForeColorFixedCol = vbWhite
ColoreColSomma = RGB(192,192,192)
For k = 1 To 13
aFont(k) = "Lucida console"
aColori(k) = vbCyan
aForeColor(k) = vbBlack
Next
aFont(1) = "Courier new"
aColori(1) = ColoreFixedCol
aColori(2) = ColoreColSomma
aForeColor(1) = ForeColorFixedCol
aT(1) = "Ruota"
aT(2) = "Somma"
i = 2
For r = 3 To 14
If r - 2 <> 11 Then
i = i + 1
aT(i) = " " & SiglaRuota(r - 2) & " "
End If
Next
aClrEvid(1) = vbRed
aClrEvid(2) = RGB(255,128,0)
aClrEvid(3) = vbYellow
End Sub
Sub EseguiStat(idEstr,aT,aFont,aColori,aForeColor,aClrEvid)
Dim r,s,i,k,idRit
ReDim aV(13)
ReDim aRitPerRuota(121,3)
idRit = 0
Call InitTabella(aT,ColoreFixedCol,,,ForeColorFixedCol,"Courier new")
For r = 1 To 12
If r <> 11 Then
s = Fuori90(SommaEstratti(idEstr,r))
i = 2
aV(1) = NomeRuota(r)
aV(2) = s
For k = 1 To 12
If k <> 11 Then
i = i + 1
aV(i) = RitardoEstratto(s,idEstr,k)
idRit = idRit + 1
aRitPerRuota(idRit,1) = s ' il numero cioe la somma estratti
aRitPerRuota(idRit,2) = aV(i) ' il suo ritardo
aRitPerRuota(idRit,3) = k ' la ruota dove è stato calc il rit
End If
Next
Call ModificaColori(aV,aColori,aClrEvid)
Call AddRigaTabella(aV,aColori,,,aForeColor,aFont)
End If
Next
Call Scrivi(String(100,"_"))
Call Scrivi(GetInfoEstrazione(idEstr) & " -- Ritardo somme sulle ruote")
Call Scrivi(String(100,"_"))
Call Scrivi
Call CreaTabella
ReDim aTT(3)
aTT(1) = "Somma"
aTT(2) = "Ruota"
aTT(3) = "Ritardo"
Call InitTabella(aTT,ColoreFixedCol,,,ForeColorFixedCol,"Lucida console")
Call OrdinaMatrice(aRitPerRuota,- 1,2)
For k = 1 To 5
'Call Scrivi("Somma : " & FormatSpace(aRitPerRuota(k,1),4,True) & " Rit " & FormatSpace(aRitPerRuota(k,2),5,True) & " Ruota " & SiglaRuota(aRitPerRuota(k,3)))
aTT(1) = aRitPerRuota(k,1)
aTT(2) = SiglaRuota(aRitPerRuota(k,3))
aTT(3) = aRitPerRuota(k,2)
Call AddRigaTabella(aTT,vbCyan,,,,"Lucida console")
Next
Call Scrivi("Primi 5 più in ritardo")
Call CreaTabella
End Sub
Sub ModificaColori(aT,aColori,aClrEvid)
Dim k,j
ReDim aRit(11)
For k = 3 To 13
aRit(k - 2) = aT(k)
Next
Call OrdinaMatrice(aRit,- 1)
For k = 3 To 13
aColori(k) = vbCyan
Next
For k = 1 To UBound(aClrEvid)
For j = 3 To 13
If aT(j) = aRit(k) Then
aColori(j) = aClrEvid(k)
End If
Next
Next
End Sub