Novità

AIUTO , SE POTETE, AGGIORNAMENTO 10ELOTTO5MIN

comunque c'è un errore ... anumeri contiene numeri perche lo hai dichiarato stringa ? , Inoltre aNumeri è un parametro di una funzione precostituita , come si vede dalla documentazione non è tipizzato , è un array senza tipo.
Anche se funziona (per ragioni che non sto qui a spiegarti per non confonderti le idee) l'array aNumeri va dichiarato senza tipo.
Inoltre per sicurezza conviene non dichiararlo in cima alla funzione con dim , bensi prima del ciclo n con Redim.
Cosi si è certi che prima di leggere i numeri della nuova estrazione l'array non contenga nessuno di quelli vecchi.
Altra raccomandazioen indenta il codice .. ad esempio nel ciclo n
 
Luigi, sei proprio come i professori!

Sul più bello quando uno pensa, finalmente c'è l'ho fatta....esce un nuovo quesito da risolvere!

Non mi tiro certo indietro e implementerò anche quest'ultima funzione!

Ora devo prima studiare bene, come ogni volta, quello che mi hai chiesto tu..e poi devo farlo ahimè :)



Ultima ... hihi beato te ... vedrai .-) Avoglia acose che dobbiamo fare ...
Ad ogni modo il compito è semplice vanno usati concetti gia applicati nel codice che abbiamo gia scritto.
 
comunque c'è un errore ... anumeri contiene numeri perche lo hai dichiarato stringa ? , Inoltre aNumeri è un parametro di una funzione precostituita , come si vede dalla documentazione non è tipizzato , è un array senza tipo.
Anche se funziona (per ragioni che non sto qui a spiegarti per non confonderti le idee) l'array aNumeri va dichiarato senza tipo.
Inoltre per sicurezza conviene non dichiararlo in cima alla funzione con dim , bensi prima del ciclo n con Redim.
Cosi si è certi che prima di leggere i numeri della nuova estrazione l'array non contenga nessuno di quelli vecchi.
Altra raccomandazioen indenta il codice .. ad esempio nel ciclo n

Effettivamente qui c'era l'errore di averlo dichiarato come stringa, ora come da codice sotto dichiaro l'array senza tipo prima del ciclo n con il ReDim :

Codice:
Private Sub SalvaEstrazioni(aEstr() As STRUCT_ESTRAZIONE_10LOTTO, sDataUltimaEstrArchivio As String, sDataCorrente As String, NumEstr As Long)
   Dim k As Long
   Dim n As Long
   Dim sFile As String
   Dim sData As String
   Dim sNumEst As Integer
   
   sFile = GetDirectoryAppData & "BaseDati10Elotto5M.Dat" ' Setto il path del percorso dove andare a scrivere le estrazioni

   If sDataUltimaEstrArchivio = sDataCorrente Then ' Se l'ultima data rilevata in archivio è uguale alla data odierna
        For k = 1 To UBound(aEstr) ' Cicla l'array aEstr da 1 a 288
            If aEstr(k).strctData.nNumEstrazione > NumEstr Then ' Se il numero estrazione della pagina html scaricata è maggiore dell'ultimo in archivio
                ReDim aNumeri(20) ' Ridimensiono l'array aNumeri a 20 elementi
                For n = 1 To 20 ' Cicla i numeri da 1 a 20
                aNumeri(n) = aEstr(k).aNum(n) ' Copio i 20 elementi dell'array membro di aEstr dentro il nuovo array aNumeri
                Next
                sData = sDataCorrente ' Setto la variabile alla data corrente
                sNumEst = aEstr(k).strctData.nNumEstrazione ' Setto la variabile con il valore di numestrazione
                Call SalvaEstrazioneDL(aNumeri, sData, sNumEst, sFile) ' Richiamo la procedura che salva le estrazioni
            End If
        Next
    Else
        For k = 1 To UBound(aEstr) ' Cicla l'array aEstr da 1 a 288
                ReDim aNumeri(20) ' Ridimensiono l'array aNumeri a 20 elementi
                For n = 1 To 20 ' Cicla i numeri da 1 a 20
                aNumeri(n) = aEstr(k).aNum(n) ' Copio i 20 elementi dell'array membro di aEstr dentro il nuovo array aNumeri
                Next
                sData = sDataCorrente ' Setto la variabile alla data corrente
                sNumEst = aEstr(k).strctData.nNumEstrazione ' Setto la variabile con il valore di numestrazione
                Call SalvaEstrazioneDL(aNumeri, sData, sNumEst, sFile) ' Richiamo la procedura che salva le estrazioni
        Next
    End If
