Option Explicit
'
'https://forum.lottoced.com/forum/lottoced/area-download/2081939-girin-girando-su-internet-ho-trovato/page3
'
'10 e Lotto – Tecnica Simmetrica
'http://www.lottoestrazioni.info/10elotto/10-e-lotto-tecnica-simmetrica/
'
Sub Main()
Call ImpostaArchivio10ELotto(01)
'Dim ini,fin,casi,es : ini = DataEstrToIdEstrDL(02,05,2013) : fin = DataEstrToIdEstrDL(02,05,2013) : casi = 00
Dim ini,fin,Casi,nStart,Es : ini =DataEstrToIdEstrDL(02,05,2013) : fin = EstrazioniArchivioDL : Casi = 00: nStart = Timer
For Es = ini To fin : Call Messaggio(Es) : Call AvanzamentoElab(ini,fin,Es)
Dim P01,P02,P03,T11,T12,T13,DS01,DS02,DS03,P04,P05,P06,T21,T22,T23,DS04,DS05,DS06
Call RicercaCondizione(Es,P01,P02,P03,T11,T12,T13,DS01,DS02,DS03,P04,P05,P06,T21,T22,T23,DS04,DS05,DS06,Casi)
Next
Dim nEnd : nEnd = Timer : Call Scrivi("Tempo di elaborazione : " & FormattaSecondi((nEnd + 01) - nStart),True)
End Sub
Function Intestazione(Es,Casi)
Dim sRiga : sRiga = GetInfoEstrazioneDL(Es) : Casi = Casi + 01
Call Scrivi(String(175,"-") & " Caso n° " & Format2(Casi),True) : Call Scrivi(sRiga,True)
Call ScriviEstrazioneDL(Es) : Call Scrivi(String(175,"-"),True)
End Function
Function ScriviRequisiti(aNum01,T11,T12,T13,aNum02,T21,T22,T23)
aNum01 = Array(T11,T12,T13) : aNum02 = Array(T21,T22,T23)
Call Scrivi("Rilevate Uniche 2 Terzine Simmetriche : [ " & StringaNumeri(aNum01,,True) & " ] - [ " & _
StringaNumeri(aNum02,,True) & " ]",True) : Call Scrivi()
End Function
Function ScriviDatiPronostico(Es)
Call Scrivi("Estrazione generatrice del pronostico " & FormattaStringa(Es,"00000") & " [" & _
IndiceAnnualeDL(Es) & " - " & DataEstrazioneDL(Es,,,"/") & "]",True)
End Function
Sub RicercaCondizione(Es,P01,P02,P03,T11,T12,T13,DS01,DS02,DS03,P04,P05,P06,T21,T22,T23,DS04,DS05,DS06,Casi)
Dim QT : QT = 00
For P01 = 01 To 18 : For P02 = P01 + 01 To 19 : For P03 = P02 + 01 To 20
T11 = EstrattoDL(Es,P01) : T12 = EstrattoDL(Es,P02): T13 = EstrattoDL(Es,P03)
DS01 = Distanza(T11,T12) : DS02 = Distanza(T12,T13) : DS03 = Distanza(T13,T11)
If DS01 = 30 And DS02 = 30 And DS03 = 30 Then
QT = QT + 01
For P04 = 01 To 18 : For P05 = P04 + 01 To 19 : For P06 = P05 + 01 To 20
T21 = EstrattoDL(Es,P04) : T22 = EstrattoDL(Es,P05): T23 = EstrattoDL(Es,P06)
DS04 = Distanza(T21,T22) : DS05 = Distanza(T22,T23) : DS06 = Distanza(T23,T21)
If DS04 = 30 And DS05 = 30 And DS05 = 30 Then
If T21 <> T11 And T21 <> T12 And T21 <> T13 And T22 <> T11 And T22 <> T12 And T22 <> T13 And T23 <> T11 And T23 <> T12 And T23 <> T13 Then
QT = QT + 01
If QT = 02 Then
Dim aNum01,aNum02 : Call Intestazione(Es,Casi) : Call ScriviRequisiti(aNum01,T11,T12,T13,aNum02,T21,T22,T23)
ReDim N(30) : Call ScriviDatiPronostico(Es) : Call CalcoloPronostico(N,T11,T12,T13,T21,T22,T23)
Dim Nu,CONTA : Call ContaNumeriinGioco(N,Nu,CONTA) : Call VerificaEsitoNumeri(N,Es)
End If
End If
End If
Next : Next : Next
End If
Next : Next : Next
End Sub
Sub CalcoloPronostico(N,T11,T12,T13,T21,T22,T23)
N(01) = Fuori90(T11 + 00) : N(02) = Fuori90(T11 + 18) : N(03) = Fuori90(T11 + 09) : N(04) = Fuori90(T11 + 45) : N(05) = Fuori90((90 + T11) - 06)
N(06) = Fuori90(T12 + 00) : N(07) = Fuori90(T12 + 18) : N(08) = Fuori90(T12 + 09) : N(09) = Fuori90(T12 + 45) : N(10) = Fuori90((90 + T12) - 06)
N(11) = Fuori90(T13 + 00) : N(12) = Fuori90(T13 + 18) : N(13) = Fuori90(T13 + 09) : N(14) = Fuori90(T13 + 45) : N(15) = Fuori90((90 + T13) - 06)
N(16) = Fuori90(T21 + 00) : N(17) = Fuori90(T21 + 18) : N(18) = Fuori90(T21 + 09) : N(19) = Fuori90(T21 + 45) : N(20) = Fuori90((90 + T21) - 06)
N(21) = Fuori90(T22 + 00) : N(22) = Fuori90(T22 + 18) : N(23) = Fuori90(T22 + 09) : N(24) = Fuori90(T22 + 45) : N(25) = Fuori90((90 + T22) - 06)
N(26) = Fuori90(T23 + 00) : N(27) = Fuori90(T23 + 18) : N(28) = Fuori90(T23 + 09) : N(29) = Fuori90(T23 + 45) : N(30) = Fuori90((90 + T23) - 06)
Call EliminaRipetuti(N)
End Sub
Sub ContaNumeriinGioco(N,NU,CONTA)
CONTA = 00 : NU = Split("00." & StringaNumeri(N,,True),".")
Dim Num : For Num = 01 To UBound(NU) : CONTA = CONTA + 01 : Next
Call Scrivi("G 0001 Numeri in gioco : [ " & Format2(CONTA) & " ] " & StringaNumeri(N,,True),True)
End Sub
Sub VerificaEsitoNumeri(N,Es)
Dim nSorte,klp,nColpi,xlp,SF : nSorte = AMBATA_ : klp = 01 : nColpi = 12 : SF = 00
For xlp = 01 To nColpi : SF = SerieFreqDL(Es + xlp,Es + xlp,N,AMBATA_)
Dim RetEsito,RetColpi,RetEstratti,RetIdEstr
Call VerificaEsitoDL(N,Es + xlp,nSorte,klp,RetEsito,RetColpi,RetEstratti,RetIdEstr)
If RetEsito <> "" Then
Call ColoreTesto(02)
Call Scrivi("V N. [" & FormatSpace(StringaNumeri(N,,True),50) & "] [" & RetEstratti & " ] C. " & _
FormatSpace(xlp,03,True) & " " & FormatSpace(RetEsito,11) & "( " & SF & " ) " & FormattaStringa(Es + xlp,"00000") & " [" & _
IndiceAnnualeDL(Es + xlp) & " - " & DataEstrazioneDL(Es + xlp,,,"/") & "]",True)
Call ColoreTesto(00)
ElseIf RetEsito = "" And RetColpi < klp Then
Call ColoreTesto(00)
Call Scrivi() : Call Scrivi("in corso per altre " & nColpi - xlp + 01 & " estrazioni",True) : Call Scrivi()
Call ColoreTesto(00)
Else
Call ColoreTesto(00)
RetEsito =("Zero punti") : RetEstratti =(".. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..")
Call Scrivi(" N. [" & FormatSpace(StringaNumeri(N,,True),50) & "] [" & RetEstratti & " ] C. " & _
FormatSpace(xlp,03,True) & " " & FormatSpace(RetEsito,11) & "( " & SF & " ) " & FormattaStringa(Es + xlp,"00000") & " [" & _
IndiceAnnualeDL(Es + xlp) & " - " & DataEstrazioneDL(Es + xlp,,,"/") & "]",True)
Call ColoreTesto(00)
End If
If Es + xlp > EstrazioniArchivioDL Then Exit For
Next
If xlp > nColpi Then Call Scrivi("Interrotta per raggiunta durata") : Call Scrivi()
End Sub
Function FormattaSecondi(s)
Dim hh,Mm,Ss : hh = s \ 3600 : Mm =(s Mod 3600) \ 60 : Ss = s -((hh * 3600) +(Mm * 60))
Dim TimeStr : TimeStr = Format2(hh) & ":" & Format2(Mm) & ":" & Format2(Ss)
FormattaSecondi = TimeStr
End Function
Sub Main
Call ImpostaArchivio10ELotto(01)
'Dim IM,Ini,Fin,Casi,Es : IM = ScegliIndiceMensile() : Ini = DataEstrToIdEstrDL(03,01,2012) : Fin = Ini : Casi = 00
Dim Ini,Fin,Es,IM : Ini = 009260 : Fin = EstrazioniArchivioDL : IM = ScegliIndiceMensile()
Dim aVric,iDric,Casi,nStart : Call ScegliFiltro(aVric,iDric) : Casi = 00 : nStart = Timer
For Es = Ini To Fin : Call Messaggio(Es) : Call AvanzamentoElab(Ini,Fin,Es)
If IndiceMensileDL(Es) = IM Then
Call Intestazione(Es,Casi)
ReDim E(20),aNum(09) : Call EstrattiDL(Es,E) : Call CalcolaNumeroDecina(E,aNum,aVric,iDric)
ReDim N(24) : Call ScriviDatiPronostico(Es) : Call CalcoloPronostico(N,E,aNum)
Dim Nu,CONTA : Call ContaNumeriinGioco(N,Nu,CONTA) : Call VerificaEsitoNumeri(N,Es)
End If
Next
Dim nEnd : nEnd = Timer : Call Scrivi("Tempo di elaborazione : " & FormattaSecondi((nEnd + 01) - nStart),True)
End Sub
Function ScegliIndiceMensile()
Dim aVoci(14),x : For x = 01 To 14 : aVoci(x) = x : Next
ScegliIndiceMensile = ScegliOpzioneMenu(aVoci,01,"Scegli Indice Mensile")
End Function
Function ScegliFiltro(aVric,iDric)
aVric = Array("NESSUNA SELEZIONE","DECINA","CADENZA","FIGURA")
iDric = ScegliOpzioneMenu(aVric,01,"Selezione filtro")
End Function
Function Intestazione(Es,Casi)
Dim sRiga : sRiga = GetInfoEstrazioneDL(Es) : Casi = Casi + 01
Call Scrivi(String(175,"-") & " Caso n° " & Format2(Casi),True) : Call Scrivi(sRiga,True)
Call ScriviEstrazioneDL(Es) : Call Scrivi(String(175,"-"),True)
End Function
Function EstrattiDL(Es,E)
Dim p : For p = 01 To 20 : E(p) = EstrattoDL(Es,p) : Next
End Function
Sub CalcolaNumeroDecina(E,aNum,aVric,IDric)
Dim i,F,sRic,M,sum,IdE
Dim PMin,Pmax : PMin = 03 : Pmax = 06
If IDric = 00 Then Exit Sub
Dim uB,lB
Select Case IDric
Case(01) : uB = 00 : lB = 08 : Case(02) : uB = 00 : lB = 09 : Case(03) : uB = 01 : lB = 09
End Select
ReDim aRic(lB,03)
For F = uB To lB
sRic = "" : M = 00 : sum = 00
For i = 01 To UBound(E) : Select Case IDric
Case(01) : If Decina(E(i)) = F Then sRic = sRic & Format2(E(i)) & "." : sum = sum + E(i) : M = M + 01
Case(02) : If Cadenza(E(i)) = F Then sRic = sRic & Format2(E(i)) & "." : sum = sum + E(i) : M = M + 01
Case(03) : If Figura(E(i)) = F Then sRic = sRic & Format2(E(i)) & "." : sum = sum + E(i) : M = M + 01
End Select : Next
aRic(F,01) = RimuoviLastChr(sRic,".") : aRic(F,02) = Format2(Fuori90(sum)) : aRic(F,03) = Format2(M)
Next
For i = uB To lB
If Int(aRic(i,03)) >= PMin And Int(aRic(i,03)) <= Pmax Then
If Decina(E(i)) = 00 Then aNum(i) = aRic(i,02)
If Decina(E(i)) = 01 Then aNum(i) = aRic(i,02)
If Decina(E(i)) = 02 Then aNum(i) = aRic(i,02)
If Decina(E(i)) = 03 Then aNum(i) = aRic(i,02)
If Decina(E(i)) = 04 Then aNum(i) = aRic(i,02)
If Decina(E(i)) = 05 Then aNum(i) = aRic(i,02)
If Decina(E(i)) = 06 Then aNum(i) = aRic(i,02)
If Decina(E(i)) = 07 Then aNum(i) = aRic(i,02)
If Decina(E(i)) = 08 Then aNum(i) = aRic(i,02)
Call ColoreTesto(02) : Call Scrivi(FormatSpace(aVric(IDric),06) & " " & Format2(i) & " = " & _
aRic(i,03) & " : " & FormatSpace(aRic(i,01),02),True): Call ColoreTesto(00)
Else
Call Scrivi(FormatSpace(aVric(IDric),06) & " " & Format2(i) & " = " & aRic(i,03),True) : aNum(i) = 00
End If
Next
End Sub
Function ScriviDatiPronostico(Es)
Call Scrivi("Estrazione generatrice del pronostico " & FormattaStringa(Es,"00000") & " [" & _
IndiceAnnualeDL(Es) & " - " & DataEstrazioneDL(Es,,,"/") & "]",True)
End Function
Sub CalcoloPronostico(N,E,aNum)
N(01) = aNum(01) : N(02) = aNum(02) : N(03) = aNum(03) : N(04) = aNum(04) : N(05) = aNum(05)
N(06) = aNum(06) : N(07) = aNum(07) : N(08) = aNum(08) : N(09) = aNum(09)
'la somma di tutti i gruppi di numeri(che dovranno essere Minimo composti da 3 elementi e Massimo da sei)
'che appartengano alla medesima Decina;
N(10) = Fuori90(E(01) + E(02) + E(03)) 'la somma dei primi 3 estratti e degli ultimi 3 estratti;
N(11) = Fuori90(E(18) + E(19) + E(20)) 'la somma dei primi 3 estratti e degli ultimi 3 estratti;
N(12) = Fuori90(E(09) + E(10) + E(11) + E(12)) 'la somma degli estratti centrali, ovvero 9°, 10°, 11° e 12° estratto,
N(13) = ComplAdX(Fuori90(E(09) + E(10) + E(11) + E(12)))'e di tale somma ricaveremo anche il complemento (differenza) a 90;
N(14) = Fuori90((E(01) + E(20)) + 01) 'la somma degli estremi, vale a dire 1° e 20° estratto,e di tale numero prenderemo
'i due elementi distanti una unità (ovvero a +1e -1);
N(15) = Fuori90((E(01) + E(20)) - 01) 'la somma degli estremi, vale a dire 1° e 20° estratto,e di tale numero prenderemo
'i due elementi distanti una unità (ovvero a +1e -1);
N(16) = Fuori90((E(01) + E(10)) + 30) 'la somma dei simmetrici, vale a dire 1° e 10° estratto ;di questi due valori
'ricavati prenderemo in esame i due numeri distanti 30 unità (simmetrici);
N(17) = Fuori90((90 +(E(01) + E(10))) - 30) 'la somma dei simmetrici, vale a dire 1° e 10° estratto ;di questi due valori
'ricavati prenderemo in esame i due numeri distanti 30 unità (simmetrici);
N(18) = Fuori90((E(11) + E(20)) + 30) 'la somma dei simmetrici, vale a dire 11° e 20° estratto;di questi due valori ricavati
'prenderemo in esame i due numeri distanti 30 unità (simmetrici);
N(19) = Fuori90((90 +(E(11) + E(20))) - 30) 'la somma dei simmetrici, vale a dire 11° e 20° estratto;di questi due valori
'ricavati prenderemo in esame i due numeri distanti 30 unità (simmetrici);
N(20) = Fuori90(Figura(E(01)) & Figura(E(11))) 'abbinamento delle figure speculari, ovvero figura del 1° e dell’11° estratto;
N(21) = Fuori90(Figura(E(10)) & Figura(E(20))) 'abbinamento delle figure speculari, ovvero figura del 10° e del 20° estratto;
N(22) = Fuori90(E(05) + E(15)) 'la somma dei medi, cioè il 5° ed il 15° estratto;
N(23) = Fuori90(E(01) + E(16)) '??????????? la somma degli incroci, ovvero 6° e 15° Estratto.
N(24) = Fuori90(E(06) + E(11)) '??????????? la somma degli incroci, ovvero 11° e 16° estratto.
Call EliminaRipetuti(N)
End Sub
Sub ContaNumeriinGioco(N,NU,CONTA)
CONTA = 00 : NU = Split("00." & StringaNumeri(N,,True),".")
Dim Num : For Num = 01 To UBound(NU) : CONTA = CONTA + 01 : Next
Call Scrivi("G 0001 Numeri in gioco : [ " & Format2(CONTA) & " ] " & StringaNumeri(N,,True),True)
End Sub
Sub VerificaEsitoNumeri(N,Es)
Dim nSorte,klp,nColpi,xlp,SF : nSorte = AMBATA_ : klp = 01 : nColpi = 20 : SF = 00
For xlp = 01 To nColpi : SF = SerieFreqDL(Es + xlp,Es + xlp,N,AMBATA_)
Dim RetEsito,RetColpi,RetEstratti,RetIdEstr
Call VerificaEsitoDL(N,Es + xlp,nSorte,klp,RetEsito,RetColpi,RetEstratti,RetIdEstr)
If RetEsito <> "" Then
Call ColoreTesto(02)
Call Scrivi("V N. [" & FormatSpace(StringaNumeri(N,,True),50) & "] [" & RetEstratti & " ] C. " & _
FormatSpace(xlp,03,True) & " " & FormatSpace(RetEsito,11) & "( " & SF & " ) " & FormattaStringa(Es + xlp,"00000") & " [" & _
IndiceAnnualeDL(Es + xlp) & " - " & DataEstrazioneDL(Es + xlp,,,"/") & "]",True)
Call ColoreTesto(00)
ElseIf RetEsito = "" And RetColpi < klp Then
Call ColoreTesto(00)
Call Scrivi() : Call Scrivi("in corso per altre " & nColpi - xlp + 01 & " estrazioni",True) : Call Scrivi()
Call ColoreTesto(00)
Else
Call ColoreTesto(00)
RetEsito =("Zero punti") : RetEstratti =(".. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..")
Call Scrivi(" N. [" & FormatSpace(StringaNumeri(N,,True),50) & "] [" & RetEstratti & " ] C. " & _
FormatSpace(xlp,03,True) & " " & FormatSpace(RetEsito,11) & "( " & SF & " ) " & FormattaStringa(Es + xlp,"00000") & " [" & _
IndiceAnnualeDL(Es + xlp) & " - " & DataEstrazioneDL(Es + xlp,,,"/") & "]",True)
Call ColoreTesto(00)
End If
If Es + xlp > EstrazioniArchivioDL Then Exit For
Next
If xlp > nColpi Then Call Scrivi("Interrotta per raggiunta durata") : Call Scrivi()
End Sub
Function FormattaSecondi(s)
Dim hh,Mm,Ss : hh = s \ 3600 : Mm =(s Mod 3600) \ 60 : Ss = s -((hh * 3600) +(Mm * 60))
Dim TimeStr : TimeStr = Format2(hh) & ":" & Format2(Mm) & ":" & Format2(Ss)
FormattaSecondi = TimeStr
End Function
Sub Main
Call ImpostaArchivio10ELotto(01)
'Dim IM,Ini,Fin,Casi,Es : IM = ScegliIndiceMensile() : Ini = DataEstrToIdEstrDL(03,01,2012) : Fin = Ini : Casi = 00
Dim Ini,Fin,Es,IM : Ini = 009260 : Fin = EstrazioniArchivioDL : IM = ScegliIndiceMensile()
Dim aVric,iDric,Casi,nStart : Call ScegliFiltro(aVric,iDric) : Casi = 00 : nStart = Timer
For Es = Ini To Fin : Call Messaggio(Es) : Call AvanzamentoElab(Ini,Fin,Es)
If IndiceMensileDL(Es) = IM Then
Call Intestazione(Es,Casi)
ReDim E(20),aNum(09) : Call EstrattiDL(Es,E) : Call CalcolaNumeroDecina(E,aNum,aVric,iDric)
ReDim N(24) : Call ScriviDatiPronostico(Es) : Call CalcoloPronostico(N,E,aNum)
Dim Nu,CONTA : Call ContaNumeriinGioco(N,Nu,CONTA) : Call VerificaEsitoNumeri(N,Es)
End If
Next
Dim nEnd : nEnd = Timer : Call Scrivi("Tempo di elaborazione : " & FormattaSecondi((nEnd + 01) - nStart),True)
End Sub
Function ScegliIndiceMensile()
Dim aVoci(14),x : For x = 01 To 14 : aVoci(x) = x : Next
ScegliIndiceMensile = ScegliOpzioneMenu(aVoci,01,"Scegli Indice Mensile")
End Function
Function ScegliFiltro(aVric,iDric)
aVric = Array("NESSUNA SELEZIONE","DECINA","CADENZA","FIGURA")
iDric = ScegliOpzioneMenu(aVric,01,"Selezione filtro")
End Function
Function Intestazione(Es,Casi)
Dim sRiga : sRiga = GetInfoEstrazioneDL(Es) : Casi = Casi + 01
Call Scrivi(String(175,"-") & " Caso n° " & Format2(Casi),True) : Call Scrivi(sRiga,True)
Call ScriviEstrazioneDL(Es) : Call Scrivi(String(175,"-"),True)
End Function
Function EstrattiDL(Es,E)
Dim p : For p = 01 To 20 : E(p) = EstrattoDL(Es,p) : Next
End Function
Sub CalcolaNumeroDecina(E,aNum,aVric,IDric)
Dim i,F,sRic,M,sum,IdE
Dim PMin,Pmax : PMin = 03 : Pmax = 06
If IDric = 00 Then Exit Sub
Dim uB,lB
Select Case IDric
Case(01) : uB = 00 : lB = 08 : Case(02) : uB = 00 : lB = 09 : Case(03) : uB = 01 : lB = 09
End Select
ReDim aRic(lB,03)
For F = uB To lB
sRic = "" : M = 00 : sum = 00
For i = 01 To UBound(E) : Select Case IDric
Case(01) : If Decina(E(i)) = F Then sRic = sRic & Format2(E(i)) & "." : sum = sum + E(i) : M = M + 01
Case(02) : If Cadenza(E(i)) = F Then sRic = sRic & Format2(E(i)) & "." : sum = sum + E(i) : M = M + 01
Case(03) : If Figura(E(i)) = F Then sRic = sRic & Format2(E(i)) & "." : sum = sum + E(i) : M = M + 01
End Select : Next
aRic(F,01) = RimuoviLastChr(sRic,".") : aRic(F,02) = Format2(Fuori90(sum)) : aRic(F,03) = Format2(M)
Next
For i = uB To lB
If Int(aRic(i,03)) >= PMin And Int(aRic(i,03)) <= Pmax Then
If Decina(E(i)) = 00 Then aNum(i) = aRic(i,02)
If Decina(E(i)) = 01 Then aNum(i) = aRic(i,02)
If Decina(E(i)) = 02 Then aNum(i) = aRic(i,02)
If Decina(E(i)) = 03 Then aNum(i) = aRic(i,02)
If Decina(E(i)) = 04 Then aNum(i) = aRic(i,02)
If Decina(E(i)) = 05 Then aNum(i) = aRic(i,02)
If Decina(E(i)) = 06 Then aNum(i) = aRic(i,02)
If Decina(E(i)) = 07 Then aNum(i) = aRic(i,02)
If Decina(E(i)) = 08 Then aNum(i) = aRic(i,02)
Call ColoreTesto(02) : Call Scrivi(FormatSpace(aVric(IDric),06) & " " & Format2(i) & " = " & _
aRic(i,03) & " : " & FormatSpace(aRic(i,01),02),True): Call ColoreTesto(00)
Else
Call Scrivi(FormatSpace(aVric(IDric),06) & " " & Format2(i) & " = " & aRic(i,03),True) : aNum(i) = 00
End If
Next
End Sub
Function ScriviDatiPronostico(Es)
Call Scrivi("Estrazione generatrice del pronostico " & FormattaStringa(Es,"00000") & " [" & _
IndiceAnnualeDL(Es) & " - " & DataEstrazioneDL(Es,,,"/") & "]",True)
End Function
Sub CalcoloPronostico(N,E,aNum)
N(01) = aNum(01) : N(02) = aNum(02) : N(03) = aNum(03) : N(04) = aNum(04) : N(05) = aNum(05)
N(06) = aNum(06) : N(07) = aNum(07) : N(08) = aNum(08) : N(09) = aNum(09)
'la somma di tutti i gruppi di numeri(che dovranno essere Minimo composti da 3 elementi e Massimo da sei)
'che appartengano alla medesima Decina;
N(10) = Fuori90(E(01) + E(02) + E(03)) 'la somma dei primi 3 estratti e degli ultimi 3 estratti;
N(11) = Fuori90(E(18) + E(19) + E(20)) 'la somma dei primi 3 estratti e degli ultimi 3 estratti;
N(12) = Fuori90(E(09) + E(10) + E(11) + E(12)) 'la somma degli estratti centrali, ovvero 9°, 10°, 11° e 12° estratto,
N(13) = ComplAdX(Fuori90(E(09) + E(10) + E(11) + E(12)))'e di tale somma ricaveremo anche il complemento (differenza) a 90;
N(14) = Fuori90((E(01) + E(20)) + 01) 'la somma degli estremi, vale a dire 1° e 20° estratto,e di tale numero prenderemo
'i due elementi distanti una unità (ovvero a +1e -1);
N(15) = Fuori90((E(01) + E(20)) - 01) 'la somma degli estremi, vale a dire 1° e 20° estratto,e di tale numero prenderemo
'i due elementi distanti una unità (ovvero a +1e -1);
N(16) = Fuori90((E(01) + E(10)) + 30) 'la somma dei simmetrici, vale a dire 1° e 10° estratto ;di questi due valori
'ricavati prenderemo in esame i due numeri distanti 30 unità (simmetrici);
N(17) = Fuori90((90 +(E(01) + E(10))) - 30) 'la somma dei simmetrici, vale a dire 1° e 10° estratto ;di questi due valori
'ricavati prenderemo in esame i due numeri distanti 30 unità (simmetrici);
N(18) = Fuori90((E(11) + E(20)) + 30) 'la somma dei simmetrici, vale a dire 11° e 20° estratto;di questi due valori ricavati
'prenderemo in esame i due numeri distanti 30 unità (simmetrici);
N(19) = Fuori90((90 +(E(11) + E(20))) - 30) 'la somma dei simmetrici, vale a dire 11° e 20° estratto;di questi due valori
'ricavati prenderemo in esame i due numeri distanti 30 unità (simmetrici);
N(20) = Fuori90(Figura(E(01)) & Figura(E(11))) 'abbinamento delle figure speculari, ovvero figura del 1° e dell’11° estratto;
N(21) = Fuori90(Figura(E(10)) & Figura(E(20))) 'abbinamento delle figure speculari, ovvero figura del 10° e del 20° estratto;
N(22) = Fuori90(E(05) + E(15)) 'la somma dei medi, cioè il 5° ed il 15° estratto;
N(23) = Fuori90(E(01) + E(16)) '??????????? la somma degli incroci, ovvero 6° e 15° Estratto.
N(24) = Fuori90(E(06) + E(11)) '??????????? la somma degli incroci, ovvero 11° e 16° estratto.
Call EliminaRipetuti(N)
End Sub
Sub ContaNumeriinGioco(N,NU,CONTA)
CONTA = 00 : NU = Split("00." & StringaNumeri(N,,True),".")
Dim Num : For Num = 01 To UBound(NU) : CONTA = CONTA + 01 : Next
Call Scrivi("G 0001 Numeri in gioco : [ " & Format2(CONTA) & " ] " & StringaNumeri(N,,True),True)
End Sub
Sub VerificaEsitoNumeri(N,Es)
Dim nSorte,klp,nColpi,xlp,SF : nSorte = AMBATA_ : klp = 01 : nColpi = 20 : SF = 00
For xlp = 01 To nColpi : SF = SerieFreqDL(Es + xlp,Es + xlp,N,AMBATA_)
Dim RetEsito,RetColpi,RetEstratti,RetIdEstr
Call VerificaEsitoDL(N,Es + xlp,nSorte,klp,RetEsito,RetColpi,RetEstratti,RetIdEstr)
If RetEsito <> "" Then
Call ColoreTesto(02)
Call Scrivi("V N. [" & FormatSpace(StringaNumeri(N,,True),50) & "] [" & RetEstratti & " ] C. " & _
FormatSpace(xlp,03,True) & " " & FormatSpace(RetEsito,11) & "( " & SF & " ) " & FormattaStringa(Es + xlp,"00000") & " [" & _
IndiceAnnualeDL(Es + xlp) & " - " & DataEstrazioneDL(Es + xlp,,,"/") & "]",True)
Call ColoreTesto(00)
ElseIf RetEsito = "" And RetColpi < klp Then
Call ColoreTesto(00)
Call Scrivi() : Call Scrivi("in corso per altre " & nColpi - xlp + 01 & " estrazioni",True) : Call Scrivi()
Call ColoreTesto(00)
Else
Call ColoreTesto(00)
RetEsito =("Zero punti") : RetEstratti =(".. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..")
Call Scrivi(" N. [" & FormatSpace(StringaNumeri(N,,True),50) & "] [" & RetEstratti & " ] C. " & _
FormatSpace(xlp,03,True) & " " & FormatSpace(RetEsito,11) & "( " & SF & " ) " & FormattaStringa(Es + xlp,"00000") & " [" & _
IndiceAnnualeDL(Es + xlp) & " - " & DataEstrazioneDL(Es + xlp,,,"/") & "]",True)
Call ColoreTesto(00)
End If
If Es + xlp > EstrazioniArchivioDL Then Exit For
Next
If xlp > nColpi Then Call Scrivi("Interrotta per raggiunta durata") : Call Scrivi()
End Sub
Function FormattaSecondi(s)
Dim hh,Mm,Ss : hh = s \ 3600 : Mm =(s Mod 3600) \ 60 : Ss = s -((hh * 3600) +(Mm * 60))
Dim TimeStr : TimeStr = Format2(hh) & ":" & Format2(Mm) & ":" & Format2(Ss)
FormattaSecondi = TimeStr
End Function