Quote Originariamente inviata da optime Visualizza il messaggio
posta qualcosa e vediamo di sistemarlo assieme
Ti dico grazie fin da ora, che si arrivi al fine o meno

Parto dall'inizio, così magari è più chiaro ciò che mi piacerebbe fare.
Questo piccolo programmino non fa altro che interfacciarsi con un software che tratta il gioco del lotto, software completamente scritto da una persona privata e assolutamente libero a tutti, quindi nessuna violazione di nessun tipo.
La stessa persona che scrisse il software mi aiutò all'epoca a scrivere il codice che ho adesso per eseguire l'aggiornamento dell'archivio estrazioni, nel mio caso mi interessava solo quello del 10elotto ogni 5 minuti.
Purtroppo il progetto è stato abbandonato e la persona che lo seguiva non ne ha più alcun interesse, mi piacerebbe poter continuare ad utilizzarlo potendo aggiornare l'archivio, null'altro.
Cosa che ho fatto fin poco fa scaricando il file in html come indicato qualche post sopra, ora come suggerito da alka sarebbe ottimo gestire il file json che è l'end point, ma ho difficoltà a gestirlo non avendolo mai fatto, come si evince non sono un programmatore, ma appassionato
Il programmino non faceva altro che prendere quel file dal web e farlo diventare archivio consultabile per il software principale, tutto qua.
La prima cosa che affrontammo all'epoca era il fatto di dover "ciclare" ogni volta il file per capire a che punto era fermo l'archivio delle estrazioni, essendo esse estratte ogni 5 minuti, cosa che con il VB6 io faccio così:

codice:
 sDataUltimaEstr = av(2)
    ' iniziamo il ciclo di lettura delle pagine html
    sNuovaData = sDataUltimaEstr  ' partiamo dall'ultima data disponbile
    
    ValTot = DateDiff("d", sDataUltimaEstr, Now) + 1 ' calcola i giorni totali dall'ultima in archivio a oggi
    
    bFerma = False
    
    Do While Format(sNuovaData, "yyyymmdd") <= Format(Now, "yyyymmdd")
        sLinkHtml = "https://www.lotto-italia.it/del/estrazioni-e-vincite/popup-pdf/estrazioni-giorno.json?data=" & Format(sNuovaData, "yyyymmdd")    ' costruisce il link base
        sFileLocal = App.Path & "\Temp\" & Format(sNuovaData, "yyyymmdd") & ".html"    ' costruuisce il percorso per il file in locale
        Call DownloadFromWeb(sLinkHtml, sFileLocal)    ' scarica il file
        ReDim aEstr(0) As STRUCT_ESTRAZIONE_10LOTTO
        
        LblDataAggiunta.Caption = sNuovaData
        
        Call LeggiFileHtmlTornaEstrazioni(sFileLocal, aEstr, Year(sNuovaData))    ' richiamo la funzione "LeggiFileHtmlTornaEstrazioni"
        Call SalvaEstrazioni(aEstr, sDataUltimaEstr, sNuovaData, NumEstr, TotInserite)    ' richiamo la funzione "SalvaEstrazioni"
        sNuovaData = DateAdd("d", 1, sNuovaData)    ' aggiunge un giorno e ottiene una nuova data
Poi con il codice che riporto qui andavamo ad alimentare le varie "variabili" che erano :
data, numero estrazione, numeri estratti e all'epoca numero oro che era l'unica cosa in più che avevano aggiunto.

La struttura dati era questa:

codice:
' struttura per accesso al file base dati estrazioni
Type STRUCT_DATA_EST
    nNumEstrazione As Integer
    GG As Integer
    Mm As Integer
    AA As Integer
End Type
Type STRUCT_ESTRAZIONE_10LOTTO
    idEstr As Long
    strctData As STRUCT_DATA_EST
    aNum(1 To 35) As Byte
    nNumOro As Byte
End Type
il codice che gestiva il tutto era quello postato sopra, è tanto lungo e qui non me lo lascia postare.

codice:
Function convertJsonToVariantArray(ByVal jsonString As String) As Variant()
Dim cleanedUpArray() As Variant
Dim brokenUpRows() As String


'Remove the first and last square bracket in the string
jsonString = Right$(jsonString, Len(jsonString) - 2)
jsonString = Left$(jsonString, Len(jsonString) - 2)
'Break up the string in an array
brokenUpRows = Split(jsonString, "], [")


Dim counter As Integer
counter = 0
Dim counter2 As Integer
Dim brokenUpCols As Variant


ReDim linkArray(UBound(brokenUpRows)) As String


For counter = 0 To UBound(brokenUpRows)
brokenUpCols = Split(brokenUpRows(counter), ",")
If counter = 0 Then
ReDim cleanedUpArray(UBound(brokenUpRows), UBound(brokenUpCols)) As Variant
End If
For counter2 = 0 To UBound(brokenUpCols)
cleanedUpArray(counter, counter2) = brokenUpCols(counter2)
Next
Next
convertJsonToVariantArray = cleanedUpArray
End Function
Però sono onesto, non so come amalgamarlo nel mio codice scritto all'epoca...ecco perchè ho chiesto aiuto.