Pagina 2 di 4 primaprima 1 2 3 4 ultimoultimo
Visualizzazione dei risultati da 11 a 20 su 32
  1. #11

  2. #12
    Utente di HTML.it L'avatar di Veronica80
    Registrato dal
    May 2006
    Messaggi
    2,117
    ahahah
    gesto scaramantico affinchè si trovi una soluzione al mio problema!

    Heeeelp!

  3. #13
    nell'evento metti

    rs.Find = "orario<=" & tempo.del.timer

    il tuo url sarà quindi

    url=rs("url")

  4. #14
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Originariamente inviato da Veronica80
    nn ci riesco proprio...xD
    Sembra facile ma quando mi metto a farlo mi ingarbuglio...

    io uso questo codice per collegare la mia dataGrid al db:

    codice:
    Cn.CursorLocation = adUseClient
    Cn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & App.Path & "\database\barmocci.mdb"
    Rs.Open "Select * from scaletta ORDER by orario", Cn, adOpenStatic, adLockOptimistic
    Set DataGrid1.DataSource = Rs
    (ovviamente ho messo i riferimenti nel progetto e dichiarato le variabili cn e rs)

    codice:
    Dim Cn As New ADODB.Connection
    Dim Rs As New ADODB.Recordset
    Quindi il recordset lo ho già...vedo i dati nella DataGrid...con tutta la scaletta, ma riesco a gestirli per i miei scopi....lo so....son tarata!
    Un paio di consigli:
    1)
    Non usare il driver di Access, ma il JET 4.0 con l'MDAC 2.5
    soprattutto se distribuisci la tua applicazione il primo non è detto che sia installato, e poi il JET è sicuramente migliore e, come l'MDA 2.5 è già pre-installato su tutte le macchine da Windows 98 in poi.

    2)
    Non si deve più usare la 'vecchia' modalità di dichiarazione (che si usava con DAO), ma quella più moderna di ADO, facendo distinzione tra il momento in cui dichiari un oggetto ed il momento in cui lo devi usare, cioè lo istanzi. In pratica:
    Prima si dichiarano gli oggetti:
    codice:
    Dim CN as ADODB.Connection
    Dim RS as ADODB.Recordset
    Quando si deve usarli si crea l'istanza:
    codice:
    Set CN = New ADODB.Connection
    Set RS = New ADODB.Recordset
    Nell'uso degli oggetti di ADO vi sono delle differenze sostanziali nelle due diverse modalità di dichiarazione.

    3)
    Nell'evento timer devi andarti a cercare se esiste un record che corrisponda all'ora del timer.
    Scrivo la volo, quindi occhio ad eventuali errori:
    codice:
    Private Sub Timer1_Timer()
        Dim orario as Date
        orario = Format(Time,"HH:NN")    '<-!!! Verifica che il formato restituito sia corretto!!!
    
        Rem Se vuoi usare Find:
        rs.Find "orario=" & orario
    
        Rem Se invece vuoi usare Filter:
        rs.Filter = "orario=" & orario
    
        Rem Se esiste almeno un record apro la pagina corrispondente
        If not rs.EOF then
            WebBrowser1.Navigate rs.Fields("URL").Value
        End If   
    End Sub

  5. #15
    Utente di HTML.it L'avatar di Veronica80
    Registrato dal
    May 2006
    Messaggi
    2,117
    grazie provo il tutto subito!
    Sul fatto del driver è che io di solito uso ADO via codice ecc questo volta per comodità ho deciso di usare la dataGrid che nn ho MAI usato e nn so proprio come si usi!

    anzi se mi passi anche il codice per usare il driver JET nella datagrid ti faccio il monumento

  6. #16
    per fare quelo che devi fare, a occhio direi che la datagrid non serve...

  7. #17
    Utente di HTML.it L'avatar di Veronica80
    Registrato dal
    May 2006
    Messaggi
    2,117
    eh? Perchè no?

    Cmq il codice di sopra funziona benissimo!
    Ora ho l'ultimo dubbio...

    ve lo spiego con un esempio che è sicuramente + chiaro!

    Mettiamo che io imposti 12.30 e url http://www.html.it

    se apro il form con la webBrowser alle 12.31 nn mi apre il sito...alchè dovrei usare una condizione tipo

    if oraAttuale=> oraImpostata then...

    ma così facendo mi crea conflitti se ci son altri orari dopo....

    tipo se ho:

    12.30
    13.30

    la condizione detta sopra è soddisfatta in entrambe i casi...
    nn so se mi son spiegata...è un po complesso da dire....

  8. #18
    se tu leggessi quello che ti si scrive...

    cosa pensi che faccia

    rs.Find = "orario<=" & tempo.del.timer


    ????

  9. #19
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Originariamente inviato da Veronica80
    Cmq il codice di sopra funziona benissimo!
    Ora ho l'ultimo dubbio...

    Mettiamo che io imposti 12.30 e url http://www.html.it

    se apro il form con la webBrowser alle 12.31 nn mi apre il sito...
    ...ed è corretto così, se vuoi aprire il sito ad un'orario prestabilito .

    Originariamente inviato da Veronica80
    alchè dovrei usare una condizione tipo

    if oraAttuale=> oraImpostata then...

    ma così facendo mi crea conflitti se ci son altri orari dopo....
    Appunto. Bisogna gestire le due situazioni diverse utilizzando un flag affinché possa visualizzare il sito dell'orario precedente ma SOLO UNA VOLTA, altrimenti va a finire che il Timer ti continua ad aprire nel browser sempre l'ultimo sito, anche se è già aperto).

    In pratica dovrai prendere l'ultimo orario (come dice Optime) ma SOLO all'avvio del programma, invece dopo deve procedere normalmente.

    Attenzione: in tal caso devi ordinare il recordset sul campo orario altrimenti quando cerchi l'ultimo non è detto che sia quello che corrisponde esattamente all'ultimo come orario.

    Puoi fare così:

    1. Crei una variabile bool a livello di modulo, esempio:
    Dim m_bIsStart As Boolean
    che all'avvio del programma (Form_Load) la imposti sempre a True.

    3. Nella routine Timer1_Timer() modifichi il codice, aggiungendo la parte in grassetto, in modo da testare questa variabile:

    codice:
        Dim orario as Date
        orario = Format(Time,"HH:NN")    
    
    
        Rem Sarà eseguita solo 1 volta all'avvio del programma
        If m_bIsStart Then
            Rem Prendi l'ultimo URL prima dell'orario corrente
            rs.Find = "orario<=" & orario 
            m_bIsStart = False ' è l'avvio del programma: azzero il flag
        End If
     
    
        Rem il resto del codice rimane invariato.


  10. #20
    gibra, così cerca i siti UNA sola volta, invece li deve cercare continuamente e caricarli solo se diversi dall'ultimo aperto

    codice:
    ...
            Rem Prendi l'ultimo URL prima dell'orario corrente
            rs.Find = "orario<=" & orario 
            URL=rs("URL")
            If URL<>LastURL Then
               ' ... qui apri il sito
               LastURL=URL
            End If
    ...

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 © 2025 vBulletin Solutions, Inc. All rights reserved.