End Sub


bravissimo , ma il compito mica è finito ... allora qui ci farebbe comodo una funzione che riceva due parametri , il primo parametro deve poter contenere un elemento di aestr , il secondo parametro deve poter contenere l'array aNumeri.
A tale funzione passeremo l'elemento K dell'array aEstr , e l'array aNum Dimensionato a 0 , la funzione ridimensionera a 20 aNum e lo riempira
con i numeri presi dall'elemento di aEstr.
Tutte cose che abiamo gia fatto quindi ci dovresti riuscire a farmi questa funzione.
Questa funzione andra lanciata al posto del ciclo che hia fatto. Anche se funziona gia cosi è meglio farlo anche per fissarti i concetti e vedere come riapplicarli.

Qui Luigi, anche se è vero che lo abbiamo fatto strada facendo, mi devi spiegare un po' meglio che cosa infine vuoi ottenere...io immagino qualcosa del tipo:

Codice:
Private Sub SalvaEstrazioni(aEstr() As STRUCT_ESTRAZIONE_10LOTTO, sDataUltimaEstrArchivio As String, sDataCorrente As String, NumEstr As Long)
   Dim k As Long
   Dim n As Long
   Dim sFile As String
   Dim sData As String
   Dim sNumEst As Integer
   
   sFile = GetDirectoryAppData & "BaseDati10Elotto5M.Dat" ' Setto il path del percorso dove andare a scrivere le estrazioni

   If sDataUltimaEstrArchivio = sDataCorrente Then ' Se l'ultima data rilevata in archivio è uguale alla data odierna
        For k = 1 To UBound(aEstr) ' Cicla l'array aEstr da 1 a 288
            If aEstr(k).strctData.nNumEstrazione > NumEstr Then ' Se il numero estrazione della pagina html scaricata è maggiore dell'ultimo in archivio
                
                [COLOR="#FF0000"][B]Call Quello_che_vuole_Luigi(parametro, parametro)[/B][/COLOR]

                sData = sDataCorrente ' Setto la variabile alla data corrente
                sNumEst = aEstr(k).strctData.nNumEstrazione ' Setto la variabile con il valore di numestrazione
                Call SalvaEstrazioneDL(aNumeri, sData, sNumEst, sFile) ' Richiamo la procedura che salva le estrazioni
            End If
        Next
    Else
        For k = 1 To UBound(aEstr) ' Cicla l'array aEstr da 1 a 288
                
                [COLOR="#FF0000"][B]Call Quello_che_vuole_Luigi(parametro, parametro)[/B][/COLOR]

                sData = sDataCorrente ' Setto la variabile alla data corrente
                sNumEst = aEstr(k).strctData.nNumEstrazione ' Setto la variabile con il valore di numestrazione
                Call SalvaEstrazioneDL(aNumeri, sData, sNumEst, sFile) ' Richiamo la procedura che salva le estrazioni
        Next
    End If
End Sub

Non so se è quello che intendevi.....

Ultima ... hihi beato te ... vedrai .-) Avoglia acose che dobbiamo fare ...
Ad ogni modo il compito è semplice vanno usati concetti gia applicati nel codice che abbiamo gia scritto.

Questa frase mi spaventa.....che intendi dire :) ????
 
