Autore Topic: utilizzare la data per creare dei turni di lavoro anuali  (Letto 1402 volte)

Offline miomao

  • Gamberetto
  • *
  • Post: 4
    • Mostra profilo
utilizzare la data per creare dei turni di lavoro anuali
« il: 24 Dicembre 2010, 11:26:10 »
ciao a tutti e buon natale.
essedo io un gamberetto ho alcune dificolta che forse voi potete risolvermi.
vorrei realizzare un piccolo programma per gestire dei turni di lavoro anuali legati al giorno della sttimana
ed all'orario .il programma deve funzionare 24h su 24h.sono partito con l'idea di creare un data base dei nomi delle
persone associate alle loro foto ed al giorno e a l'ora stabilita appare la foto della persona di turno sostituendo quella del turno precedente.il problema che ho utilizzato il comando date cosi':PUBLIC $data AS Date
PRIVATE $ilast AS Integer
PRIVATE map AS Image

PUBLIC SUB FMain_Open()

 
 
END




PUBLIC SUB Timer1_Timer()

  IF Second(Now) = $ilast THEN RETURN
 

  $data = Now
 

Form_Open
END

PUBLIC SUB Form_Open()

data.Text = $data

END
e la data e l'ora si vedono  e si aggiornano ma con anche  i centesimi di secondo e quando l'orologio interno cambia il minuto la visualizzazione si feerma per 2/3 secondi per poi riprendere aggiornata.in piu ho il problema dell'ora legale che vorrei si aggiornasse automaticamente cosa fare ?

Offline leo72

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 2.163
    • Mostra profilo
    • http://www.leonardomiliani.com
Re: utilizzare la data per creare dei turni di lavoro anuali
« Risposta #1 il: 24 Dicembre 2010, 11:52:53 »
La funzione Now() legge l'ora del sistema, ed il cambio di ora legale/solare dipende appunto da quando verrà aggiornata tale data sul computer. Per farlo prima di tale cambio, devi provvedere a scrivere a mano il codice che "anticipi" il cambio, controllando se il giorno/mese corrispondono a quelle di cambio ora (cioè l'ultima domenica di marzo e l'ultima domenica di ottobre, con l'ora che sia le 2.00 nel primo caso e le 3.00 nel secondo) ma è un po' complicato. Esistono delle formulette (che trovi anche su internet) per vedere qual è il giorno della settimana della data corrente: dovresti calcolarti tutto il calendario dei mesi di marzo ed ottobre di un dato anno e poi ricercare l'ultima domenica.

Detto questo, puoi affinare la visualizzazione usando altre funzioni temporali integrate in Gambas. Minute(Now) restituisce i minuti, Hour(Now), l'ora corrente. Trovi tutto qui.
Visita il mio sito personale: http://www.leonardomiliani.com

Offline miomao

  • Gamberetto
  • *
  • Post: 4
    • Mostra profilo
Re: utilizzare la data per creare dei turni di lavoro anuali
« Risposta #2 il: 24 Dicembre 2010, 12:03:15 »
ti ringrazio del tuo interessamento ci provero durante le feste.una domanda
secondo te siccome le persono non sono molte non piu di dieci/dodici mi conviene comunque usare un db
o magari creare delle routine tipo tabelle ecc..
grazie ancora


Offline leo72

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 2.163
    • Mostra profilo
    • http://www.leonardomiliani.com
Re: utilizzare la data per creare dei turni di lavoro anuali
« Risposta #3 il: 24 Dicembre 2010, 15:39:40 »
Torno un attimo al problema dell'ora legale.
Se nessuno di voi fa il turno di notte, non penso si possa porre il problema di avere un aggiornamento in tempo reale. Basta lasciare acceso il computer che questo si sincronizzerà automaticamente sul nuovo orario.

Parlando dei turni, io ti consiglio di usare un piccolo DB locale come SQLite3: all'inizio magari non avrai differenze rispetto ad un normale file, ma alla lunga troverai innumerevoli vantaggi (pensa ad esempio tra un anno se devi fare ricerche di vecchi turni).
Visita il mio sito personale: http://www.leonardomiliani.com