software:qview:qview_6:qcl_library:vc10mktime

Differenze

Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.

Link a questa pagina di confronto

Prossima revisione
Revisione precedente
software:qview:qview_6:qcl_library:vc10mktime [2019/08/29 17:01] – creata - modifica esterna 127.0.0.1software:qview:qview_6:qcl_library:vc10mktime [2024/09/02 14:55] (versione attuale) – [Table] qem214
Linea 1: Linea 1:
 +====== VC10MkTime ======
 +
 +Introducendo una data e un'ora (giorno, mese, anno, ore, minuti, secondi) la funzione **VC10MkTime** __fornisce il numero di secondi trascorsi dalle 00:00 del 1°gennaio 1970 fino alla data introdotta__.\\
 +Questo dato è utile per poter eseguire delle comparazioni tra date.\\
 +La funzione gestisce anche valori del giorno e del mese superiori ai limiti naturali (giorno > 31 o mese > 12), calcolandosi automaticamente la data corrispondente.
 +
 +===== IMPLEMENTAZIONE =====
 +
 +**VC10MkTime (aglParam, glSumSec)**
 +
 +Parametri:
 +
 +^ IN/OUT  ^ TIPO VARIABILE  ^ NOME DI ESEMPIO  ^  DIM  ^  DESCRIZIONE                                                                                                                ^
 +|  IN      ARRGBL          aglParam[01]    |  L    | Giorno [>0]                                                                                                                 |
 +|  IN      ARRGBL          aglParam[02]    |  L    | Mese [>0]                                                                                                                   |
 +|  IN      ARRGBL          aglParam[03]    |  L    | Anno [1970÷2037]                                                                                                            |
 +|  IN      ARRGBL          aglParam[04]    |  L    | Ora [0÷23]                                                                                                                  |
 +|  IN      ARRGBL          aglParam[05]    |  L    | Minuti [0÷59]                                                                                                               |
 +|  IN      ARRGBL          aglParam[06]    |  L    | Secondi [0÷59]                                                                                                              |
 +|  OUT    |  ARRGBL          aglParam[07]    |  L    | Giorno della settimana:\\ 0 = domenica\\ 1 = lunedì\\ 2 = martedì\\ 3 = mercoledì\\ 4 = giovedì\\ 5 = venerdì\\ 6 = sabato  |
 +|  OUT    |  ARRGBL          aglParam[08]    |  L    | Numero di giorni passati rispetto al 1° gennaio dell'anno introdotto                                                        |
 +|  OUT    |  ARRGBL          aglParam[09]    |  L    | Tipo di Errore:\\ 0 = Nessuno\\ 1 = Giorno  ≤ 0\\ 2 = Mese  ≤ 0\\ 3 = Anno introdotto fuori limiti  [1970÷2037]             |
 +|  OUT    |  GLOBAL          glSumSec        |  L    | Somma dei secondi trascorsi dalle 00:00 del 1°gennaio 1970 fino alla data introdotta                                        |
 +
 +=== Esempio ===
 +
 +Si vuole attivare una uscita digitale (ofUscita01) quando la data e l'ora attuale supera una data e un'ora impostata precedentemente.
 +
 +<code QCL>
 +;...
 +;Data Attuale
 +aglParam[1] = 25
 +aglParam[2] = 6
 +aglParam[3] = 2009
 +aglParam[4] = 15
 +aglParam[5] = 30
 +aglParam[6] = 55
 +VC10MkTime (aglParam, glSumSec)
 +glSecActual = glSumSec ;Valore in secondi della data attuale
 +
 +;Data da confrontare
 +aglParam[1] = 1
 +aglParam[2] = 1
 +aglParam[3] = 2010
 +aglParam[4] = 18
 +aglParam[5] = 00
 +aglParam[6] = 00
 +VC10MkTime (aglParam, glSumSec)
 +glSecExpiry = glSumSec ;Valore in secondi della data di scadenza
 +
 +IF glSecActual GT glSecExpiry
 + SETOUT ofUscita01
 +ENDIF
 +</code>
 +
 +=== Note di funzionamento ===
 +
 +  *Impostando un valore del mese superiore a 12 la funzione calcola la data posizionandola nell'anno  o negli anni successivi rispetto a quello introdotto (esempio: 10/14/2010 corrisponderà alla data 10/2/2011)
 +  *Impostando un valore del giorno superiore al numero di giorni  supportati dal mese impostato, la funzione calcola la data posizionandola nel mese o nei mesi  successivi rispetto a quello introdotto (esempio: 50/5/2010 corrisponderà alla data 19/6/2010)