Esatto , la funzione va messa proprio li .. e deve fare le stesse cose che fa il cilclo n , quindi in sintesi ti ho chiesto di spostare il ciclo n dentro una funzione esterna alla procedura.
Questo perche come vedi il ciclo n si ripete nnei due casi dell' If (data uguale e non) quindi noi inseriami quel codice ripetuto in una sub che poi lancieremo al posto del ciclo , è la nuova sub che conterra il ciclo.

Per le altre cose ovviamente mi riferisco all'interfaccia.
Vorrai far vedere prima di iiziare l'aggiornamento qualìè l'ultima estr disponibile ? vorrai mostrare una progress bar dureante il processo ?
Vorrai dare la possibilita di interrompere se l'utente vuole .. insomma cose cosi...


ciao
 
Ciao Luigi,

mi fa piacere che avevo ben interpretato la Tua richiesta, per il resto posso dire solo...Certo!

Ovviamente mi fà piacere creare un'interfaccia, magari mi piacerebbe riuscire a riproporre un qualcosa di Tua fattura..:

Aggiorna.jpg

Tu credi davvero che una cosa simile rientri nelle mie capacità?? :)


Ciao
 
Eccomi di nuovo qua Luigi,

allora dopo averci pensato un po' su ho elaborato quanto sotto:

Codice:
Private Sub SalvaEstrazioni(aEstr() As STRUCT_ESTRAZIONE_10LOTTO, sDataUltimaEstrArchivio As String, sDataCorrente As String, NumEstr As Long)
    Dim k As Long
    Dim n As Long
    Dim sFile As String
    Dim sData As String
    Dim sNumEst As Integer

    sFile = GetDirectoryAppData & "BaseDati10Elotto5M.Dat"    ' Setto il path del percorso dove andare a scrivere le estrazioni

    If sDataUltimaEstrArchivio = sDataCorrente Then    ' Se l'ultima data rilevata in archivio è uguale alla data odierna
        For k = 1 To UBound(aEstr)    ' Cicla l'array aEstr da 1 a 288
            If aEstr(k).strctData.nNumEstrazione > NumEstr Then    ' Se il numero estrazione della pagina html scaricata è maggiore dell'ultimo in archivio
                ReDim aNumeri(0)    ' Ridimensiono l'array aNumeri a 20 elementi
                Call LeggiEstrazioni(aEstr, aNumeri)    ' Richiamo la funzione LeggiEstrazioni
                sData = sDataCorrente    ' Setto la variabile alla data corrente
                sNumEst = aEstr(k).strctData.nNumEstrazione    ' Setto la variabile con il valore di numestrazione
                Call SalvaEstrazioneDL(aNumeri, sData, sNumEst, sFile)    ' Richiamo la procedura che salva le estrazioni
            End If
        Next
    Else
        For k = 1 To UBound(aEstr)    ' Cicla l'array aEstr da 1 a 288
            ReDim aNumeri(0)    ' Ridimensiono l'array aNumeri a 20 elementi
            Call LeggiEstrazioni(aEstr, aNumeri)    ' Richiamo la funzione LeggiEstrazioni
            sData = sDataCorrente    ' Setto la variabile alla data corrente
            sNumEst = aEstr(k).strctData.nNumEstrazione    ' Setto la variabile con il valore di numestrazione
            Call SalvaEstrazioneDL(aNumeri, sData, sNumEst, sFile)    ' Richiamo la procedura che salva le estrazioni
        Next
    End If

End Sub
Private Sub LeggiEstrazioni(aEstr() As STRUCT_ESTRAZIONE_10LOTTO, aNumeri())
    Dim k As Long
    Dim n As Long

        ReDim aNumeri(20) ' Ridimensiono l'array aNumeri a 20 elementi
            For n = 1 To 20 ' Cicla i numeri da 1 a 20
            aNumeri(n) = aEstr(k).aNum(n) ' Copio i 20 elementi dell'array membro di aEstr dentro il nuovo array aNumeri
            Next ' Continua ciclo for
