Visualizzazione dei risultati da 1 a 9 su 9

Discussione: [VB.NET] Timer

  1. #1

    [VB.NET] Timer

    Allora ho un programma stupido con un timer il cui intervallo è impostato su 1 (quindi 1 millisecondo). Nell'evento Tick del timer, riempio una varibile con i tick che vengono chiamati. Quindi in teoria, dopo 1 secondo, questa variabile dovrebbe contenere 1000.
    Ora questa varibile la mostro a monitor in una label tutte le volte che si verifica l'evento tick. Mi aspetto che arrivi a 1000 dopo un secondo, ma in realtà ci mette molto ma molto più tempo...
    cosa sbaglio?!
    Così a naso potrebbe essere che il pc non riesce a gestire tempistiche così brevi e mostrare il tutto a monitor?

    Il tutto perchè ho bisogno di far vedere a monitor un cronometro per prendere un tempo: il cronometro deve avere minuti, secondi e millisecondi.

    Il codice non lo posto in quanto ci sono solo 2 righe di codice stupide...

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    L'intervallo minimo di un timer è di 10 ... 15 millisecondi (per come è fatto il sistema operativo) ...

    Se indichi meno, comunque il tempo minimo è quello ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    ok. allora ho aumentato l'intervallo ogni 50 millisecondi..
    quindi nel mio codice, l'evento del timer si dovrebbe verificare ogni 50 millisecondi..
    se mi faccio stampare i sencodi comunque non è corretto.
    Questo è il codice dell'evento del timer:
    mm1 sono i millisecondi
    s1 i secondi e m1 i minuti
    Codice PHP:
            mm1 += 50
            
    If mm1 1000 Then
                s1 
    += 1
                mm1 
    0
            End 
    If
            If 
    s1 60 Then
                m1 
    += 1
                s1 
    0
            End 
    If
            
    Label1.Text m1 ":" s1 ":" mm1 

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Non è corretto ... cosa?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    non è corretto lo scorrere dei secondi. Cioè faccio partire il timer e a video io vorrei vedere un cronometro con minuti, secondi e millisecondi che scorrono... i secondi scorrono ma non ogni secondo...diciamo che passati 10 secondi (reali) a video mi scrive 8

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Questo succede perchè il timer viene chiamato "circa" ogni 50 ms, ma potrebbe essere chiamato una volta dopo 48, una volta dopo 44, una volta dopo 49 ms ... e questo accumularsi di piccoli errori porta al grande errore ...

    Non ho capito quale sia lo scopo del tuo programma ma potresti mostrare, all'interno del timer, la differenza tra l'orario attuale e quello di partenza .... quello sarebbe sempre preciso ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  7. #7
    lo scopo del programma è far vedere un cronometro .. tutto qui. un pulsante che lo fa partire e uno che lo ferma...
    il tempo che si deve veder scorrere è come quello delle gare di atletica per intenderci...

  8. #8
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Allora fai come ti ho detto, ma tieni sempre presente che la precisione minima è quella dei 10-15 ms ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  9. #9
    non ci avevo pensato...ora va decisamente meglio!!! Grazie per l'aiuto!

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.