Novità

aggiornare superenalotto

bergie

Advanced Member >PLATINUM<
fino al 31/07/2026 aggiornavo con questo script,
ora non funziona più,
qualcuno può controllare il motivo.
ringrazio di cuore,
Option Explicit
'Aggiornamento Automatico Archivio DAT SuperEnalotto GNTN
Sub Main
'---------------------------- file temporanei
Dim sPercorsoLocale,sFileLocale0,sFileLocale1
sPercorsoLocale = GetDirectoryTemp & _
"gntn-pgd.it"
CreaDirectory(sPercorsoLocale)
sFileLocale0 = sPercorsoLocale & "0.txt"
sFileLocale1 = sPercorsoLocale & "1.txt"
Call EliminaFile(sFileLocale0)
Call EliminaFile(sFileLocale1)
'--------------------------------- file archivio estrazioni
Dim sFileBaseDati : sFileBaseDati = GetDirectoryAppData & _
"BaseDatiSuperEna.Dat"
'---------------------------------------------------- backup file
Dim eDate,eClock,sPercorsosFileBaseDatiBackup,sFileBaseDatiBackup
Call DateTimeTest(eDate) : Call ClockTimeTest(eClock)
sPercorsosFileBaseDatiBackup = GetDirectoryAppData & _
"Archivio SuperEnalotto\Backup\dat\"
sFileBaseDatiBackup = sPercorsosFileBaseDatiBackup & _
"gntn-pgd.it BaseDatiSuperEna.Dat" & ".backup_Del_" & _
eDate & "_ore_" & eClock & ".bak"
Call CopiaFile(sFileBaseDati,sFileBaseDatiBackup)
'- messaggio avvertenze
Dim StrMessInfo
StrMessInfo = MsgBox("Ricreare i file daccapo ?",vbQuestion + vbYesNo)
If StrMessInfo = vbNo Then
If FileEsistente(sFileBaseDati) Then
Dim nAnnoPartenza,nMesePartenza,nGiornoPartenza
Dim sTemp,idUltimaEstr,aNumUltimaEstr,sDataUltimaEstr
sTemp = GetInfoEstrazioneSE(EstrazioniArchivioSE)
' scrive il risultato una variabile temporanea
' leggo i dati contenuti nella variabile e li separo con split
ReDim AV(00) : Call SplitByChar(sTemp," ",AV)
' ora so che il primo elemento dell'array è l'id estrazione
' il secondo elemento è il numero estrazione
' il terzo elemento è la data
' so pure che gli array iniziano da 0
' percio vado a memorizzare i singoli valori nelle apposite variabili
' ricordando che dobbiamo normalizzarli
' togliendo parentesi quadre e sostituendo il . con /
' levo le parentesi quadre dall' id estrazione
' contenuto nell'elemento 0 dell'array aV()
AV(00) = Replace(AV(00),"[","") : AV(00) = Replace(AV(00),"]","")
' levo le parentesi quadre dal numero estrazione
' contenuto nell'elemento 1 dell'array aV()
AV(01) = Replace(AV(01),"[","") : AV(01) = Replace(AV(01),"]","")
' sostituisco il punto con slash nell'elemento 2 dell'array aV()
AV(02) = Replace(AV(02),".","/")
' ora siamo pronti per memorizzare i dati nelle variabili
aNumUltimaEstr = AV(00)' Id ultima estrazione
idUltimaEstr = IndiceAnnualeSE(EstrazioniArchivioSE)
' numero ultima estrazione
sDataUltimaEstr = AV(02)' data ultima estrazione
ReDim AV00(00) : Call SplitByChar(AV(02),"/",AV00)
Dim nGiornoUltimaEstr,nMeseUltimaEstr,nAnnoUltimaEstr,sDataPartenza
nGiornoPartenza = Int(AV00(00))' giorno ultima estrazione
nMesePartenza = Int(AV00(01))' mese ultima estrazione
nAnnoPartenza = Int(AV00(02))' anno ultima estrazione
sDataPartenza = nAnnoPartenza & "/" & nMesePartenza & "/" & nGiornoPartenza
End If
ElseIf StrMessInfo = vbYes Then
If CopiaFile(sFileBaseDati,sFileBaseDatiBackup) Then
Call EliminaFile(sFileBaseDati)
End If
'inizio estrazioni 01/01/2009
nGiornoPartenza = 01
nMesePartenza = 01
nAnnoPartenza = 2009
sDataPartenza = nGiornoPartenza & "/" & nMesePartenza & "/" & nAnnoPartenza
End If
'---------------------------------
Dim sDataNuova : sDataNuova = Date
Dim sNumEstrTrovate : sNumEstrTrovate = 00
'--------------------------------------------------------------------------------------------------------------
Dim sUrl : sUrl = "https://www.gntn-pgd.it/gntn-info-web/rest/gioco/superenalotto/estrazioni/archivioconcorso/"
Do While FormattaStringa(sDataPartenza,"yyyymmdd") <= FormattaStringa(sDataNuova,"yyyymmdd")
'----------------------------------------------------------------------------------------
If ScriptInterrotto Then Exit Do
'-------------------------------------------------------------------
Dim sData : sData = Year(sDataPartenza) & "/" & Month(sDataPartenza)
Dim sLink : sLink = sUrl & sData & "?idPartner=GIOCHINUMERICI_INFO"
'-----------------------
ReDim aRighe(00) : Dim k
'----------------------------- sFileLocale0
If DownloadFromWeb(sLink,sFileLocale0) Then
If FileEsistente(sFileLocale0) Then
If LeggiRigheFileDiTesto(sFileLocale0,aRighe)Then
If EliminaFile(sFileLocale0) Then
For k = 00 To UBound(aRighe)
If aRighe(k) <> "" Then
aRighe(k) = Replace(aRighe(k),vbTab,"")
aRighe(k) = Replace(aRighe(k),vbCrLf,"")
aRighe(k) = Replace(aRighe(k),vbCr,"")
aRighe(k) = Replace(aRighe(k),vbLf,"")
'
aRighe(k) = Replace(aRighe(k),"{""concorsi"":[","")
aRighe(k) = Replace(aRighe(k),"concorso"":{""numero","concorsonumero")
aRighe(k) = Replace(aRighe(k),",""dettaglioDisponibile"":1},",vbCrLf)
'
aRighe(k) = Replace(aRighe(k),"{""","")
aRighe(k) = Replace(aRighe(k),""":""",vbCrLf)
aRighe(k) = Replace(aRighe(k),""",""",vbCrLf)
aRighe(k) = Replace(aRighe(k),"""},""",vbCrLf)
aRighe(k) = Replace(aRighe(k),",""",vbCrLf)
aRighe(k) = Replace(aRighe(k),""":",vbCrLf)
aRighe(k) = Replace(aRighe(k),"[""","")
aRighe(k) = Replace(aRighe(k),"""]","")
aRighe(k) = Replace(aRighe(k),"""}","")
Dim sOut : sOut = aRighe(k)
'Call Scrivi(sOut)
Call ScriviFile(sFileLocale1,sOut,False,True)
End If
Next
Call CloseFileHandle(sFileLocale1)
End If
End If
Else
Call MsgBox("file non esiste"):Exit Sub
End If
Else
Call MsgBox("link non esiste"):Exit Sub
End If
'-------------
' sFileLocale1
If FileEsistente(sFileLocale1) Then
If LeggiRigheFileDiTesto(sFileLocale1,aRighe) Then
If EliminaFile(sFileLocale1) Then
For k = 00 To UBound(aRighe)
'------------------------------------------ concorsonumero
If InStr(01,aRighe(k),"concorsonumero",vbTextCompare) Then
Dim nRetNumEstr
If IsNumeric(Trim(aRighe(k + 01))) Then
nRetNumEstr = Int(Trim(aRighe(k + 01)))
End If
nRetNumEstr = FormattaStringa(nRetNumEstr,"000")
'------------------------------------------- dataEstrazione
ElseIf InStr(01,aRighe(k),"dataEstrazione",vbTextCompare) Then
Dim sRetData
If IsNumeric(Trim(aRighe(k + 01))) Then
sRetData = Int(Trim(aRighe(k + 01)))
End If
'-----------
Dim sNewData
Call ConverteDataFromUnix(sNewData,sRetData)
sRetData = FormattaStringa(sNewData,"dd/mm/yyyy")
'------------------------------------------- estratti
ElseIf InStr(01,aRighe(k),"estratti",vbTextCompare) Then
Dim i,j : i = 00
ReDim aRetNumVinc(08)
For j = k + 01 To UBound(aRighe)
If IsNumeric(Trim(aRighe(j))) Then
i = i + 01
aRetNumVinc(i) = Int(Trim(aRighe(j)))
Else
If InStr(01,aRighe(j),"numeroJolly",vbTextCompare) Then
Exit For
End If
End If
Next
'------------------------------------------- numeroJolly
ElseIf InStr(01,aRighe(k),"numeroJolly",vbTextCompare) Then
ReDim aRetNumJolly(01)
For j = k + 01 To UBound(aRighe)
If IsNumeric(Trim(aRighe(j))) Then
aRetNumVinc(07) = Int(Trim(aRighe(j)))
Else
If InStr(01,aRighe(j),"superstar",vbTextCompare) Then
Exit For
End If
End If
Next
'------------------------------------------- superstar
ElseIf InStr(01,aRighe(k),"superstar",vbTextCompare) Then
ReDim aRetNumSuperStar(01)
For j = k + 01 To UBound(aRighe)
If IsNumeric(Trim(aRighe(j))) Then
aRetNumVinc(08) = Int(Trim(aRighe(j)))
Else
If InStr(01,aRighe(j),"concorsonumero",vbTextCompare) Then
Exit For
End If
End If
Next
ReDim Preserve aRetNumVinc(08)
'------ data aggiornamento ------------------------------------------------------------
If FormattaStringa(sRetData,"yyyymmdd") > FormattaStringa(sDataPartenza,"yyyymmdd") Then
'--------------------------------------------
sOut = nRetNumEstr & ";" & sRetData & ";" & _
StringaNumeri(aRetNumVinc,";",True)
'--------------- coerenza dati
If IsNumeric(nRetNumEstr) Then
If IsDate(sRetData) Then
If UBound(aRetNumVinc) = 08 Then
sNumEstrTrovate = sNumEstrTrovate + 01
Call Scrivi(sOut)
Call SalvaEstrazioneSE(aRetNumVinc,sRetData,nRetNumEstr,sFileBaseDati)
End If
End If
End If
'- coerenza dati
Else
If InStr(01,aRighe(k),"dettaglioDisponibile",vbTextCompare) Then
Exit For
End If
End If
'------ data aggiornamento
End If
'-------------------
Next
End If
End If
End If
'-------------------------------
If ScriptInterrotto Then Exit Do
Call Messaggio("Conversione file in corso .." & sData & _
" [ " & FormatSpace(nRetNumEstr,000) & _
" ] [ " & sNumEstrTrovate & " ] ")
Call AvanzamentoElab(nAnnoPartenza,Year(Date),Year(sData))
sDataPartenza = DateAdd("m",01,sDataPartenza)
'--------------------------------------------
Loop
'----------------------------- controllo se la nuova data e' uguale o inferiore
If FormattaStringa(sRetData,"yyyymmdd") <= FormattaStringa(Now,"yyyymmdd") Then
Call MsgBox("Aggiornamento archivio completato - Estrazioni aggiunte : " & _
sNumEstrTrovate,vbYes,"AGGIORNAMENTO ARCHIVIO")
End If
'-----
End Sub
Function ConverteDataFromUnix(DateFromUnix,UnixDate)
DateFromUnix = DateAdd("s",UnixDate / 1000,"1/1/1970")
End Function
Function DateTimeTest(eDate)
Dim DD,MM,YYYY : DD = Day(Now) : MM = Month(Now) : YYYY = Year(Now)
eDate = YYYY & "/" & MM & "/" & DD
eDate = FormattaStringa(eDate,"yyyymmdd")
End Function
Function ClockTimeTest(eClock)
Dim HH,MM,SS : HH = Hour(Now) : MM = Minute(Now) : SS = Second(Now)
eClock = Format2(HH) & ":" & Format2(MM) & ":" & Format2(SS)
eClock = FormattaStringa(eClock,"hhmmss")
End Function
 

Ultima estrazione Lotto

  • Estrazione del lotto
    sabato 01 agosto 2026
    Bari
    46
    54
    36
    47
    01
    Cagliari
    77
    30
    04
    79
    18
    Firenze
    84
    76
    10
    27
    44
    Genova
    32
    13
    71
    38
    46
    Milano
    10
    23
    18
    20
    03
    Napoli
    73
    36
    10
    90
    07
    Palermo
    61
    46
    24
    57
    32
    Roma
    89
    78
    23
    07
    35
    Torino
    21
    59
    34
    73
    86
    Venezia
    74
    01
    30
    46
    54
    Nazionale
    71
    65
    17
    09
    20
    Estrazione Simbolotto
    Nazionale
    03
    09
    37
    30
    39
Indietro
Alto