End Sub

Che ne dici?
 
Ultima modifica:
ciao Moro , Auguri , di buona Pasqua.
Dico che non funziona ...l'idea è giusta ,solo che non devi portarti appresso l'intero array aEstr ma solo il suo elemeto k
Anche perche se noti il ciclo che hai scritto

Codice:
     For n = 1 To 20 ' Cicla i numeri da 1 a 20
            aNumeri(n) = aEstr(k).aNum(n) ' Copio i 20 elementi dell'array membro di aEstr dentro il nuovo array aNumeri
            Next ' Continua ciclo for

da dove la prende la variabile k ?
A questa nuova procedura ripeto deve arrivare unsolo eleento dell'array aEstr .. come si fa ? Lo abbiamo gia fatto...
 
Ciao Luigi,

Prima di tutto buongiorno e Tantissimi Auguri di Buona Pasqua anche a Te !

Riflettendo sulla Tua osservazione, effettivamente passavo alla function tutto l'array e non solo il membro che serve a me...

Con le modifiche apportate ho scritto ora nel seguente modo:

Codice:
Private Sub SalvaEstrazioni(aEstr() As STRUCT_ESTRAZIONE_10LOTTO, sDataUltimaEstrArchivio As String, sDataCorrente As String, NumEstr As Long)
    Dim k As Long
    Dim n As Long
    Dim sFile As String
    Dim sData As String
    Dim sNumEst As Integer

    sFile = GetDirectoryAppData & "BaseDati10Elotto5M.Dat"    ' Setto il path del percorso dove andare a scrivere le estrazioni

    If sDataUltimaEstrArchivio = sDataCorrente Then    ' Se l'ultima data rilevata in archivio è uguale alla data odierna
        For k = 1 To UBound(aEstr)    ' Cicla l'array aEstr da 1 a 288
            If aEstr(k).strctData.nNumEstrazione > NumEstr Then    ' Se il numero estrazione della pagina html scaricata è maggiore dell'ultimo in archivio
                ReDim aNumeri(0)    ' Ridimensiono l'array aNumeri a 20 elementi
                Call LeggiNumeriEstrazioni(aEstr(k), aNumeri)    ' Richiamo la funzione LeggiNumeriEstrazioni
                sData = sDataCorrente    ' Setto la variabile alla data corrente
                sNumEst = aEstr(k).strctData.nNumEstrazione    ' Setto la variabile con il valore di numestrazione
                Call SalvaEstrazioneDL(aNumeri, sData, sNumEst, sFile)    ' Richiamo la procedura che salva le estrazioni
            End If
        Next
    Else
        For k = 1 To UBound(aEstr)    ' Cicla l'array aEstr da 1 a 288
            ReDim aNumeri(0)    ' Ridimensiono l'array aNumeri a 20 elementi
            Call LeggiNumeriEstrazioni(aEstr(k), aNumeri)    ' Richiamo la funzione LeggiNumeriEstrazioni
            sData = sDataCorrente    ' Setto la variabile alla data corrente
            sNumEst = aEstr(k).strctData.nNumEstrazione    ' Setto la variabile con il valore di numestrazione
            Call SalvaEstrazioneDL(aNumeri, sData, sNumEst, sFile)    ' Richiamo la procedura che salva le estrazioni
        Next
    End If

End Sub
Private Sub LeggiNumeriEstrazioni(k As STRUCT_ESTRAZIONE_10LOTTO, aNumeri())
    Dim n As Long

        ReDim aNumeri(20) ' Ridimensiono l'array aNumeri a 20 elementi
            For n = 1 To 20 ' Cicla i numeri da 1 a 20
            aNumeri(n) = k.aNum(n) ' Copio i 20 elementi dell'array (k) membro di aEstr dentro il nuovo array aNumeri
            Next ' Continua ciclo for
