Agenda Appuntamenti |
Scritto da Alessandro Baraldi | ||||||||||||||||
Mercoledì 15 Novembre 2006 01:00 | ||||||||||||||||
Questo Demo rappresenta una semplice Agenda di Appuntamenti, non ha la pretesa di risolvere problematiche complesse o di essere un Tool Completo, ma solo una dimostrazione di semplicità.
La maschera principale espone 7 giorni con altrettante ListBox, nelle quali ogni riga rappresenta un'intervallo orario. La configurazione dell'agenda si effettua tramite queste costanti, contenute nel modulo "basAppuntamenti", che definiscono l'ora d'inizio, l'ora di fine e la durata degli intervalli temporali Public Const START_TIME As String = "09:00" Public Const STOP_TIME As String = "18:00" Public Const DELTA_TIME As Integer = 30 ‘ In Minuti N.B.: è importante definire all'inizio eventuali variazioni della scalatura degli orari, altrimenti, in seguito, si verificherebbero anomalie per la differenza rispetto ai dati salvati con impostazioni differenti.
CaratteristicheI controlli ListBox sono stati strutturati come USERCONTROL; la struttura dell'applicativo infatti prevede due classi fondamentali: clsItem e clsItems La prima (clsItem) rappresenta l'istanza singola dello USERCONTROL, che è costituito da: 1 Controllo ListBox [lstn] 1 Label(giorno) [lbln] 1 Label(Ora) [lblOran] 1 Label(Oggetto) [lblObjn] L'istanza della classe clsItemprovvede a gestire lo USERCONTROL in tutto. La classe clsItems rappresenta la classe Collection che raggruppa gli USERCONTROL (le istanze della classe clsItem) e ne gestisce gli eventi singoli sfruttando la tecnica delle interfacce tramite Implements. La classe clsItems a sua volta espone eventi pubblici un po' come una matrice di controlli in VB, quindi restituirà l'indice dello USERCONTROL che ha scatenato l'evento e tutti i dati necessari. Altre due classi importanti sono: clsForm e clsForms Gestiscono le istanze delle Form legate al Giorno singolo. La classe FormInfo è una classe Utility.
Maschera principale
La maschera principale rappresenta il SETTIMANALE, a partire dal giorno impostato nel controllo "1° gg". Di default il giorno impostato in alto a sinistra è quello attuale. Ai giorni vengono attribuiti dei colori di sfondo che ne definiscono il TIPO: 1) GIORNO ATTUALE All'apertura è il primo in alto a sinistra; si differenzia sempre dagli altri poichè ha una BORDATURA blu. 2) GIORNI SUCCESSIVI INFRASETTIMANALI Sono caratterizzati dallo sfondo azzurro. 3) GIORNI PRECEDENTI INFRASETTIMANALI Sono caratterizzati dallo sfondo blu intenso. 4) DOMENICHE Sono caratterizzati dallo sfondo rosso. 5) GIORNO ATTIVO Il giorno che prende lo stato attivo ha lo sfondo giallo chiaro. La console alla destra consente di variare il settimanale, facendo riferimento sempre alla data del 1° giorno (in alto a sinistra).
Accesso alla definizione di appuntamentoPer accedere ai dettagli dell'appuntamento basta fare un doppio click sull'ora indicata nella lista.
Si apre così la maschera secondaria per la configurazione che dovrà essere compilata obbligatoriamente nel campo Oggetto. è possibile definire un intervallo preciso dell'appuntamento definendolo nelle due caselle combinate Ora Inizio e Ora Fine. Le condizioni di apertura di questa maschera sono due:
Questa distinzione è automatica, pertanto, se l'apertura è avvenuta su un appuntamento esistente, la maschera è in modalità EDITA, mentre se l'apertura è avvenuta su un'orario disponibile, la maschera sarà in modalità NUOVO. In sostanza la differenza tra le due è la seguente: in modalità NUOVO non si ha la possibilità di modificare la data del giorno aperto per l'impegno, mentre in modalità EDITA potremo ovviamente accedere al calendario per posticipare o anticipare la data dell'appuntamento. Per avallare l'inserimento o la modifica servirà approvarla con il pulsante (Immagine) di EDITA o di NUOVO. Al rientro nella maschera principale verranno aggiornati i dati visualizzati. Ringrazio in particolar modo Gabriele Bertolucci per il paziente ed ottimo DEBUG fatto e per i suggerimenti dati.
Sistema operativo: Win32 Applicazioni: Access 2000, Access 2002/XP, Access 2003
|
||||||||||||||||
Ultimo aggiornamento Lunedì 03 Agosto 2009 11:56 |