Agenda Appuntamenti Stampa
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.

 

Caratteristiche

I 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).

DETTAGLI MASCHERA PRINCIPALE

DRAG&DROP SINGOLO GIORNO

Passando con il mouse sulla data estesa del singolo giorno si noterà la variazione del puntatore del mouse.

Si ha la possibilità di effettuare il DRAG&DROP del singolo giorno trasportandolo come un "Post-It" sull'area di sfondo di Access (quella in grigio), la MDI_CLIENT area.

Per effettuare il DRAG&DROP premere il pulsante sinistro e, tenendolo premuto, trascinare sull'area grigia la maschera che viene visualizzata in trasparenza.

Qualsiasi altro posizionamento non è accettato e la maschera verrà chiusa. Essendo Form di tipo Popup il loro trascinamento successivo sarà valido anche sul DeskTop.

Questa particolarità è disponibile in tutto il progetto, dove sono stati definiti gli USERCONTROL, e può essere utile quando si vuole mantenere visibile uno o più giorni che non rientrano nell'arco del SETTIMANALE.

Viene gestita la multisessione delle form, pertanto non è possibile aprire due o più form ("Post-It") sullo stesso giorno.

Maschera d'Inserimento

TOOLBAR di navigazione

La navigazione nella settimana è garantita dalla console di navigazione a destra.

Sono usati 5 oggetti di navigazione:

1) 1° gg

La freccia a sinisrta consente di portare il settimanale alla data odierna.

Il simbolo del calendario  invece apre il calendario per la selezione personalizzata della data di partenza del Settimanale.

2÷5) Giorno/Sett./Mese/Anno

Le frecce  e  consentono di incrementare o decrementare di una unità (Giorno/Settimana/Mese/Anno) la data iniziale del Settimanale.

Il doppio click sulla parte centrale dei pulsanti di navigazione 2÷5 consente la definizione personalizzata dello spostamento tramite la maschera d'inserimento dedicata (vedi fig. a sinistra).

Essa propone il valore iniziale e consente di inserire il nuovo valore al quale si deve spostare il relativo oggetto di navigazione.


MASCHERA PRINCIPALE DEFINIZIONE COLORI PERSONALIZZATI

SYSTEM COLOR TOOL

Questa maschera consente di definire e personalizzare, entro alcuni limiti, i colori utilizzati per la differenziazione dei giorni.

Il doppio click sul codice numerico del colore attiverà la ColorPalette per la selezione personalizzata.

Il nuovo colore selezionato verrà salvato automaticamente ed alla chiusura della maschera i colori verranno applicati al Settimanale.



CARATTERISTICHE MASCHERA GIORNO SINGOLO

Dalle maschere SINGOLE è possibile variare il giorno ridefinendolo dal calendario visibile in alto a destra.

Il Pulsante a sinistra in basso da la possibilità di BLOCCARE la form che come un POST_IT non sarà più possibile muoverla fino alla rimozione del blocco.

Si ha la possibilità di chiudere la singola finestra gionaliera, oppure tutte le finestre giornaliere.


 

Accesso alla definizione di appuntamento

Per accedere ai dettagli dell'appuntamento basta fare un doppio click sull'ora indicata nella lista.

MASCHERA DI DETTAGLIO

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:

  1. Nuovo appuntamento
  2. Edita appuntamento

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

 

Allegati:
FileDescrizioneDimensione del File
Scarica questo file (agenda.zip)agenda.zip 827 Kb
Ultimo aggiornamento Lunedì 03 Agosto 2009 11:56