End Sub

Ora passo alla sub LeggiNumeriEstrazioni solo l'elemento "k" membro dell'array aEstr, la funzione lo ridimensiona a 20 e lo popola con i numeri.

Che nè pensi Tu ?
 
che dovrebbe funzionare , solo che speravo usassi nomi di variabili meno ambigui .. k di solito si usa per i cicli non per dichiarare un tipo udt ..poi è chiaro che uno le variabili le puo dichiarare come vuole ...lo hai provato il codice ?
 
Ciao Luigi,

si in effetti hai ragione, meglio la lettera k come ciclo....

Ho modificato così :

Codice:
Private Sub SalvaEstrazioni(aEstr() As STRUCT_ESTRAZIONE_10LOTTO, sDataUltimaEstrArchivio As String, sDataCorrente As String, NumEstr As Long)
    Dim k As Long
    Dim n As Long
    Dim sFile As String
    Dim sData As String
    Dim sNumEst As Integer

    sFile = GetDirectoryAppData & "BaseDati10Elotto5M.Dat"    ' Setto il path del percorso dove andare a scrivere le estrazioni

    If sDataUltimaEstrArchivio = sDataCorrente Then    ' Se l'ultima data rilevata in archivio è uguale alla data odierna
        For k = 1 To UBound(aEstr)    ' Cicla l'array aEstr da 1 a 288
            If aEstr(k).strctData.nNumEstrazione > NumEstr Then    ' Se il numero estrazione della pagina html scaricata è maggiore dell'ultimo in archivio
                ReDim aNumeri(0)    ' Ridimensiono l'array aNumeri a 20 elementi
                Call LeggiNumeriEstrazioni(aEstr(k), aNumeri)    ' Richiamo la funzione LeggiNumeriEstrazioni
                sData = sDataCorrente    ' Setto la variabile alla data corrente
                sNumEst = aEstr(k).strctData.nNumEstrazione    ' Setto la variabile con il valore di numestrazione
                Call SalvaEstrazioneDL(aNumeri, sData, sNumEst, sFile)    ' Richiamo la procedura che salva le estrazioni
            End If
        Next
    Else
        For k = 1 To UBound(aEstr)    ' Cicla l'array aEstr da 1 a 288
            ReDim aNumeri(0)    ' Ridimensiono l'array aNumeri a 20 elementi
            Call LeggiNumeriEstrazioni(aEstr(k), aNumeri)    ' Richiamo la funzione LeggiNumeriEstrazioni
            sData = sDataCorrente    ' Setto la variabile alla data corrente
            sNumEst = aEstr(k).strctData.nNumEstrazione    ' Setto la variabile con il valore di numestrazione
            Call SalvaEstrazioneDL(aNumeri, sData, sNumEst, sFile)    ' Richiamo la procedura che salva le estrazioni
        Next
    End If

End Sub
Private Sub LeggiNumeriEstrazioni(sNum As STRUCT_ESTRAZIONE_10LOTTO, aNumeri())
    Dim n As Long

        ReDim aNumeri(20) ' Ridimensiono l'array aNumeri a 20 elementi
            For n = 1 To 20 ' Cicla i numeri da 1 a 20
            aNumeri(n) = sNum.aNum(n) ' Copio i 20 elementi dell'array (k) membro di aEstr dentro il nuovo array aNumeri
            Next ' Continua ciclo for
End Sub

Comunque si, ho provato il tutto e funziona alla grande!
 
benissimo , bravo quindi ora mancano poche cose prima di poter rilasciare questa utility.
Indenta sempre il codice ..

queste due righe non sono necessarie , non c'è bisogno di copiare una variabile in un'altra variabile.
Passa direttamente le variabili principali

Codice:
sData = sDataCorrente    ' Setto la variabile alla data corrente
sNumEst = aEstr(k).strctData.nNumEstrazione    ' Setto la variabile con il valore di numestrazione

