Ciao e buonasera a tutti voi, luigiB ti ringrazio per avermi risposto , mi chiedi di inserire lo script, non mi dire niente come lo inserisco perche' ho dimenticato la procedura, quindi ora facendo un copia e incolla lo posto sperando che vada bene , ma non ne sono sicuro ok?? Ti ringrazio e ti saluto, Antonio.
Option Explicit
Dim clsHSS
Sub Main
Dim aComb
Dim nClasse
Dim nGaranzia
Dim EL,k,j
Dim sNumeri
Dim idComb
Dim nInizio,nFine
Dim idValoreDaAna
Dim sValoreUsato
Dim Tipoarchivio,sFileBd
Tipoarchivio = ScegliArchivio
If Tipoarchivio > 00 Then
If Tipoarchivio = 02 Then
If MsgBox("Vuoi aggiornare le estrazioni prima di eseguire il listato",vbQuestion + vbYesNo) = vbYes Then
Call AggiornaArchivioDL
End If
End If
' imposto il percorso per il file della base dati da usare
'---------------------------------------------------------------------------------
If Tipoarchivio = 01 Then sFileBd = GetDirectoryAppData & "BaseDati10Elotto.Dat"
If Tipoarchivio = 02 Then sFileBd = GetDirectoryAppData & "BaseDati10Elotto5M.Dat"
'---------------------------------------------------------------------------------
Call ImpostaArchivio10ELotto(Tipoarchivio)
' istanzio l'oggetto HSS
Set clsHSS = CreateObject("HSS.ClsHighSpeedStat")
' inizializzo l'archivio.N.B. E' la prima cosa da fare
'-----------------------------------------------------------------------------------------------------
Call clsHSS.Init(sFileBd,02) ' parametro 2 indica file 10 e lotto norm e 5M del programma spaziometria
'-----------------------------------------------------------------------------------------------------
EL = CInt(InputBox("QUANTE COMBINAZIONI ELENCARE","ELENCO COMBINAZIONI",90))
ReDim aCombMigliori(EL,05)
nClasse = ScegliClasse
nGaranzia = ScegliGaranzia
idValoreDaAna = ScegliValoreDaAnalizzare(sValoreUsato)
Call ImpostaArchivio10ELotto(Tipoarchivio)
nFine = EstrazioniArchivioDL
nInizio = 1
If nClasse > 00 And nGaranzia > 00 And nGaranzia <= nClasse And idValoreDaAna > 00 Then
Call SviluppaComb(aComb,nClasse)
For k = 01 To UBound(aComb)
Call AnalisiComb(aComb,k,nClasse,nGaranzia,aCombMigliori,nInizio,nFine,idValoreDaAna)
Call Messaggio("Statistica combinazioni in corso " & k & " per la sorte : " & NomeSorte(nClasse))
Call AvanzamentoElab(01,UBound(aComb),k)
If ScriptInterrotto Then Exit For
Next
Call Messaggio("")
ReDim aTitoli(05)
aTitoli(01) = "Combinazione"
aTitoli(02) = "Frequenza"
aTitoli(03) = "Ritardo"
aTitoli(04) = "RitardoMax"
aTitoli(05) = "Incr.Rit.Max"
Call Scrivi("Archivio " & Iif(Tipoarchivio = 01,"10 e lotto Serale","10 e lotto 5 minuti"))
Call Scrivi("Combinazioni di classe " & nClasse & " analizzate per punti " & nGaranzia)
Call Scrivi("La seguente lista mostra le prime " & Format2(EL) & " combinazioni in base al valore di " & sValoreUsato)
Call Scrivi("Range analizzato " & GetInfoEstrazioneDL(nInizio) & " fino a " & GetInfoEstrazioneDL(nFine))
Call Scrivi("Estrazioni analizzate totali : " &(EstrazioniRicercaDL))
Call Scrivi
Call InitTabella(aTitoli,1,,2,5)
For k = 01 To UBound(aCombMigliori)
sNumeri = ""
idComb = aCombMigliori(k,05)
For j = 01 To nClasse
sNumeri = sNumeri & Format2(aComb(idComb,j)) & "."
Next
ReDim ADati(05)
ADati(01) = Left(sNumeri,Len(sNumeri) - 01)
ADati(02) = aCombMigliori(k,01)
ADati(03) = aCombMigliori(k,02)
ADati(04) = aCombMigliori(k,03)
ADati(05) = aCombMigliori(k,04)
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 " & Format2(EL) & " Combinazioni "
End If
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 IncrRitMax
Dim Freq
Dim Valore
For k = 01 To nClasse
aNum(k) = aComb(idComb,k)
Next
Call clsHSS.StatisticaFormazioneDL(aNum,Garanzia,Rit,RitMax,IncrRitMax,Freq,nInizio,nFine)
Select Case idValoreDaAna
Case 01
Valore = Freq
Case 02
Valore = Rit
Case 03
Valore = RitMax
Case 04
Valore = IncrRitMax
End Select
For k = 01 To UBound(aCombMig)
If Valore >= aCombMig(k,0) Then
For j = UBound(aCombMig) To(k + 01) Step - 01
aCombMig(j,00) = aCombMig(j - 01,00)
aCombMig(j,01) = aCombMig(j - 01,01)
aCombMig(j,02) = aCombMig(j - 01,02)
aCombMig(j,03) = aCombMig(j - 01,03)
aCombMig(j,04) = aCombMig(j - 01,04)
aCombMig(j,05) = aCombMig(j - 01,05)
Next
aCombMig(k,00) = Valore
aCombMig(k,01) = Freq
aCombMig(k,02) = Rit
aCombMig(k,03) = RitMax
aCombMig(k,04) = IncrRitMax
aCombMig(k,05) = idComb
Exit For
End If
Next
End Sub
Sub SviluppaComb(aComb,Classe)
Dim k
ReDim aNum(90)
ScegliNumeri(aNum)
For k = 01 To UBound(aNum)
Next
aComb = SviluppoIntegrale(aNum,Classe)
End Sub
Function ScegliClasse()
ReDim aVoci(09)
aVoci(00) = " 01 - Estratto"
aVoci(01) = " 02 - Ambo"
aVoci(02) = " 03 - Terno"
aVoci(03) = " 04 - Quaterna"
aVoci(04) = " 05 - Cinquina"
aVoci(05) = " 06 - Sestina"
aVoci(06) = " 07 - Settina"
aVoci(07) = " 08 - Ottina"
aVoci(08) = " 09 - Novina"
aVoci(09) = " 10 - Decina"
ScegliClasse = ScegliOpzioneMenu(aVoci,02,"Scegli Sviluppo") + 01
End Function
Function ScegliGaranzia()
ReDim aVoci(09)
aVoci(00) = " 01 - Estratto"
aVoci(01) = " 02 - Ambo"
aVoci(02) = " 03 - Terno"
aVoci(03) = " 04 - Quaterna"
aVoci(04) = " 05 - Cinquina"
aVoci(05) = " 06 - Sestina"
aVoci(06) = " 07 - Settina"
aVoci(07) = " 08 - Ottina"
aVoci(08) = " 09 - Novina"
aVoci(09) = " 10 - Decina"
ScegliGaranzia = ScegliOpzioneMenu(aVoci,02,"Scegli garanzia") + 01
End Function
Function ScegliValoreDaAnalizzare(sValore)
ReDim aVoci(03)
Dim i
aVoci(00) = "Frequenza"
aVoci(01) = "Ritardo"
aVoci(02) = "Ritardo massimo"
aVoci(03) = "Incr.Rit.Max"
i = ScegliOpzioneMenu(aVoci,0,"Quale valore considerare per l'ordinamento ? ")
sValore = aVoci(i)
ScegliValoreDaAnalizzare = i + 01
End Function
Function ScegliArchivio()
ReDim aVoci(01)
aVoci(00) = "10 e lotto Serale"
aVoci(01) = "10 e lotto 5minuti"
ScegliArchivio = ScegliOpzioneMenu(aVoci,0,"Scegli aechivio") + 01
End Function