Sub Main()
Dim mm(1)
Dim nam(90,8),nn(1),ruota(1),nt(90,8),n3(90,8),n4(90,8),n5(90,8)
nru1 = CInt(InputBox("Ruota Scelta : ","RUOTA",8))
ne = InputBox("Numero estrazioni:","ESTRAZIONI",120)
ncg = CInt(InputBox("Numero colpi di gioco","COLPI di GIOCO",14))
nStart = Timer ' partenza tempo di elaborazione
ruota(1) = nru1
For x = 1 To 90
For y = 1 To 8
nam(x,y) = 0
nt(x,y) = 0
n3(x,y) = 0
n4(x,y) = 0
n5(x,y) = 0
Next
Next
p = 1
p2 = 2
p3 = 3
p4 = 4
p5 = 5
casi = 0
ini = EstrazioneFin - ne
fin = EstrazioneFin
For es = ini To fin
If IndiceMensile(es) = 1 Then '<<<--indicato l'indice mensile
colpo = fin - es
Messaggio "Elaborazione estrazioni... " &(es) & " ---> script by Mike58"
Call(AvanzamentoElab(Ini,fin,es))
casi = casi + 1
'la riga sotto per controllare le estrazioni se non si vuole mettere apice davanti
Scrivi Format2(casi) & ") " & DataEstrazione(es) & " [" & es & "] " & SiglaRuota(nru1) & " " & StringaEstratti(es,nru1)
co = 0
For nu = 1 To 90
co = co + 1
a = Estratto(es,nru1,p)
aa = Estratto(es,nru1,p2)
a3 = Estratto(es,nru1,p3)
b = Fuori90(a + nu)
bb = Fuori90(aa + nu)
b3 = Fuori90(a3 + nu)
a4 = Estratto(es,nru1,p4)
a5 = Estratto(es,nru1,p5)
b4 = Fuori90(a4 + nu)
b5 = Fuori90(a5 + nu)
nam(co,1) = co
nt(co,1) = co
n3(co,1) = co
n4(co,1) = co
n5(co,1) = co
nam(co,2) = nru1
nt(co,2) = nru1
n3(co,2) = nru1
n4(co,2) = nru1
n5(co,2) = nru1
nam(co,3) = p
nt(co,3) = p2
n3(co,3) = p3
n4(co,3) = p4
n5(co,3) = p5
nam(co,4) = nu
nt(co,4) = nu
n3(co,4) = nu
n4(co,4) = nu
n5(co,4) = nu
nam(co,6) = b
nt(co,6) = bb
n3(co,6) = b3
n4(co,6) = b4
n5(co,6) = b5
nam(co,7) = 0
nt(co,7) = 0
n3(co,7) = 0
n4(co,7) = 0
n5(co,7) = 0
esncg = es + ncg
If esncg > EstrazioneFin Then esncg = EstrazioneFin End If
For ess = es + 1 To esncg
For pp = 1 To 5
e = Estratto(ess,nru1,pp)
If e = b Then
nam(co,5) = nam(co,5) + 1
nn(1) = nam(co,6)
nam(co,7) = SerieFreq(es + 1,ess,nn,ruota,1)
End If
If e = bb Then
nt(co,5) = nt(co,5) + 1
nn(1) = nt(co,6)
nt(co,7) = SerieFreq(es + 1,ess,nn,ruota,1)
End If
If e = b3 Then
n3(co,5) = n3(co,5) + 1
nn(1) = n3(co,6)
n3(co,7) = SerieFreq(es + 1,ess,nn,ruota,1)
End If
If e = b4 Then
n4(co,5) = n4(co,5) + 1
nn(1) = n4(co,6)
n4(co,7) = SerieFreq(es + 1,ess,nn,ruota,1)
End If
If e = b5 Then
n5(co,5) = n5(co,5) + 1
nn(1) = n5(co,6)
n5(co,7) = SerieFreq(es + 1,ess,nn,ruota,1)
End If
Next
For rr = 1 To 10
For q = 1 To 5
ee = Estratto(ess,rr,q)
If ee = b Then
nam(co,8) = nam(co,8) + 1
End If
If ee = bb Then
nt(co,8) = nt(co,8) + 1
End If
If ee = b3 Then
n3(co,8) = n3(co,8) + 1
End If
If ee = b4 Then
n4(co,8) = n4(co,8) + 1
End If
If ee = b5 Then
n5(co,8) = n5(co,8) + 1
End If
Next
Next
Next
Next
End If
Next
ColoreTesto 1
Scrivi "ANALISI Dal " & DataEstrazione(ini) & " al " & DataEstrazione(fin),1
Scrivi
Scrivi "RUOTE DI GIOCO : " & NomeRuota(nru1),1
Scrivi "COLPI DI GIOCO : " & ncg,1
Scrivi "CASI ANALIZZATI : " & casi,1
ColoreTesto 2
Scrivi"N° colpo in corso ---> " & colpo,1
ColoreTesto 0
Scrivi""
Scrivi "Ultima estrazione numeri estratti " & NomeRuota(nru1) & " - " & StringaEstratti(EstrazioneFin,nru1)
Scrivi""
Scrivi " ATTENZIONE ANALISI DELLA POSIZIONE. " & p & " ",1,0,3
Scrivi " Colpo n°. " & colpo & " ",1,- 1,6
Scrivi
ColoreTesto 0
OrdinaMatrice nam,- 1,5
For ca = 1 To 10
mm(1) = nam(ca,6)
ratt = SerieRitardo(fin - 250,fin,mm,ruota,1)
freqq = SerieFreq(fin - ne,fin,mm,ruota,1)
esito = colpo - ratt
If nam(ca,7) = 0 Then
ColoreTesto 2
Scrivi eval(nam(ca,3)) & "°" & Left(NomeRuota(eval(nam(ca,2))),2) & " + " & _
Format2(nam(ca,4)) & " su " & NomeRuota(nru1) & _
" è uscito " & FormatSpace(nam(ca,5),3) & " su " & FormatSpace(casi,3) & " casi - " & _
" Num. [" & Format2(eval(nam(ca,6))) & "] Ultimo Calcolato Rit.Att. " & Format2(ratt) & " ... in corso ..." & " freq..." & freqq
Else
ColoreTesto 0
If nam(ca,7) > 0 Then
Scrivi eval(nam(ca,3)) & "°" & Left(NomeRuota(eval(nam(ca,2))),2) & " + " & _
Format2(nam(ca,4)) & " su " & NomeRuota(nru1) & _
" è uscito " & FormatSpace(nam(ca,5),3) & " su " & FormatSpace(casi,3) & " casi - " & _
" Num. [" & Format2(eval(nam(ca,6))) & "] Ultimo Calcolato Rit.Att. " & Format2(ratt) & " ... SFALDATO ..." & " freq..." & Format2(freqq),0,0
Scrivi " - Esito al colpo... " & esito
'cc = 0
cc = cc + 1
End If
End If
Next
ColoreTesto 0
Scrivi String(115,"="),0,0
ColoreTesto 1
Scrivi "----- Sfaldati...." & cc,1
ColoreTesto 0
OrdinaMatrice nam,- 1,8
For ca = 1 To 5
Scrivi eval(nam(ca,3)) & "°" & Left(NomeRuota(eval(nam(ca,2))),2) & " + " & _
Format2(nam(ca,4)) & " su " & NomeRuota(11) & _
" è uscito " & FormatSpace(nam(ca,8),3) & " in " & FormatSpace(casi,3) & " casi - ESTRATTI TOTALI: " & _
FormatSpace(nam(ca,8),3) & " Num. [" & Format2(eval(nam(ca,6))) & "] Ultimo Calcolato"
Next
Scrivi
ColoreTesto 1
Scrivi " ATTENZIONE ANALISI DELLA POSIZIONE. " & p2 & " ",1,0,3
Scrivi " Colpo n°. " & colpo & " ",1,- 1,6
Scrivi
ColoreTesto 0
OrdinaMatrice nt,- 1,5
For ca = 1 To 10
mm(1) = nt(ca,6)
ratt = SerieRitardo(fin - 250,fin,mm,ruota,1)
freqq = SerieFreq(fin - ne,fin,mm,ruota,1)
esito = colpo - ratt
If nt(ca,7) = 0 Then
ColoreTesto 2
Scrivi eval(nt(ca,3)) & "°" & Left(NomeRuota(eval(nt(ca,2))),2) & " + " & _
Format2(nt(ca,4)) & " su " & NomeRuota(nru1) & _
" è uscito " & FormatSpace(nt(ca,5),3) & " su " & FormatSpace(casi,3) & " casi - " & _
" Num. [" & Format2(eval(nt(ca,6))) & "] Ultimo Calcolato; Rit.Att. " & Format2(ratt) & " ... in corso ..." & " freq..." & freqq
Else
ColoreTesto 0
If nt(ca,7) > 0 Then
Scrivi eval(nt(ca,3)) & "°" & Left(NomeRuota(eval(nt(ca,2))),2) & " + " & _
Format2(nt(ca,4)) & " su " & NomeRuota(nru1) & _
" è uscito " & FormatSpace(nt(ca,5),3) & " su " & FormatSpace(casi,3) & " casi - " & _
" Num. [" & Format2(eval(nt(ca,6))) & "] Ultimo Calcolato Rit.Att. " & Format2(ratt) & " ... SFALDATO ..." & " freq..." & Format2(freqq),0,0
Scrivi " - Esito al colpo... " & esito
dd = dd + 1
End If
End If
Next
ColoreTesto 0
Scrivi String(115,"="),0,0
ColoreTesto 1
Scrivi "----- Sfaldati...." & dd,1
ColoreTesto 0
OrdinaMatrice nt,- 1,8
For ca = 1 To 5
Scrivi eval(nt(ca,3)) & "°" & Left(NomeRuota(eval(nt(ca,2))),2) & " + " & _
Format2(nt(ca,4)) & " su " & NomeRuota(11) & _
" è uscito " & FormatSpace(nt(ca,8),3) & " in " & FormatSpace(casi,3) & " casi - ESTRATTI TOTALI: " & _
FormatSpace(nt(ca,8),3) & " Num. [" & Format2(eval(nt(ca,6))) & "] Ultimo Calcolato"
Next
ColoreTesto 0
Scrivi
ColoreTesto 1
Scrivi " ATTENZIONE ANALISI DELLA POSIZIONE. " & p3 & " ",1,0,3
Scrivi " Colpo n°. " & colpo & " ",1,- 1,6
Scrivi
ColoreTesto 0
OrdinaMatrice n3,- 1,5
For ca = 1 To 10
mm(1) = n3(ca,6)
ratt = SerieRitardo(fin - 250,fin,mm,ruota,1)
freqq = SerieFreq(fin - ne,fin,mm,ruota,1)
esito = colpo - ratt
If n3(ca,7) = 0 Then
ColoreTesto 2
Scrivi eval(n3(ca,3)) & "°" & Left(NomeRuota(eval(n3(ca,2))),2) & " + " & _
Format2(n3(ca,4)) & " su " & NomeRuota(nru1) & _
" è uscito " & FormatSpace(n3(ca,5),3) & " su " & FormatSpace(casi,3) & " casi - " & _
" Num. [" & Format2(eval(n3(ca,6))) & "] Ultimo Calcolato Rit.Att. " & Format2(ratt) & " ... in corso ..." & " freq..." & freqq
Else
ColoreTesto 0
If n3(ca,7) > 0 Then
Scrivi eval(n3(ca,3)) & "°" & Left(NomeRuota(eval(n3(ca,2))),2) & " + " & _
Format2(n3(ca,4)) & " su " & NomeRuota(nru1) & _
" è uscito " & FormatSpace(n3(ca,5),3) & " su " & FormatSpace(casi,3) & " casi - " & _
" Num. [" & Format2(eval(n3(ca,6))) & "] Ultimo Calcolato Rit.Att. " & Format2(ratt) & " ... SFALDATO ..." & " freq..." & Format2(freqq),0,0
Scrivi " - Esito al colpo... " & esito
hh = hh + 1
End If
End If
Next
ColoreTesto 0
Scrivi String(115,"="),0,0
ColoreTesto 1
Scrivi "----- Sfaldati...." & hh,1
ColoreTesto 0
OrdinaMatrice n3,- 1,8
For ca = 1 To 5
Scrivi eval(n3(ca,3)) & "°" & Left(NomeRuota(eval(n3(ca,2))),2) & " + " & _
Format2(n3(ca,4)) & " su " & NomeRuota(11) & _
" è uscito " & FormatSpace(n3(ca,8),3) & " in " & FormatSpace(casi,3) & " casi - ESTRATTI TOTALI: " & _
FormatSpace(n3(ca,8),3) & " Num. [" & Format2(eval(n3(ca,6))) & "] Ultimo Calcolato"
Next
Scrivi
ColoreTesto 1
Scrivi " ATTENZIONE ANALISI DELLA POSIZIONE. " & p4 & " ",1,0,3
Scrivi " Colpo n°. " & colpo & " ",1,- 1,6
Scrivi
ColoreTesto 0
OrdinaMatrice n4,- 1,5
For ca = 1 To 10
mm(1) = n4(ca,6)
ratt = SerieRitardo(fin - 250,fin,mm,ruota,1)
freqq = SerieFreq(fin - ne,fin,mm,ruota,1)
esito = colpo - ratt
If n4(ca,7) = 0 Then
ColoreTesto 2
Scrivi eval(n4(ca,3)) & "°" & Left(NomeRuota(eval(n4(ca,2))),2) & " + " & _
Format2(n4(ca,4)) & " su " & NomeRuota(nru1) & _
" è uscito " & FormatSpace(n4(ca,5),3) & " su " & FormatSpace(casi,3) & " casi - " & _
" Num. [" & Format2(eval(n4(ca,6))) & "] Ultimo Calcolato Rit.Att. " & Format2(ratt) & " ... in corso ..." & " freq..." & freqq
Else
ColoreTesto 0
If n4(ca,7) > 0 Then
Scrivi eval(n4(ca,3)) & "°" & Left(NomeRuota(eval(n4(ca,2))),2) & " + " & _
Format2(n4(ca,4)) & " su " & NomeRuota(nru1) & _
" è uscito " & FormatSpace(n4(ca,5),3) & " su " & FormatSpace(casi,3) & " casi - " & _
" Num. [" & Format2(eval(n4(ca,6))) & "] Ultimo Calcolato Rit.Att. " & Format2(ratt) & " ... SFALDATO ..." & " freq..." & Format2(freqq),0,0
Scrivi " - Esito al colpo... " & esito
ff = ff + 1
End If
End If
Next
ColoreTesto 0
Scrivi String(115,"="),0,0
ColoreTesto 1
Scrivi "----- Sfaldati...." & ff,1
ColoreTesto 0
OrdinaMatrice n4,- 1,8
For ca = 1 To 5
Scrivi eval(n4(ca,3)) & "°" & Left(NomeRuota(eval(n4(ca,2))),2) & " + " & _
Format2(n4(ca,4)) & " su " & NomeRuota(11) & _
" è uscito " & FormatSpace(n4(ca,8),3) & " in " & FormatSpace(casi,3) & " casi - ESTRATTI TOTALI: " & _
FormatSpace(n4(ca,8),3) & " Num. [" & Format2(eval(n4(ca,6))) & "] Ultimo Calcolato"
Next
Scrivi
ColoreTesto 1
Scrivi " ATTENZIONE ANALISI DELLA POSIZIONE. " & p5 & " ",1,0,3
Scrivi " Colpo n°. " & colpo & " ",1,- 1,6
Scrivi
ColoreTesto 0
OrdinaMatrice n5,- 1,5
For ca = 1 To 10
mm(1) = n5(ca,6)
ratt = SerieRitardo(fin - 250,fin,mm,ruota,1)
freqq = SerieFreq(fin - ne,fin,mm,ruota,1)
esito = colpo - ratt
If n5(ca,7) = 0 Then
ColoreTesto 2
Scrivi eval(n5(ca,3)) & "°" & Left(NomeRuota(eval(n5(ca,2))),2) & " + " & _
Format2(n5(ca,4)) & " su " & NomeRuota(nru1) & _
" è uscito " & FormatSpace(n5(ca,5),3) & " su " & FormatSpace(casi,3) & " casi - " & _
" Num. [" & Format2(eval(n5(ca,6))) & "] Ultimo Calcolato Rit.Att. " & Format2(ratt) & " ... in corso ..." & " freq..." & freqq
Else
ColoreTesto 0
If n5(ca,7) > 0 Then
Scrivi eval(n5(ca,3)) & "°" & Left(NomeRuota(eval(n5(ca,2))),2) & " + " & _
Format2(n5(ca,4)) & " su " & NomeRuota(nru1) & _
" è uscito " & FormatSpace(n5(ca,5),3) & " su " & FormatSpace(casi,3) & " casi - " & _
" Num. [" & Format2(eval(n5(ca,6))) & "] Ultimo Calcolato Rit.Att. " & Format2(ratt) & " ... SFALDATO ..." & " freq..." & Format2(freqq),0,0
Scrivi " - Esito al colpo... " & esito
gg = gg + 1
End If
End If
Next
ColoreTesto 0
Scrivi String(115,"="),0,0
ColoreTesto 1
Scrivi "----- Sfaldati...." & gg,1
ColoreTesto 0
OrdinaMatrice n5,- 1,8
For ca = 1 To 5
Scrivi eval(n5(ca,3)) & "°" & Left(NomeRuota(eval(n5(ca,2))),2) & " + " & _
Format2(n5(ca,4)) & " su " & NomeRuota(11) & _
" è uscito " & FormatSpace(n5(ca,8),3) & " in " & FormatSpace(casi,3) & " casi - ESTRATTI TOTALI: " & _
FormatSpace(n5(ca,8),3) & " Num. [" & Format2(eval(n5(ca,6))) & "] Ultimo Calcolato"
Next
Scrivi""
Scrivi String(115,"="),1
Scrivi " Listato da Ramco e modificato da Mike58 ",1,- 1,6
nEnd = Timer ' fine tempo di elaborazione
Call Scrivi("Tempo di elaborazione : " & FormattaSecondi((nend + 1) - nstart))
End Sub
Function FormattaSecondi(s)
'Questa Function trasforma il numero di secondi passato come parametro in una stringa
' passando i secondi si ottengono ore minuti e secondi in formato hh:mm:ss
' s ---> Numero di secondi da formattare
' ritorna una stringa il cui formato è hh:mm:ss (la function non funziona se in totale abbiamo piu di 99 ore )
Dim hh
Dim Mm
Dim Ss
Dim TimeStr
hh = s \ 3600
Mm =(s Mod 3600) \ 60
Ss = s -((hh * 3600) +(Mm * 60))
TimeStr = Format2(hh) & ":" & Format2(Mm) & ":" & Format2(Ss)
FormattaSecondi = TimeStr
End Function