la lettera s minuscola sta per stringa , per un numerico usa n

Codice:
Dim sNumEst As Integer
 
Ultima modifica di un moderatore:
Ecco Luigi,

riposto il codice con le ultime modifichine da Te suggerite...

Codice:
Private Sub SalvaEstrazioni(aEstr() As STRUCT_ESTRAZIONE_10LOTTO, sDataUltimaEstrArchivio As String, sDataCorrente As String, NumEstr As Long)
    Dim k As Long
    Dim n As Long
    Dim sFile As String
    Dim sData As String
    Dim nNumEst As Integer

    sFile = GetDirectoryAppData & "BaseDati10Elotto5M.Dat"    ' Setto il path del percorso dove andare a scrivere le estrazioni
    sData = sDataCorrente    ' Setto la variabile alla data corrente
    nNumEst = aEstr(k).strctData.nNumEstrazione    ' Setto la variabile con il valore di numestrazione

    If sDataUltimaEstrArchivio = sDataCorrente Then    ' Se l'ultima data rilevata in archivio è uguale alla data odierna
        For k = 1 To UBound(aEstr)    ' Cicla l'array aEstr da 1 a 288
            If aEstr(k).strctData.nNumEstrazione > NumEstr Then    ' Se il numero estrazione della pagina html scaricata è maggiore dell'ultimo in archivio
                ReDim aNumeri(0)    ' Ridimensiono l'array aNumeri a 20 elementi
                Call LeggiNumeriEstrazioni(aEstr(k), aNumeri)    ' Richiamo la funzione LeggiNumeriEstrazioni
                Call SalvaEstrazioneDL(aNumeri, sData, nNumEst, sFile)    ' Richiamo la procedura che salva le estrazioni
            End If
        Next
    Else
        For k = 1 To UBound(aEstr)    ' Cicla l'array aEstr da 1 a 288
            ReDim aNumeri(0)    ' Ridimensiono l'array aNumeri a 20 elementi
            Call LeggiNumeriEstrazioni(aEstr(k), aNumeri)    ' Richiamo la funzione LeggiNumeriEstrazioni
            Call SalvaEstrazioneDL(aNumeri, sData, nNumEst, sFile)    ' Richiamo la procedura che salva le estrazioni
        Next
    End If

End Sub
Private Sub LeggiNumeriEstrazioni(nNum As STRUCT_ESTRAZIONE_10LOTTO, aNumeri())
    Dim n As Long

    ReDim aNumeri(20)    ' Ridimensiono l'array aNumeri a 20 elementi
    For n = 1 To 20    ' Cicla i numeri da 1 a 20
        aNumeri(n) = nNum.aNum(n)    ' Copio i 20 elementi dell'array (k) membro di aEstr dentro il nuovo array aNumeri
    Next    ' Continua ciclo for
End Sub

Per l'indentazione mi sembra ci sia...intendi altro Tu?
 
ciao Moro ... C'è un errore in questa linea.

Codice:
    nNumEst = aEstr(k).strctData.nNumEstrazione    ' Setto la variabile con il valore di numestrazione
l'hai tirata fuori dal ciclo ora k da dove lo prende ?

inoltre , tu il valore da passsare a SalvaEstrazioneDl gia lo hai dentro aEstr(k).strctData.nNumEstrazione
non è necessario copiarlo prima in nnumest. Puoi passare direttamente aEstr(k).strctData.nNumEstrazione
stessa cosa per sData

scusa la pignoleria anche qui ambia il nome di variabile

nNum As STRUCT_ESTRAZIONE_10LOTTO

chiamalo strctEstr o strctNum come ti pare ma non con la n miuscola davanti è un udt non un numero..

ciao !
 
Ultima modifica di un moderatore:
Ciao Luigi, molto esigente e pignolo! :)

Codice:
Private Sub SalvaEstrazioni(aEstr() As STRUCT_ESTRAZIONE_10LOTTO, sDataUltimaEstrArchivio As String, sDataCorrente As String, NumEstr As Long)
    Dim k As Long
    Dim n As Long
    Dim sFile As String
    Dim sData As String
    Dim nNumEst As Integer

    sFile = GetDirectoryAppData & "BaseDati10Elotto5M.Dat"    ' Setto il path del percorso dove andare a scrivere le estrazioni
    
    If sDataUltimaEstrArchivio = sDataCorrente Then    ' Se l'ultima data rilevata in archivio è uguale alla data odierna
        For k = 1 To UBound(aEstr)    ' Cicla l'array aEstr da 1 a 288
            If aEstr(k).strctData.nNumEstrazione > NumEstr Then    ' Se il numero estrazione della pagina html scaricata è maggiore dell'ultimo in archivio
                ReDim aNumeri(0)    ' Ridimensiono l'array aNumeri a 20 elementi
                Call LeggiNumeriEstrazioni(aEstr(k), aNumeri)    ' Richiamo la funzione LeggiNumeriEstrazioni
                Call SalvaEstrazioneDL(aNumeri, sDataCorrente, aEstr(k).strctData.nNumEstrazione, sFile)    ' Richiamo la procedura che salva le estrazioni
            End If
        Next
    Else
        For k = 1 To UBound(aEstr)    ' Cicla l'array aEstr da 1 a 288
            ReDim aNumeri(0)    ' Ridimensiono l'array aNumeri a 20 elementi
            Call LeggiNumeriEstrazioni(aEstr(k), aNumeri)    ' Richiamo la funzione LeggiNumeriEstrazioni
            Call SalvaEstrazioneDL(aNumeri, sDataCorrente, aEstr(k).strctData.nNumEstrazione, sFile)    ' Richiamo la procedura che salva le estrazioni
        Next
    End If

End Sub

Private Sub LeggiNumeriEstrazioni(strctNum As STRUCT_ESTRAZIONE_10LOTTO, aNumeri())
    Dim n As Long

    ReDim aNumeri(20)    ' Ridimensiono l'array aNumeri a 20 elementi
    For n = 1 To 20    ' Cicla i numeri da 1 a 20
        aNumeri(n) = strctNum.aNum(n)    ' Copio i 20 elementi dell'array (k) membro di aEstr dentro il nuovo array aNumeri
    Next    ' Continua ciclo for

End Sub
 
Ciao Luigi, molto esigente e pignolo! :)


ahahha è per questo che anche questa riga
Codice:
 ReDim aNumeri(0)    ' Ridimensiono l'array aNumeri a 20 elementi

la puoi levare e metterla una sola volta sotto la riga sFile=...

tanto poi aNumeri viene comunque ridimensionato dentro LeggiNumeriEstrazioni.

Codice:
For k = 1 To UBound(aEstr)    ' Cicla l'array aEstr da 1 a 288

non cicla fino a 288 ma fino a tutte le estrazioni lette dalla pagina html , se lanci l'aggiornamento alle 18.00 ad esempio mica hai 288 estrazioni :-).

Sembro pignolo ma è per farti capire...
 
Ultima modifica di un moderatore:
Sembri pignolo :) ???

Scherzo Luigi, fai bene a far così..altrimenti non entra in testa!

Chissà se ora va bene secondo la Tua pignoleria...:) :)

