L
LuigiB
Guest
no la soluzione non c'è perche sebbene open office legga i file xls , il programma per crearli sfrutta delle cose che open office non ha.
Follow along with the video below to see how to install our site as a web app on your home screen.
Nota: This feature may not be available in some browsers.
Ciao Moro , basta inserire un kill dopo la lettura del file html , mi pare che la procedura si chiamasse LeggiHtmlTornaEstrazioni o qualcosa di simile.
Il concetto è eliminare il file immediatamente dopo averlo letto , in alternativa potresti pensare a un percorso dove spostare i file letti in modo
da poterli rileggere tutti in caso di archivio corrotto /rovinato , Con questa seconda soluzione dovresti prevedere eventualmente un aggiornamento da internet oppure da percorso locale... ad ogni modo solo per parlare non è necessaria una funzione simile.
Gli utenti che adoperano il programma per il 10 e lotto potranno continuare ad aggiornare l'archivio anche grazie a te.
(altrimenti resta così e chi se ne frega!)Ciao Moro , ti do solo delle dritte se ci riesci bene
Private Sub SalvaEstrazioni(aEstr() As STRUCT_ESTRAZIONE_10LOTTO, sDataUltimaEstrArchivio As String, sDataCorrente As String, NumEstr As Long, nTotInsert As Long)
Dim k As Long
Dim n As Long
Dim i 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
LblNumEstr.Caption = k ' Valorizzo la label Numero Estrazione che scorre man mano che vengono viste estrazioni
LblOraEstr.Caption = GetOraEstrazione(k) ' Mostro l'ora dell'estrazione tramite la function GetoraEstrazione
nTotInsert = nTotInsert + 1
LblTotEstrAggiunte.Caption = Format(nTotInsert, "###,###")
DoEvents
[COLOR="#FF0000"][B]Call VerificaEstrazioni(aEstr(k))[/B][/COLOR]
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
LblNumEstr.Caption = k ' Valorizzo la label Numero Estrazione che scorre man mano che vengono viste estrazioni
LblOraEstr.Caption = GetOraEstrazione(k) ' Mostro l'ora dell'estrazione tramite la function GetoraEstrazione
nTotInsert = nTotInsert + 1
LblTotEstrAggiunte.Caption = Format(nTotInsert, "###,###")
DoEvents
[COLOR="#FF0000"][B]Call VerificaEstrazioni(aEstr(k))[/B][/COLOR]
Call SalvaEstrazioneDL(aNumeri, sDataCorrente, aEstr(k).strctData.nNumEstrazione, sFile) ' Richiamo la procedura che salva le estrazioni
Next
End If
End Sub
Private Sub VerificaEstrazioni(strctEstr As STRUCT_ESTRAZIONE_10LOTTO)
Qua devo fare la verifica....
End Sub
Private Sub SalvaEstrazioni(aEstr() As STRUCT_ESTRAZIONE_10LOTTO, sDataUltimaEstrArchivio As String, sDataCorrente As String, NumEstr As Long, nTotInsert As Long)
Dim k As Long
Dim n As Long
Dim i 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
LblNumEstr.Caption = k ' Valorizzo la label Numero Estrazione che scorre man mano che vengono viste estrazioni
LblOraEstr.Caption = GetOraEstrazione(k) ' Mostro l'ora dell'estrazione tramite la function GetoraEstrazione
nTotInsert = nTotInsert + 1
LblTotEstrAggiunte.Caption = Format(nTotInsert, "###,###")
DoEvents
[COLOR="#FF0000"][B]If VerificaEstrazioni(aEstr(k)) then
Call SalvaEstrazioneDL(aNumeri, sDataCorrente, aEstr(k).strctData.nNumEstrazione, sFile) ' Richiamo la procedura che salva le estrazioni
Else
'Qui andrebbe in caso di False aggiunta una estrazione fittizzia...
End If[/B][/COLOR]
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
LblNumEstr.Caption = k ' Valorizzo la label Numero Estrazione che scorre man mano che vengono viste estrazioni
LblOraEstr.Caption = GetOraEstrazione(k) ' Mostro l'ora dell'estrazione tramite la function GetoraEstrazione
nTotInsert = nTotInsert + 1
LblTotEstrAggiunte.Caption = Format(nTotInsert, "###,###")
DoEvents
[COLOR="#FF0000"][B]If VerificaEstrazioni(aEstr(k)) then
Call SalvaEstrazioneDL(aNumeri, sDataCorrente, aEstr(k).strctData.nNumEstrazione, sFile) ' Richiamo la procedura che salva le estrazioni
Else
'Qui andrebbe in caso di False aggiunta una estrazione fittizzia...
End If[/B][/COLOR]
Next
End If
End Sub
Function VerificaEstrazioni(strctEstr As STRUCT_ESTRAZIONE_10LOTTO)
Qua devo fare la verifica....
End Function
ciao. a livello di istruzioni di codice ti posso assicurare che per le nuove implementazioni che dovrai fare non c'è manco un'istruzione che tu non abbia gia visto all'interno di quello che gia abbiamo fatto.
A livello di logica penso che sia tutto chiaro , a parole ti ho detto con precisione cosa andrebbe fatto.
In sintesi se hai realmente capito cio che abbiamo fatto fin'ora non avrai difficolta a implementare la parte ancora da fare.
un saluto
Quindi l'ideale sarebbe durante il ciclo che legge l'array aEstr e salva le estrazioni con SalvaEstrazioneDl inserire una funzione
alla quale passare il singolo elemento letto in quel momento nel ciclo ( aEstr(k) ), questa funzione analizza i dati e verifica
se l'estrazione è corretta , se è corretta torna True senno False.