Ogni Cosa, Dovunque!
 
IndiceCalendarioFAQCercaLista UtentiGruppiRegistratiAccedi

Condividi | 
 

 [AutoIt] Il problema di TimeInit() con TimeDiff(timestamp);

Andare in basso 
AutoreMessaggio
speed
Admin
Admin
avatar

Maschio Messaggi : 418
Occupazione/Hobby : Studente di Informatica

MessaggioTitolo: [AutoIt] Il problema di TimeInit() con TimeDiff(timestamp);   15/2/2011, 7:41 pm

Ho creato una semplice GUI con AutoIt, usando Koda for designers.

Codice:
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <GUIConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Attendere...", 252, 66, 192, 124, $WS_SIZEBOX)
GUISetBkColor(0x800000)
$Label1 = GUICtrlCreateLabel("Verifica del sistema operativo in corso...", 32, 15, 190, 17)
GUICtrlSetColor(-1, 0xFFFFFF)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

A questo punto, ho creato un ciclo per controllare la chiusura grazie al:
Codice:
Case $GUI_EVENT_CLOSE

Ora ho inizializzato un timer e ho creato un altro evento dove dovrebbe controllare il tempo passato.

Codice:
Case TimerDiff($iTimmer)>=$iTimmerDurata

dove iTimmer è il timer avviato e iTimmerDurata è invece la durata che ho impostato. Per ora vale 3 secondi (3000 millisecondi).
Questo evento, mi aspetto che venga eseguito quando sono passati 3 secondi dall'avvio del timer, però non è così.
Cosa può essere? Grazie in anticipo!
Torna in alto Andare in basso
Sadga
Moderatore
Moderatore
avatar

Maschio Messaggi : 94

MessaggioTitolo: Re: [AutoIt] Il problema di TimeInit() con TimeDiff(timestamp);   15/2/2011, 7:53 pm

Usa la funzione:
Codice:
sleep("tempo 1000=1sec")
TimeInit() e TimeDiff(timestamp)
penso vadano usati sui cicli while (penso perchè li ho usati solo una volta e non ho fatto prove)

Saluti By king

_________________
&lt;div style=&quot;border: 3px double rgb(192, 192, 192); background-image: url(&amp;quot;http://doppiavu.files.wordpress.com/2008/03/sfondo1.jpg&amp;quot;);&quot;&gt;

king king king king king king king king king king king king king








&lt;/div&gt;
Torna in alto Andare in basso
speed
Admin
Admin
avatar

Maschio Messaggi : 418
Occupazione/Hobby : Studente di Informatica

MessaggioTitolo: Re: [AutoIt] Il problema di TimeInit() con TimeDiff(timestamp);   15/2/2011, 8:19 pm

d'accordo, grazie!

come posso aggiungere nel ciclo uno sleep?
credo devo aggiungere un Case per forza, quindi lo sleep dove lo immetto?

buona serata! Exclamation
Torna in alto Andare in basso
Sadga
Moderatore
Moderatore
avatar

Maschio Messaggi : 94

MessaggioTitolo: Re: [AutoIt] Il problema di TimeInit() con TimeDiff(timestamp);   16/2/2011, 6:26 pm

Lo sleep va inserito qui:
Codice:
   
.....
EndSwitch
sleep("sec*1000")
WEnd
.....

Saluti By king

_________________
&lt;div style=&quot;border: 3px double rgb(192, 192, 192); background-image: url(&amp;quot;http://doppiavu.files.wordpress.com/2008/03/sfondo1.jpg&amp;quot;);&quot;&gt;

king king king king king king king king king king king king king








&lt;/div&gt;
Torna in alto Andare in basso
speed
Admin
Admin
avatar

Maschio Messaggi : 418
Occupazione/Hobby : Studente di Informatica

MessaggioTitolo: Re: [AutoIt] Il problema di TimeInit() con TimeDiff(timestamp);   16/2/2011, 8:39 pm

perfetto, proverò anche questo.

grazie: ciao alla prossima!
Torna in alto Andare in basso
speed
Admin
Admin
avatar

Maschio Messaggi : 418
Occupazione/Hobby : Studente di Informatica

MessaggioTitolo: Re: [AutoIt] Il problema di TimeInit() con TimeDiff(timestamp);   16/2/2011, 9:16 pm

va bene, ho constatato che non funziona come vorrei.
ecco il mio codice sorgente per intero. spero vi possa servire:

Codice:
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <GUIConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Attendere...", 252, 66, 192, 124, $WS_SIZEBOX)
GUISetIcon("C:\Program Files (x86)\BitTorrent\BitTorrent.exe", -1)
GUISetBkColor(0x800000)
$Label1 = GUICtrlCreateLabel("Verifica del sistema operativo in corso...", 32, 15, 190, 17)
GUICtrlSetColor(-1, 0xFFFFFF)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

$iTimmer=TimerInit()
$iTimmerDurata=3000

While 1
   $nMsg = GUIGetMsg()
   Switch $nMsg
      Case $GUI_EVENT_CLOSE
         Exit
      EndSwitch
   Sleep(3000)
WEnd

ho scritto lo Sleep dove mi avevi consigliato, ma se provi il codice così com'è, presenta un blocco assoluto della GUI.
Torna in alto Andare in basso
Sadga
Moderatore
Moderatore
avatar

Maschio Messaggi : 94

MessaggioTitolo: Re: [AutoIt] Il problema di TimeInit() con TimeDiff(timestamp);   17/2/2011, 4:17 pm

Così ho provato e funziona:
Codice:
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <GUIConstants.au3>

#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Attendere...", 252, 66, 192, 124, $WS_SIZEBOX)
GUISetIcon("C:\Program Files (x86)\BitTorrent\BitTorrent.exe", -1)
GUISetBkColor(0x800000)
$Label1 = GUICtrlCreateLabel("Verifica del sistema operativo in corso...", 32, 15, 190, 17)
GUICtrlSetColor(-1, 0xFFFFFF)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

$iTimmer=TimerInit()

While TimerDiff($iTimmer)<=3000
  $nMsg = GUIGetMsg()
  Switch $nMsg
      Case $GUI_EVENT_CLOSE
        Exit
   EndSwitch
WEnd

_________________
&lt;div style=&quot;border: 3px double rgb(192, 192, 192); background-image: url(&amp;quot;http://doppiavu.files.wordpress.com/2008/03/sfondo1.jpg&amp;quot;);&quot;&gt;

king king king king king king king king king king king king king








&lt;/div&gt;
Torna in alto Andare in basso
speed
Admin
Admin
avatar

Maschio Messaggi : 418
Occupazione/Hobby : Studente di Informatica

MessaggioTitolo: Re: [AutoIt] Il problema di TimeInit() con TimeDiff(timestamp);   17/2/2011, 4:31 pm

ottima soluzione!
thank you! cyclops
Torna in alto Andare in basso
Contenuto sponsorizzato




MessaggioTitolo: Re: [AutoIt] Il problema di TimeInit() con TimeDiff(timestamp);   

Torna in alto Andare in basso
 
[AutoIt] Il problema di TimeInit() con TimeDiff(timestamp);
Torna in alto 
Pagina 1 di 1

Permessi di questa sezione del forum:Non puoi rispondere agli argomenti in questo forum
everything iS nOw! :: Interessi :: Informatica :: Programmazione-
Vai verso: