Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 21
  1. #1

    [Vb 2008] evento programmato

    Salve ancora a tutti
    il mio programmino dovrebbe, ad un determinato orario (ore 23.00) mandare un file da qualche parte.
    Ho pensato di procedere in questo modo:
    1) faccio partire il programma
    2) calcolo il tempo che manca dalle 23.00 all'ora attuale, in millisecondi
    3) questo tempo lo imposto nel timer
    4) il mio timer quando il tempo arriverà a 0 compiera' la mia operazione
    ......ma poi qui mi perdo perche' cosa dovrei fare ora?
    faccio partire un'altro timer?
    eliminare il timer? ma come?
    grazie a tutti
    Raf

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    970
    Mi sembra che sia sufficiente un semplice Timer con un .Interval di 30 Sec. in cui verifichi l'orario e se corrisponde a quello pianificato parti con la tua elaborazione facendo attenzione a che non parta una successiva elaborazione dopo che ha finito la prima visto che fai il controllo ogni 30 Sec e che i 30 secondi potrebbero non essere 30 secondi....

    Sbagliare è umano, perseverare è diabolico.

  3. #3
    In questo modo si impegnano risorse di memoria e di sistema perfettamente inutili. A che serve controllare ogni 30 secondi, quando io voglio un orario prestabilito?
    Non mi sembra un apprroccio corretto
    Attendiamo qualche guru

  4. #4
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Originariamente inviato da papaeredi
    In questo modo si impegnano risorse di memoria e di sistema perfettamente inutili. A che serve controllare ogni 30 secondi, quando io voglio un orario prestabilito
    Allora spiegaci come fa il tuo programma a sapere QUANDO è l'orario prestabilito.

    Originariamente inviato da papaeredi
    Non mi sembra un apprroccio corretto
    Su quale base scrivi questa affermazione?
    L'approccio è più corretto, ed è l'unico possibile a livello programmatico.
    Il Timer è fatto apposta per questo.

    Prima di giudicare i suggerimenti che ti vengono forniti, ti suggerisco di studiarteli, provarli e documentarti sull'argomento.

    Originariamente inviato da papaeredi
    Attendiamo qualche guru
    Non serve alcun guru.

    La sola alternativa è creare un'Operazione Pianificata, ma qui non c'entra più la programmazione dato che è un servzio del sistema operativo.

    A te la scelta...



  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    970
    Originariamente inviato da papaeredi
    In questo modo si impegnano risorse di memoria e di sistema perfettamente inutili.
    Per un semplice processo con un Timer che effettua una chiamata ogni 30 Sec... si impegnano risorse di sistema????




    Windows Mobile ad esempio ha una semplice metodo CoreDLL.CeRunAppAtTime(applicationEvent, systemStartTime), in cui è possibile programmare un'evento, a livello di codice, ad un determinato orario senza lasciare nessun processo attivo, ma ovviamente dietro le quinte qualcosa rimarrà attivo a scandire il tempo che passa inesorabile come farebbe il nostro Timer nel nostro processo.

    Attendiamo qualche guru..
    Sottovaluti le mie capacità, ma non importa.

    Sbagliare è umano, perseverare è diabolico.

  6. #6
    scusate ma non volevo irritare nessuno, ho fatto solo un ragionamento.
    Se io devo spedire il mio file alle ore 22.00.00, ed imposto un Timer ogni 30 secondi non sara'
    mai preciso o sbaglio? potra' essere un +/- 30 secondi.
    Mentre calcolando i secondi che mancano dall'ora in cui avvio il mio programma fino alle 22.00.00, saro' preciso al secondo, imposto questo tempo nel timer, e la mia azione partira'
    precisa al secondo.
    Vorrei capire che c'e' di male in questo approccio?
    Raf

  7. #7
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Originariamente inviato da papaeredi
    scusate ma non volevo irritare nessuno, ho fatto solo un ragionamento.
    Non mi pare che qualcuno si sia irritato.

    Originariamente inviato da papaeredi
    Se io devo spedire il mio file alle ore 22.00.00, ed imposto un Timer ogni 30 secondi non sara' mai preciso o sbaglio? potra' essere un +/- 30 secondi.
    Mentre calcolando i secondi che mancano dall'ora in cui avvio il mio programma fino alle 22.00.00, saro' preciso al secondo, imposto questo tempo nel timer, e la mia azione partira'
    precisa al secondo.
    Vorrei capire che c'e' di male in questo approccio?
    Raf
    Guarda che la tua risposte precedente, troppo generica, dava ad intendere che non volevi usare la soluzione fornita da Pirelli72.
    Avevamo infatti inteso che tu NON volessi usare un Timer.

    Quando non si è sufficientemente chiari possono nascere equivoci e malintesi.

    Tornando al problema, se a te serve la precisione al secondo, allora va bene come hai scritto: cioè il timer deve calcolare il tempo che manca alle 22.00.00.


  8. #8
    Quindi creo l'oggetto timer a run Time, calcolo il tempo che manca dal mio orario in millisecondi,
    imposto questo tempo come intervallo nel mio oggetto Timer.
    Parte la mia azione qualsiasi
    Fin qui ci sono
    ma ora non riesco a capire devo distruggere l'oggetto a questo punto
    oppure creo l'oggetto a design time
    ed uso il metodo Start e Stop
    grazie per la pazienza
    Raf

  9. #9
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Non importa se crei l'oggetto a run-time o design-time.
    Sicuramente NON devi distruggerlo, altrimenti non eseguira alcuna azione;
    mi pare logico


  10. #10
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    970
    Dipende ovviamente dall'applicazione, ma non è mica detto che il Timer parti esattamente poi alle 22:00:00, dipende se in quel momento il MainThread non sta eseguendo altro......
    Sbagliare è umano, perseverare è diabolico.

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.