Sub Main
Dim aComb
Dim nClasse
Dim nGaranzia
Dim k,j
Dim sNumeri
Dim idComb
Dim nInizio,nFine
Dim idValoreDaAna
Dim sValoreUsato
Dim TipoArchivio
el = CInt(InputBox("QUANTE COMBINAZIONI ELENCARE","ELENCO COMBINAZIONI",10))
ReDim aCombMigliori(el,4)
TipoArchivio = ScegliArchivio
nClasse = ScegliClasse
nGaranzia = ScegliGaranzia
idValoreDaAna = ScegliValoreDaAnalizzare(sValoreUsato)
Call ImpostaArchivio10ELotto(TipoArchivio)
nFine = EstrazioniArchivioDL
nInizio = 8077
If nClasse > 0 And nGaranzia > 0 And nGaranzia <= nClasse And idValoreDaAna > 0 Then
Call Messaggio("Sviluppo combinazioni di classe " & nClasse)
Call SviluppaComb(aComb,nClasse)
Call Messaggio("Statistica combinazioni in corso ")
For k = 1 To UBound(aComb)
Call AnalisiComb(aComb,k,nClasse,nGaranzia,aCombMigliori,nInizio,nFine,idValoreDaAna)
'If k Mod 20 = 0 Then
Call Messaggio("Statistica combinazioni in corso " & k)
Call AvanzamentoElab(1,UBound(aComb),k)
If ScriptInterrotto Then Exit For
'End If
Next
Call Messaggio("")
ReDim aTitoli(4)
aTitoli(1) = "Combinazione"
aTitoli(2) = "Frequenza"
aTitoli(3) = "Ritardo"
aTitoli(4) = "RitardoMax"
Call Scrivi("Archivio " & Iif(TipoArchivio = 1,"10 e lotto","10 e lotto 5 minuti"))
Call Scrivi("Combinazioni di classe " & nClasse & " analizzate per punti " & nGaranzia)
Call Scrivi("La seguente lista mostra le prime Tot combinazioni in base al valore di " & sValoreUsato)
Call Scrivi("Range analizzato " & GetInfoEstrazioneDL(nInizio) & " fino a " & GetInfoEstrazioneDL(nFine))
Call Scrivi("Estrazioni analizzate totali : " &(nFine + 1) - nInizio)
Call Scrivi
'Call Scrivi("Numeri scelti..." & aComb)
Call InitTabella(aTitoli,1,,2,5)
For k = 1 To UBound(aCombMigliori)
sNumeri = ""
idComb = aCombMigliori(k,4)
For j = 1 To nClasse
sNumeri = sNumeri & Format2(aComb(idComb,j)) & "."
Next
ReDim ADati(4)
ADati(1) = Left(sNumeri,Len(sNumeri) - 1)
ADati(2) = aCombMigliori(k,1)
ADati(3) = aCombMigliori(k,2)
ADati(4) = aCombMigliori(k,3)
Call AddRigaTabella(ADati)
Next
Call CreaTabella()
Else
MsgBox "Selezionare la classe di sviluppo e la garanzia , " & _
"si ricorda che la garanzia non puo essere maggiore della classe di sviluppo " & _
"e che bisogna scegliere quale valore statistico considerare per " & _
"alimentare la lista delle prime 100 Combinazioni "
End If
End Sub
Sub AnalisiComb(aComb,idComb,nClasse,Garanzia,aCombMig,nInizio,nFine,idValoreDaAna)
Dim k,j
ReDim aNum(nClasse)
Dim Rit
Dim RitMax
Dim Freq
Dim Valore
For k = 1 To nClasse
aNum(k) = aComb(idComb,k)
Next
Call StatisticaFormazioneDL(aNum,Garanzia,Rit,RitMax,0,Freq,nInizio,nFine)
Select Case idValoreDaAna
Case 1
Valore = Freq
Case 2
Valore = Rit
Case 3
Valore = RitMax
End Select
For k = 1 To UBound(aCombMig)
If Valore >= aCombMig(k,0) Then
For j = UBound(aCombMig) To(k + 1) Step - 1
aCombMig(j,0) = aCombMig(j - 1,0)
aCombMig(j,1) = aCombMig(j - 1,1)
aCombMig(j,2) = aCombMig(j - 1,2)
aCombMig(j,3) = aCombMig(j - 1,3)
aCombMig(j,4) = aCombMig(j - 1,4)
Next
aCombMig(k,0) = Valore
aCombMig(k,1) = Freq
aCombMig(k,2) = Rit
aCombMig(k,3) = RitMax
aCombMig(k,4) = idComb
Exit For
End If
Next
End Sub
Sub SviluppaComb(aComb,Classe)
Dim k
ReDim aNum(90)
ScegliNumeri(aNum)
For k = 1 To UBound(aNum)
'aNum(k) = UBound (k)
Next
aComb = SviluppoIntegrale(aNum,Classe)
End Sub
Function ScegliClasse()
ReDim aVoci(3)
aVoci(0) = "Estratto"
aVoci(1) = "Ambo"
aVoci(2) = "Terno"
aVoci(3) = "Quaterna"
ScegliClasse = ScegliOpzioneMenu(aVoci,2,"Secegli tipo combinazione") + 1
End Function
Function ScegliGaranzia()
ReDim aVoci(3)
aVoci(0) = "Estratto"
aVoci(1) = "Ambo"
aVoci(2) = "Terno"
aVoci(3) = "Quaterna"
ScegliGaranzia = ScegliOpzioneMenu(aVoci,2,"Secegli garanzia") + 1
End Function
Function ScegliValoreDaAnalizzare(sValore)
ReDim aVoci(2)
Dim i
aVoci(0) = "Frequenza"
aVoci(1) = "Ritardo"
aVoci(2) = "Ritardo massimo"
i = ScegliOpzioneMenu(aVoci,0,"Quale valore considerare per l'ordinamento ? ")
sValore = aVoci(i)
ScegliValoreDaAnalizzare = i + 1
End Function
Function ScegliArchivio()
ReDim aVoci(1)
aVoci(0) = "10 e lotto"
aVoci(1) = "10 e lotto 5 min"
ScegliArchivio = ScegliOpzioneMenu(aVoci,0,"Secegli aechivio") + 1
End Function