Visualizzazione dei risultati da 1 a 10 su 12

Hybrid View

  1. #1
    posta qualcosa e vediamo di sistemarlo assieme

  2. #2
    Utente di HTML.it
    Registrato dal
    Oct 2006
    Messaggi
    24
    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.

  3. #3
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,482
    Quote Originariamente inviata da Moro_80 Visualizza il messaggio
    Però sono onesto, non so come amalgamarlo nel mio codice scritto all'epoca...ecco perchè ho chiesto aiuto.
    Qui si da per scontato che, parlando di "programmazione in Visual Basic", chi pone un problema abbia comunque delle conoscenze minime del linguaggio o la possibilità di scrivere del codice, una volta indirizzato sulla strada giusta.

    Se ciò non è così, allora non si tratta di "chiedere aiuto" o semplicemente "dare una mano", ma sobbarcarsi la problematica scrivendo il codice necessario alla risoluzione del problema, o all'integrazione di codice scritto da terzi.

    A questo punto, non si sta più fornendo un suggerimento o un input per continuare, ma diventa una "consulenza informatica" per la quale dovresti rivolgerti a un professionista, pagando il suo tempo speso nel fare la cosa al posto tuo.

    Se invece sei in grado di proseguire l'implementazione, prova a scrivere il codice e in caso di errori o comportamenti anomali, riportalo qui e descrivi dettagliatamente quello che accade in modo da poter suggerire eventuali soluzioni e correzioni.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

Tag per questa discussione

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.