funzione sonno alternativo - pagina 4

 

Simon,


10 = ( (10000+10) - (10000) );


La differenza è dieci.


grazie

 
WhooDoo22:

Simon,

10 = ( (10000+10) - (10000) );

La differenza è dieci.

Hai bisogno di leggere di nuovo la documentazione di TimeSeconds() e quando hai letto anche questaTimeHour() e questaTimeMinute() allora pensa a un datetime di 12:33:21 e a cosa restituirà ciascuna di queste funzioni per quel datetime.
 

Simon,

Stai dicendo che il mio formato '10' è sbagliato? Se è così, potrei fare una rapida regolazione da '10' a '00:00:10'.

Cosa ne dici di questo?


Grazie, grazie

 
WhooDoo22:

Simon,

Stai dicendo che il mio formato '10' è sbagliato? Se è così, potrei fare una rapida regolazione da '10' a '00:00:10'.

No. Hai letto la documentazione che ho linkato?

Prendiamo il mio esempio, 12:33:21

TimeHour() "Restituisce l'ora per il tempo specificato." quindi restituirà12 per un datetime di 12:33:21

TimeMinute()"Restituisce i minuti per l'ora specificata", quindi restituirà33 per un datetime di 12:33:21

TimeSeconds()"Restituisce la quantità di secondi trascorsi dall'inizio del minuto per il tempo specificato".

Sai cos'è un datetime? Sai qual è l'importanza del 1970? Bene.

SomeTime = 10000 quando è questo? scopriamolo, 10000 secondi sono 2.777 ore quindi sono le 2 del mattino, 0.77777 ore sono 46.6666 minuti, quindi sono 46 minuti dopo le 2 del mattino, e 0.6666 minuti sono 40 secondi. Quindi un datetime di 10000 è 1 gennaio 1970 01:46:40 e 10000 + 10 è 01:46:50 quindi per questo esempio la tua risposta di 10 era corretta, ma per la ragione sbagliata.

Se il mio esempio fosse stato 10000 e 10000 + 30 la tua risposta sarebbe stata 30, ma questi datetime sarebbero stati 1st Jan 1970 01:46:40 e 01:47:10, la risposta corretta sarebbe stata 10 - 30 = -20 non 30

 

Simon,

Hai letto la documentazione che ho linkato?

Si.


Sai cos'è un datetime?

datetime è un datatype.


Sai qual è la rilevanza di 1970 ?

Immagino che in questo caso si tratti di millenovecentosettanta secondi?


la tua risposta di 10 era corretta, ma per il motivo sbagliato.

Credo di aver capito Simon. Hai chiarito il tuo punto di vista. Grazie per la tua spiegazione.


Inoltre, credo che la tua spiegazione mi abbia permesso di scoprire una soluzione dal non poter mettere in pausa il tempo in tester al poter mettere in pausa il tempo in tester.

Potrei forse essere in grado di utilizzare un ciclo da eseguire su un tempo predeterminato. Quando il tempo scorre fino a un tempo minore scelto, il tempo minore scelto sarà resettato e il ciclo continuerà all'infinito A MENO CHE questo tempo sia ancora eseguito in base ai tick. I tick stanno diventando una vera seccatura per me.


Forse posso trovare un modo per avviare l'EA senza aspettare i tick. Posso usare una condizione 'if' per attivare la funzione start().

Cosa ne dite di questo?


Ho aggiunto questo codice in SRC

bool start;
   
if(start==false)start();

ad un EA e ho ricevuto un errore chiamato "stack overflow" dal giornale in tester.


Grazie

 
WhooDoo22:

Sai cos'è un datetime?

datetime è un datatype.


Sai qual è l'importanza del 1970 ?

Immagino che in questo caso si tratti di millenovecentosettanta secondi?


WhooDoo22:


Potrei eventualmente utilizzare un ciclo che gira su un tempo prestabilito. Quando il tempo scorre fino a un tempo minore scelto, il tempo minore scelto sarà resettato e il ciclo continuerà all'infinito A MENO CHE, questo tempo sia ancora eseguito in base ai tick. I ticchettii stanno diventando una vera seccatura per me.


Da queste affermazioni è chiaro che o non stai leggendo ciò che è scritto per aiutarti o che semplicemente non puoi capirlo. Poiché non hai dato alcuna indicazione che non sei in grado di capire, posso solo concludere che non stai cercando di comprendere ciò che è scritto. In questo caso non ti ruberò più tempo cercando di aiutarti.