Novità

MINICORSO VB

  • Creatore Discussione Creatore Discussione LuigiB
  • Data di inizio Data di inizio
Ciao piu o meno avevi fatto bene solo che le date non si possono
confrontare come stringhe .. l'ordinamento delle stringhe ovviamente
aviene in ordine alfabetico percio ad esempo se confrontassi
come stringa le due date 20/01/2011 e 10/12/2011 verrebbe
che il dieci dicembre capita prima del 20 gennaio ...
le date si possono confrontare come stringa solo al contrario
e con tutti i campi formattati per coprire sempre 8 caratteri (escluse le barre senno 10)

2011/01/20 viene prima di 2011/12/10 percio o crei la stringa con la data in formato aaaammgg oppure confronti separatamente i campi
sempre partendo dall'anno poi il mese poi il giorno.
Poi c'era anche qualche altro piccolo problema nel codice.
la routine corretta provata sulla prima versione che mi hai mandato
e con la modifica che gia hai fatto sul parametro di salvaestrione che da array diventa una semplice variabile è questa
ciao !

Codice:
Sub AggiornaEstrazioni(bAncheDaTelevideo As Boolean)
    
    Dim sRetErr As String
    Dim sNomeFileLocal As String
    Dim sDirOutput As String
    Dim sRetFileTxt As String
    Dim QMax As Long
    Dim UltimaDataInArchivio As STRUCT_ESTRAZIONE
    Dim k As Long
    Dim f As Integer
    
    ReDim strctE(0) As STRUCT_ESTRAZIONE
    
    'aggiorna le impostazioni di configurazione
    Call LeggiImpostazioni
    
    'costruisce il path locale per scaricare il file
    sNomeFileLocal = Trim(strctini.sPathDiLavoro) & "Estrazioni.zip"

    'costruisce la directory dove scompattare il file zip
    sDirOutput = Trim(strctini.sPathDiLavoro) & AddSlash("Temp")

    QMax = GetQuantitaEstrInArchivio
    
    If QMax > 0 Then
       ' Call ApriBaseDatiInMemoria(1, QMax, strctE)
        'f = ApriBaseDati
         Call LeggiEstrazione(QMax, UltimaDataInArchivio)
        'Call ChiudiBaseDati(f)
    End If
    
    If CreaPath(sDirOutput) Then
        ' cancella il contenuto della dir temporanea
        Call KillFile(sDirOutput & "\*")
        ' cancella il file local per fare posto a quello da scaricare
        If KillFile(sNomeFileLocal) Then
            ' scarica file dal web
            If DownloadFile(Trim(strctini.sUrlEstrazioni), sNomeFileLocal, sRetErr) Then
                Call cancellaDirTempzip
                'unzippa il file
                Call Unzip(sNomeFileLocal, sDirOutput, sRetFileTxt)
                If InStr(sRetFileTxt, ".") Then
                    If FileExist(sRetFileTxt) Then
                        ReDim aRetEstr(0) As STRUCT_ESTRAZIONE
                        Call AggiornaBaseDati(sRetFileTxt, aRetEstr, bAncheDaTelevideo)
                        FrmLog.AddLine ("Aggiorno base dati ...")
                       ' f = ApriBaseDati
                        For k = LBound(aRetEstr) To UBound(aRetEstr)
                            If aRetEstr(k).DataEstr.aa > UltimaDataInArchivio.DataEstr.aa Then
                                If aRetEstr(k).DataEstr.mm > UltimaDataInArchivio.DataEstr.mm Then
                                    If aRetEstr(k).DataEstr.gg > UltimaDataInArchivio.DataEstr.gg Then
                            
                                
                                        Call SalvaEstrazione(aRetEstr(k))
                                    End If
                                End If
                            End If
                        Next
                        
                        FrmLog.AddLine ("Fatto !")
                       ' Call ChiudiBaseDati(f)
                    End If
                Else
                      FrmLog.AddLine ("ERRORE ! File Zip estrazioni non valido")
                
                End If
                
                
            Else
                MsgBox sRetErr, vbExclamation
            End If
        
        Else
            MsgBox "Impossibile cancellare il vecchio file scaricato in precedenza ,verificare che non sia in uso." & vbCrLf & sNomeFileLocal, vbCritical
            
        End If
    Else
            MsgBox "Impossibile cre
 
Che dire....
Grazie Luigi, non credo ci sarei mai arrivato da solo!!!

Alla prossima!! (ahahahahah scherzo!!)

Grazie
Davide

P.S.
Spero proprio di non disturbarti più, ma non ci conterei troppo!!:D
 
Ciao Paciola,
ho provato a sostituire la macro,
a me da un errore,e a te?
a proposito qual'è la basedati giusta,
nei vari file sono una diversa dall'altra
 
ciao Atlantis ... c'è una modifica che devi fare in un parametro
della sub SalvaEstrazione , attualmente riceve un array invcece deve ricevere una variabile.
Di questa modifica ne ho parlato qualche post prima forse ti è sfuggita
 
Si infatti me ne ero accorto,togliendo (),in SalvaEstrazioni
non mi dava più l'errore,risolto anche il file basedati preso da spazio:D[}:)]
Ho installato e visto spaziometria per la prima volta,
non ho parole.....
non l'avevo mai installato finora ,in quanto non sono interessato alla Spaziometria e altri tipi giochi,
non si può stare dietro a tutto e volere tutto in un programma,
mi basta solo il lotto così com'è,ritardi naturali e spie.
 
Per studiare mi stò stampando tutte le macro così posso leggerle in qualsiasi momento senza bisogno dell'uso del computer,
cercando di capire passo passo,tuttora ci ho capito ancora poco,
e come andare a scuola per la prima volta ma passando per l'università.[:I]
Paciola è molto più avanti di me.:)
 
tranquillo pensa a me che all'epoca dovevo imparare in fretta perche senno non lavoravo :-)
voi da parte vostra non avete la pressione di doverlo fare per forza entro un certo tempo.
Prendetevela con calma capite bene tutte le cose e mano mano che
assimilate i concetti il tutto sara piu facile ..
 
Stasera ho provato a fare l'aggiornamento delle estrazioni,
sembra tutto funzionare senza nessun errore,ma non mi scrive l'ultima estrazione,nel log vedo dal id che la legge dalla lottomatica ,in poche parole non aggiorna.
[:I][:I][:I]
 
Codice:
If aRetEstr(k).DataEstr.aa >= UltimaDataInArchivio.DataEstr.aa Then
                                If aRetEstr(k).DataEstr.mm >= UltimaDataInArchivio.DataEstr.mm Then
 
Tutto ok,
Grazie LuigiB,
ho letto e riletto i post, ma non riuscivo a capire l'errore ,
avevo intuito che era questione di lettura del record,
infatti cercavo di capire tramite il debug,
come al solito senza riuscirci,
visto che ci sei potresti darci almeno il listato per l'inserimento manuale e quello della visualizzazione dell'intero archivio,così completiamo l'archivio,
con le poche ore che ho di sera,non credo che c'è la faccio da solo,
dovrei stare interi giorni e con l'età che mi ritrovo chissa....
 
Ciao,ho provato a lanciare la versione 1.2 allegata da paciola, ma ho questo tipo di errore.
Potreste dirmi da cosa è dovuto?

23418443.png
[/URL]
 
Ciao stef,
è capitato anche a me su un altro computer un pò vecchiotto con 256Mb ram e processore 600Mhz,
prova ad andare in
Progetto
Componenti
e vedi, se non sbaglio c'è da togliere la spunta ad un controllo,
che si chiama Manca .....
a me ha funzionato.
invece sul nuovo computer molto più veloce non mi ha dato nessun problema.
 
Buongiorno Luigi,
stò cercando di andare avanti con il VB6, ho bisogno di una spiegazione se puoi.
Ho inserito un nuovo form per visualizzare l'ultima estrazione in archivio,
Purtroppo come vedrai dal codice che dopo posto, non sò come rilevare
il valore da far leggere al modulo per visualizzare l'ultima.
Se puoi anche darmi alcune indicazioni su come poter gestire la stessa,
nel senso se volessi fare valutazione sugli estratti.
In excel abbiamo dei riferimenti del fogli, qui penso bisogna creare dei
cicli for .. next annidati per poter leggere i singoli estratti e valutarli,
Es. se uguali, vertibili etc. Questo è il codice:

Sub VisUltEstrazione()

Dim itm As MSComctlLib.ListItem
Dim strctE As STRUCT_ESTRAZIONE
Dim R As Integer
Dim E As Integer
Dim K As Integer

ListView1.ListItems.Clear

'K = 3000 'GetQuantitaEstrInArchivio
Call LeggiEstrazione(3000, strctE)

Me.labData = LeggiDataEstr(strctE)
Me.LabNumero = strctE.DataEstr.nNumEstr
For R = 1 To 11
Set itm = ListView1.ListItems.Add
itm.Text = aNomiRuote(R)