Codice:
Private Sub SalvaEstrazioni(aEstr() As STRUCT_ESTRAZIONE_10LOTTO, sDataUltimaEstrArchivio As String, sDataCorrente As String, NumEstr As Long)
    Dim k As Long
    Dim n As Long
    Dim sFile As String
    Dim sData As String
    Dim nNumEst As Integer

    sFile = GetDirectoryAppData & "BaseDati10Elotto5M.Dat"    ' Setto il path del percorso dove andare a scrivere le estrazioni
    ReDim aNumeri(0)    ' Ridimensiono l'array aNumeri a 0 elementi
    
    If sDataUltimaEstrArchivio = sDataCorrente Then    ' Se l'ultima data rilevata in archivio è uguale alla data odierna
        For k = 1 To UBound(aEstr)    ' Cicla l'array aEstr da 1 a quante estrazioni legge nella pagina html
            If aEstr(k).strctData.nNumEstrazione > NumEstr Then    ' Se il numero estrazione della pagina html scaricata è maggiore dell'ultimo in archivio
                Call LeggiNumeriEstrazioni(aEstr(k), aNumeri)    ' Richiamo la funzione LeggiNumeriEstrazioni
                Call SalvaEstrazioneDL(aNumeri, sDataCorrente, aEstr(k).strctData.nNumEstrazione, sFile)    ' Richiamo la procedura che salva le estrazioni
            End If
        Next
    Else
        For k = 1 To UBound(aEstr)    ' Cicla l'array aEstr da 1 a quante estrazioni legge nella pagina html
            Call LeggiNumeriEstrazioni(aEstr(k), aNumeri)    ' Richiamo la funzione LeggiNumeriEstrazioni
            Call SalvaEstrazioneDL(aNumeri, sDataCorrente, aEstr(k).strctData.nNumEstrazione, sFile)    ' Richiamo la procedura che salva le estrazioni
        Next
    End If

End Sub

Private Sub LeggiNumeriEstrazioni(strctNum As STRUCT_ESTRAZIONE_10LOTTO, aNumeri())
    Dim n As Long

    ReDim aNumeri(20)    ' Ridimensiono l'array aNumeri a 20 elementi
    For n = 1 To 20    ' Cicla i numeri da 1 a 20
        aNumeri(n) = strctNum.aNum(n)    ' Copio i 20 elementi dell'array (k) membro di aEstr dentro il nuovo array aNumeri
    Next    ' Continua ciclo for

End Sub
 
Ultima modifica:
bene . non lho provato ma ad occhio sembra ottimo.
Ora rimane da disegnare un 'iterfaccia sul form , con i controlli dove mostrare l'ultima estrazione in archivio . una progressbar ,e le altre cose che ti vengno in mente,
 
Bene Luigi,

mi fa piacere sentire da Te "sembra ottimo" !

Per l'interfaccia, mi intriga molto il discorso progressbar...neanche nel Tuo ufficiale di Spaziometria mi pare ci sia.

Avevi per caso in mente già qualcosa Tu che si possa implementare nel form ??
 
Ultima modifica:
Ciao Luigi, allora a quanto pare ho carta bianca...

Per prima cosa mi atterrei ai colori di Spaziometria, inutile farne altri...

Avevo pensato ad un qualcosa di simile al Tuo, ed ho buttato giù un'idea di questo tipo:

Form.jpg

Ovviamente mi piacerebbe avere anche tutte le altre funzioni che avevi inserito Tu, tipo : aggiungi tra le mancanti, mantieni solo un tot di estrazioni, aggiorna veloce da Silop etc..etc..ma non sono sicuro di avere le potenzialità di inserire tutte quelle funzioni.


Che ne pensi Luigi?




Carmine
 
Ultima modifica:

Ultima estrazione Lotto

  • Estrazione del lotto
    martedì 21 gennaio 2025
    Bari
    78
    09
    70
    03
    23
    Cagliari
    32
    88
    30
    13
    45
    Firenze
    87
    23
    15
    39
    86
    Genova
    71
    48
    67
    59
    23
    Milano
    58
    50
    80
    85
    29
    Napoli
    90
    81
    79
    82
    62
    Palermo
    70
    33
    90
    05
    10
    Roma
    15
    71
    55
    85
    76
    Torino
    89
    09
    18
    33
    69
    Venezia
    44
    80
    82
    73
    58
    Nazionale
    80
    25
    13
    63
    17
    Estrazione Simbolotto
    Bari
    39
    36
    34
    14
    31

Ultimi Messaggi

Indietro
Alto