Buongiorno Cinzia27 grazie per i complimenti e complimenti a te per i tuoi studi, cerco di seguirti e noto con notevole ottimismo la tua ricerca e perseveranza verso di questi e l' apertura che hai verso gli studi di altri forumisti.
Ti copio quanto scritto nel novembre 2020 in questo post che puoi leggere:
Buongiorno, chiedo se è possibile fare uno script o inserire in spaziometria i tabelloni analitici comparati.
Qual è il numero terminatore? è il numero che sgretola la sua colonna determinata, composta da tutti numeri diversi.
se osservi le figure in excel noterai che, sempre a livello 0, quindi con l'ultima estrazione, ci sono alcuni numeri che sono su fondo celeste, in alto sopra ad un certo numero di colonne determinate. Per l'estrazione del 22 ottobre te le ho già scritte.
Nel tabellone analitico che va posto in comparazione con il classico tabellone analitico ci vanno questi numeri a quella data e nella stessa posizione determinata.
Sgretolare significa anche ridurre la colonna determinata, perchè è uscito un numero contenuto nella stessa colonna determinata, che, per DEFINIZIONE: contiene solo numeri tutti diversi. Logico che, se esce un numero contenuto in essa la colonna si sgretola o si riduce(se piace di più),se non esce, la colonna determinata continua il suo "allungamento" fino a che uscirà un numero terminatore.
I numeri terminatori costituiranno un nuovo tabellone analitico che va messo a fianco, a confronto, con quello analitico classico, ruota per ruota e ti accorgerai che, nel confronto tra i due tab, il sincronismo, su una ruota, cadrà quando usciranno i numeri anche se non sono terminatori.
I terminatori infatti presentano ritardi anche notevoli, ma a me interessano solo quelli che mantengono il sincronismo nella stessa ruota. Poi si potrà vedere anche l'isocronismo tra tutte le 11 ruote.
Numeri terminatori del 24/10/2020(vedi la figura sopra)
Ba3ED:77
Mi3Ed:57
Mi4Ed:36
Pa3Ed:65
Pa4Ed:54
Ro4Ed:84
Come vedi i numeri terminatori variano ( in quantità) ad ogni estrazione. Basterà sistemarli al loro posto determinato per creare questo nuovo tabellone analitico, che dovrà comunque contenere 90 numeri. Lo affiancherai al tabellone analitico classico e vedrai che solo alcuni numeri " reggeranno il sincronismo" su ruota (che sono poi quelli che compongono le lunghette). Questo è il nuovo parametro che, secondo me, va considerato.
Molto interessante è lo studio sui sincronismo e isocronismi a TUTTE (da cui ho tratto la previsione con il 4 di Venezia), quando se ne presentano i ritardi opportuni per affrontare un gioco sulle convergenze.
Ti copio lo script, per me eccezionale, di Claudio8 bravissimo, che potrebbe essere implementato,se possibile) con i ritardi (o altri parametri) su ruota e a TT sia per i terminatori che escono che per i terminatori che entrano (Quota 0).
Option Explicit
Sub Main()
Dim Ru,coRu,co,x,y,z,W,cc,lu,coW,numTer,col,coT,insRP1,a,b,Tab_Ana,Coe,retPos,pos
Dim lunghetta(12,990)
Dim numLung(12,90)
Dim posLung(12,90)
Dim clpLung(12,90)
Dim aruote(2)
Dim aPos(1)
ReDim aNum(0)
ReDim aRit(0)
aruote(1) = 11
aruote(2) = 12
Dim esR,ini,fin,p,es,esc,rit,num,RuElab,esAn
Call PiuRitardatari(EstrazioneFin,aruote,aNum,,aRit)
Tab_Ana = CInt(InputBox(" Scrivo tabellone analitico delle singole ruote? " & Chr(13) & Chr(13) & " Scrivo = 1; NON scrivo = 0 o altro"," TABELLONE ANALITICO RUOTE ",0))
Coe = CInt(InputBox(" Scrivo i coestratti dei Terminatori?" & Chr(13) & Chr(13) & " Scrivo = 1; NON scrivo = 0 o altro ","TABELLONE TERMINATORI ",1))
esAn = aRit(1) 'CInt(InputBox(" Quantità estrazioni in analisi " & Chr(13) & Chr(13) & " Attuale Massimo Ritardo su TT e NZ","ESTRAZIONI In ANALISI",aRit(1)))
esc = 40'InputBox("Quante estrazioni di controllo Isotopia ","ESTRAZIONI di ISOTOPIA",50)
coRu =(Ru - 1)*5
ReDim ArchivioTerm(esAn + 1,60)
Scrivi " Tabellone Analitico Classico e Tabellone TERMINATORI di Micro - Script by Claudio8 - isotopia " & esc & " max rit. " & aRit(1) & " data elaborazione " & DataEstrazione(EstrazioneFin),1,,3,2,1
Scrivi " Data N°estr Rit ",1,False,6,,1
For Ru = 1 To 11
ArchivioTerm(0,(Ru - 1)*5 + 5) = SiglaRuota(Ru)
If Ru = 11 Then Ru = 12 : ArchivioTerm(0,(Ru - 2)*5 + 5) = SiglaRuota(Ru)
If Tab_Ana = 1 Then
Scrivi "|" & FormatSpace(SiglaRuota(Ru) & " Analitico Terminatore",33,False),1,False,6,,1
Else
Scrivi "|" & FormatSpace(SiglaRuota(Ru) & " Terminatore",16,False),1,False,6,,1
End If
Next
Scrivi
For W = esAn To 0 Step - 1
ArchivioTerm(W + 1,0) = W
If ScriptInterrotto Then Exit For
ini = EstrazioneFin - esc - W
ReDim Term(esc,55)
ReDim TermFin(1,55)
fin = EstrazioneFin - W
Call GeneraAnalitico(EstrazioneFin)
co = 0
For es = ini To fin - 1
co = co + 1
rit = esc - co + 1
For Ru = 1 To 11
coRu =(Ru - 1)*5
If Ru = 11 Then Ru = 12
For p = 1 To 5
For esR = es + 1 To fin
If Estratto(esR,Ru,p) = Estratto(es,Ru,p) Then Term(co,coRu + p) = Estratto(esR,Ru,p)
Next
Next
Next
Next
For z = 1 To coRu + p - 1
For y =(esc) To 1 Step - 1
If Term(y,z) > 0 Then
TermFin(1,z) = Term(y,z)
Exit For
End If
Next
Next
Scrivi DataEstrazione(es) & " [" & es & "] " & FormatSpace(W,3,1) & " | ",1,False,,,1
For Ru = 1 To 11
coRu =(Ru - 1)*5
If Ru = 11 Then Ru = 12
If Tab_Ana = 1 Then
For p = 1 To 5
If W <= aRit(1) Then
num =(TabelloneAnalitico(W,Ru,p))
If num > 0 Then
Scrivi FormatSpace(num,2,True) & " ",,False,,,1
Else
Scrivi "-- ",,False,,,1
End If
Else
Scrivi ".. ",,False,,,1
End If
If p = 5 Then Scrivi "| ",1,False,,,1
Next '
End If
For p = 1 To 5
cc = 0
If W <= aRit(1) Then
For es = fin - 1 To ini Step - 1
If Estratto(fin,Ru,p) = TermFin(1,coRu + p) Then
cc = cc + 1
End If
Next
If cc > 0 And Estratto(fin,Ru,p) = TabelloneAnalitico(W,Ru,p) Then
Scrivi FormatSpace((Estratto(fin,Ru,p)),2,True),1,False,vbGreen,,1
ArchivioTerm(W + 1,coRu + p) = Estratto(fin,Ru,p)
lu = lu + 1
lunghetta(Ru,0) = SiglaRuota(Ru)
lunghetta(Ru,lu) = Estratto(fin,Ru,p)
ElseIf cc > 0 Then
Scrivi FormatSpace((Estratto(fin,Ru,p)),2,True),1,False,,,1
ArchivioTerm(W + 1,coRu + p) = Estratto(fin,Ru,p)
Else
If Coe = 1 Then
Scrivi FormatSpace((Estratto(fin,Ru,p)),2,True),,False,,6,1
Else
Scrivi FormatSpace("..",2,True),,False,,,1
End If
End If
If p < 5 Then Scrivi " ",1,False,,,1
If p = 5 Then Scrivi " | ",1,False,,,1
Else
For es = fin - 1 To ini Step - 1
If Estratto(fin,Ru,p) = TermFin(1,coRu + p) Then
cc = cc + 1 '''''''
End If
Next
If cc > 0 Then
Scrivi FormatSpace((Estratto(fin,Ru,p)),2,True),1,False,,,1
ArchivioTerm(W + 1,coRu + p) = Estratto(fin,Ru,p)
Else
If Coe = 1 Then
Scrivi FormatSpace((Estratto(fin,Ru,p)),2,True),,False,,6,1
Else
Scrivi FormatSpace("..",2,True),,False,,,1
End If
End If
Scrivi " ",,False
If p = 5 Then Scrivi "| ",,False,,,1
End If
Next
Next
Scrivi
Messaggio " Data estrazione - " & DataEstrazione(EstrazioneFin - W) & " - estr.da analizzare " & W
AvanzamentoElab 0,esAn,W
Next
Messaggio " Scrittura output - estrazione finale " & DataEstrazione(EstrazioneFin) & " - analizzate " & aRit(1)
Scrivi " Data N°estr Rit ",1,False,6,,1
For Ru = 1 To 11
If Ru = 11 Then Ru = 12
If Tab_Ana = 1 Then
Scrivi "|" & FormatSpace(SiglaRuota(Ru) & " Analitico Terminatore",33,False),1,False,6,,1
Else
Scrivi "|" & FormatSpace(SiglaRuota(Ru) & " Terminatore",16,False),1,False,6,,1
End If
co = 1
For x = 1 To UBound(lunghetta,2)
If lunghetta(Ru,x) > 0 Then
co = co + 1
numLung(Ru,co) = lunghetta(Ru,x)
numLung(Ru,0) = Ru
End If
Next
Next
Scrivi
Scrivi
Scrivi " Lunghette Terminatori " & String(12," ") & " Estrazioni analizzate : " & FormatSpace(esAn,4,1) & " al " & DataEstrazione(EstrazioneFin) & " Indice " & EstrazioneFin,1,1,3,2,1
For Ru = 1 To 11
AvanzamentoElab 0,11,Ru
If Ru = 11 Then Ru = 12
co = 0
Scrivi FormatSpace("PostoD",12,True) & " : ",1,False,,,1
For x = 2 To UBound(numLung,2)
If numLung(Ru,x) > 0 Then
co = co + 1
If co = 1 Then numLung(Ru,1) = RitardoEstratto(numLung(Ru,x),EstrazioneFin,Ru)
pos = RitardoEstratto(numLung(Ru,x),EstrazioneFin,Ru,,retPos)
If RitardoEstratto(numLung(Ru,x),EstrazioneFin,Ru) = RitardoEstratto(numLung(Ru,x + 1),EstrazioneFin,Ru) Or RitardoEstratto(numLung(Ru,x),EstrazioneFin,Ru) = RitardoEstratto(numLung(Ru,x - 1),EstrazioneFin,Ru)Then
ColoreTesto 2
Scrivi FormatSpace(retPos & "°",3,True) & " ",,False,,,1
posLung(Ru,x) = retPos
Else
Scrivi FormatSpace(retPos & "°",3,True) & " ",,False,,,1
posLung(Ru,x) = retPos
End If
End If
ColoreTesto 0
Next
Scrivi String((184 - co*4),".") & " POSIZIONI",1,,,,1
co = 0
Scrivi FormatSpace(NomeRuota(Ru),12,True) & " : ",1,False,4,,1
For x = 2 To UBound(numLung,2)
If numLung(Ru,x) > 0 Then
co = co + 1
If RitardoEstratto(numLung(Ru,x),EstrazioneFin,Ru) = RitardoEstratto(numLung(Ru,x + 1),EstrazioneFin,Ru) Or RitardoEstratto(numLung(Ru,x),EstrazioneFin,Ru) = RitardoEstratto(numLung(Ru,x - 1),EstrazioneFin,Ru)Then
ColoreTesto 2
Scrivi FormatSpace(numLung(Ru,x),3,True) & " ",1,False,4,,1
Else
Scrivi FormatSpace(numLung(Ru,x),3,True) & " ",1,False,4,,1
End If
End If
ColoreTesto 0
Next
Scrivi String((184 - co*4),".") & Format2(co) & " Numeri",1,,,,1
co = 0
Scrivi FormatSpace("Rit.",12,True) & " : ",1,False,,,1
For x = 2 To UBound(numLung,2)
If numLung(Ru,x) > 0 Then
co = co + 1
If co = 1 Then numLung(Ru,1) = RitardoEstratto(numLung(Ru,x),EstrazioneFin,Ru)
If RitardoEstratto(numLung(Ru,x),EstrazioneFin,Ru) = RitardoEstratto(numLung(Ru,x + 1),EstrazioneFin,Ru) Or RitardoEstratto(numLung(Ru,x),EstrazioneFin,Ru) = RitardoEstratto(numLung(Ru,x - 1),EstrazioneFin,Ru)Then
ColoreTesto 2
Scrivi FormatSpace(RitardoEstratto(numLung(Ru,x),EstrazioneFin,Ru),3,True) & " ",,False,,,1
Else
Scrivi FormatSpace(RitardoEstratto(numLung(Ru,x),EstrazioneFin,Ru),3,True) & " ",,False,,,1
End If
End If
ColoreTesto 0
Next
Scrivi String((184 - co*4),".") & " RC",1,,,,1
co = 0
ReDim numVer(90)
ReDim ruoVer(12)
Dim retClp
Scrivi FormatSpace("clp1°Esito",12,True) & " : ",1,False,,,1 ' x silop in questa riga, se vuoi modificare clpEsito a tuo piacere, max 12 caratteri compreso spaziature
For x = 2 To UBound(numLung,2)
If numLung(Ru,x) > 0 Then
co = co + 1
numVer(1) = numLung(Ru,x)
ruoVer(1) = Ru
If VerificaEsitoTurbo(numVer,ruoVer,EstrazioneFin + 1,1,(EstrazioniArchivio - EstrazioneFin),,,retClp) = True Then
Scrivi FormatSpace(retClp,3,True) & " ",1,False,,,1
clpLung(Ru,x) = retClp
Else
Scrivi FormatSpace("--",3,True) & " ",1,False,,,1 ' sostiuito ng con --
clpLung(Ru,x) = 0
End If
End If
Next
Scrivi String((184 - co*4),".") & " Clp di Risortita",1,,,,1
co = 0
Scrivi FormatSpace("pos1°Esito",12,True) & " : ",1,False,,,1
For x = 2 To UBound(numLung,2)
If numLung(Ru,x) > 0 Then
co = co + 1
If clpLung(Ru,x) > 0 Then
If Posizione(EstrazioneFin + clpLung(Ru,x),Ru,numLung(Ru,x)) = posLung(Ru,x) Then
Scrivi FormatSpace("D",3,True) & " ",1,False,,2,1 'De
Else
Scrivi FormatSpace("S",3,True) & " ",1,False,,,1 'Se
End If
Else
Scrivi FormatSpace("--",3,True) & " ",1,False,,,1
End If
End If
Next
Scrivi String((184 - co*4),".") & " POSIZIONE semplice/Determinata",1,,,,1
Scrivi ' serve a lasciare una riga vuota tra le ruote
Next '
Scrivi
If EstrazioneFin = EstrazioniArchivio Then
Scrivi " TERMINATORI risortiti al 1° colpo per Tabellone Analitico TT + Naz non aggionabile, estrazioni successive inesistenti in archivio",1
Else
Messaggio " Elaborazione e Scrittura output - terminatori risortiti " & DataEstrazione(EstrazioneFin)
Scrivi " Sunto TERMINATORI risortiti al 1° colpo per aggiornamento Tabellone Analitico TT + Naz",1
Scrivi "Data Risortita N°es Rit ",1,False,6,,1
For Ru = 1 To 12
If Ru = 11 Then Ru = 12
Scrivi "| " & FormatSpace(SiglaRuota(Ru) & " Te ",15,False),1,False,6,,1
Next
Scrivi
Scrivi DataEstrazione(EstrazioneFin + 1,,,"/") & " " & FormatSpace(EstrazioneFin + 1,5,1) & " " & FormatSpace(EstrazioniArchivio - EstrazioneFin,3,1) & " | ",1,False,,,1
For Ru = 1 To 12
AvanzamentoElab 0,11,Ru
If Ru = 11 Then Ru = 12
''''' numeri delle lunghette esitate e posiz di esito
For p = 1 To 5
co = 0
a = Estratto(EstrazioneFin + 1,Ru,p)
For x = 2 To UBound(numLung,2)
If numLung(Ru,x) > 0 And numLung(Ru,x) = a Then
Scrivi FormatSpace(a,2,True),1,False,,,1
co = co + 1
Exit For
End If
Next
If co = 0 Then Scrivi "--",1,False,,,1
If p < 5 Then Scrivi " ",1,False,,,1
If p = 5 Then Scrivi " | ",1,False,,,1
Next
Next
Scrivi
Scrivi "Data Risortita N°es Rit ",1,False,6,,1
For Ru = 1 To 12
If Ru = 11 Then Ru = 12
Scrivi "| " & FormatSpace(SiglaRuota(Ru) & " Te ",15,False),1,False,6,,1
Next
End If
Scrivi
Scrivi " Tempo Trascorso : " & TempoTrascorso,1,,,,1
End Sub
questo script ti fa vedere i numeri terminatori su fondo verde.
Chiedi pure per altre delucidazioni e ti rispondo non appena posso.
saluti a te e a chi legge,
micro