For E = 1 To 5
itm.SubItems(E) = strctE.aRuote(R).aNum(E)

Next

Next

End Sub

P.S.: se inserisco nel codice il valore 3000(K) funziona.
Grazie se puoi darmi le indicazioni ed ancora per quanto hai fatto per noi.





C'è vero progresso solo quando i vantaggi di una nuova tecnologia diventano per tutti.
Francesco
 
Ciao PF , a me sembra che hai fatto tutto bene ed è confermato
dal fatto che se passi il valore fisso 3000 funziona ..inoltre il codice
scritto testimonia che hai capito come riferirsi ai singoli estratti delle ruote.
A questo punto presumo sicuramente un errore nella funzione che torna il numero totale di estrazioni presenti cioè la GetQuantitaEstrInArchivio..
Il secondo progetto postato da Paciola faceva uso di un ulteriore componente non standatrd che paciola avra trovato da qualche parte , nemmeno io ce l'ho percio pure a me dava errore.
Prendete come esempio il primo progetto da lui postato con le
correzioni che io ho suggerito.
Se non ho capito bene la domanda o la spiegazione non fosse esauriente
ogni tanto qui ci passo.
Ciao !
 
Ciao LuigiB,
la tua presenza assenza,
ci da più carica nel proseguire
perche sappiamo che ci sei,
silente, ma ci sei,
Noi cerchiamo in tutti i modi di esserci sempre e dare prova
di testardaggine ad imparare il VB6.

:)
 
Grazie Luigi,
proseguo con prove e ragionamenti sino a trovare la soluzione (spero).
Il tempo è tiranno, ma spero di darti la soddisfazione che il tuo
impegno è servito a trasmettere il tuo sapere.
Ti auguro un buon week end.



C'è vero progresso solo quando i vantaggi di una nuova tecnologia diventano per tutti.
Francesco
 
Questo lo fatto nel 2006 con VB6,
poi lo fatto anche in VB.Net
adesso che li ho ripescati,guardando il codice,
mi è ritornato un pò di memoria in più sul VB.,

 
quote:Originally posted by pfca

Buongiorno Luigi,
stò cercando di andare avanti con il VB6, ho bisogno di una spiegazione se puoi.
Ho inserito un nuovo form per visualizzare l'ultima estrazione in archivio,
Purtroppo come vedrai dal codice che dopo posto, non sò come rilevare
il valore da far leggere al modulo per visualizzare l'ultima.
Se puoi anche darmi alcune indicazioni su come poter gestire la stessa,
nel senso se volessi fare valutazione sugli estratti.
In excel abbiamo dei riferimenti del fogli, qui penso bisogna creare dei
cicli for .. next annidati per poter leggere i singoli estratti e valutarli,
Es. se uguali, vertibili etc. Questo è il codice:

Sub VisUltEstrazione()

Dim itm As MSComctlLib.ListItem
Dim strctE As STRUCT_ESTRAZIONE
Dim R As Integer
Dim E As Integer
Dim K As Integer

ListView1.ListItems.Clear

'K = 3000 'GetQuantitaEstrInArchivio
Call LeggiEstrazione(3000, strctE)

Me.labData = LeggiDataEstr(strctE)
Me.LabNumero = strctE.DataEstr.nNumEstr
For R = 1 To 11
Set itm = ListView1.ListItems.Add
itm.Text = aNomiRuote(R)

For E = 1 To 5
itm.SubItems(E) = strctE.aRuote(R).aNum(E)

Next

Next

End Sub

P.S.: se inserisco nel codice il valore 3000(K) funziona.
Grazie se puoi darmi le indicazioni ed ancora per quanto hai fatto per noi.





C'è vero progresso solo quando i vantaggi di una nuova tecnologia diventano per tutti.
Francesco



scusami se mi intrometto
tu vorresti visualizzare lultima estrazione in archivio .
Se stai usando il programmino di Paciola

c'è il form F_BrowserEstrazioni
il problema che ti fà vedere la prima estrazione in archivio
per far visualizare l'ultima

vai sul F_BrowserEstrazioni

Form load



Private Sub Form_Load()

'All'apertura della finestra alimenteremo i valori min e max della scrollbar

Me.HScroll1.Min = 1
Me.HScroll1.Max = GetQuantitaEstrInArchivio


'' aggiungo per visualizzare ultima estrazione in archivio
Me.HScroll1.Value = GetQuantitaEstrInArchivio ' Porta l'archivio in ultima posizione


End Sub
 

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
Indietro
Alto