Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
interfacce utente
Vediamo un semplice modello per lo sviluppo rapido di documentazione e codice di interfacce collegate a dati
di Benedetto Neigre
Benedetto Neigre
ra i molteplici problemi ha lavorato come
che affliggono lanalista- Scenario di riferimento
system administrator
programmatore, quello presso lAmministra-
zione Provinciale di
che riguarda la progettazione e LAquila.
lo sviluppo dellinterfaccia uten- Attualmente è
te è spesso il più oneroso. impegnato in un
Lobiettivo di questo articolo è progetto Domino/
LO SCENARIO DI RIFERIMENTO
La grande diffusione di ambien-
ti operativi a finestre, la dispo-
nibilità di tool visuali di sviluppo e la ricca do- necessario a questa esposizione, è opportuna
cumentazione che guida nella ricerca di un cor- qualche riflessione riguardo al contesto - più
retto stile nel dialogo con lutente non impedi- ampio e complesso - di una ipotetica applicazio-
scono - il più delle volte - un approccio che ne reale.
risente ancora della tradizionale impostazione Ciò che condiziona di più nello sviluppo di una
ASCII-like unica finestra è lo schermo. interfaccia è la preoccupazione dello sviluppa-
Spesso, infatti, lo sviluppo di una nuova appli- tore di fornire uno strumento agile di acquisi-
cazione si trasforma in un porting su un am- zione dati. La soluzione classica per il data-
biente operativo a finestre. entry è quella che prevede lacquisizione dei dati
È spiacevole, inoltre, assistere anche alla per- su form con avanzamento libero tra campi (con
dita delle caratteristiche positive delle vecchie la pressione del ritorno carrello, del tasto tab o
interfacce; come quando, ad esempio, si obbliga tramite mouse indifferentemente) e scelta della
loperatore a spostarsi unicamente con il tasto validazione dei dati a livello di campo, di form o
Tab tra un campo e laltro (quasi che il conse- mista a seconda delle specifiche esigenze.
guente risparmio di due o tre righe di codice sia Tale modalità è ampiamente consolidata e pre-
metodo contemplato dalle moderne tecniche di vale, come soluzione adottata, nella maggior parte
ingegnerizzazione economica del software!). dei casi, pur essendo utile allo snellimento dei
Lesempio applicativo che prenderemo in con- tempi di immissione dei dati, solo in una ristret-
siderazione riguarderà un form di gestione di tissima casistica. A questa modalità si contrap-
unanagrafe dei soggetti che entrano in contatto pone lutilizzo del wizard il cui uso è preferibile
con una ipotetica azienda. ed auspicabile in quanto permette una maggiore
Per soggetti intendiamo quindi: Fornitori, Clienti, concentrazione delloperatore sui singoli step di
Agenti e genericamente Altro. In Figura 1 è lavoro ed evita errori che determinano un dete-
stato riportato lo scenario di riferimento. Le due rioramento dei tempi di immissione delle infor-
modalità duso dellapplicazione sono: immissio- mazioni.
ne di nuovi soggetti tramite wizard o tramite un In linea di massima, nei wizard correttamente
classico form di data-entry; gestione di soggetti progettati, ad un dato da acquisire deve corri-
in archivio (modifica, stampa, ecc.). spondere una modalità preferenziale da usare (ta-
Seppure il codice allegato è riferito al solo form stiera o mouse) al contrario delle form di data-
di gestione dei soggetti per quanto strettamente entry classico che spesso obbligano ad interve-
IL FORM DESEMPIO
Per laccesso a frmSoggetti utilizzeremo una sem-
plice maschera di passaggio, frmRicerca in Figura 2,
che ci consentirà di ricercare il soggetto di nostro
interesse.
Il codice che gestisce il passaggio alla frmSoggetti è
quello riportato nel Listato 1 e la routine di acces-
so ai dati del soggetto è LeggiSoggetto(CodiceSoggetto in archivio vengono utilizzate delle TextBox con:
as String) di frmSoggetti.
A margine è opportuno evidenziare un utile mec- proprietà Name, di norma, impostata a txt-
canismo, sempre presente in Listato 1 (al commento NomeCampo (dove NomeCampo è il nome del
Salvataggio delle opzioni di ricerca), per il mantenimen- campo nella tabella del DB);
to dei valori immessi dallutente in fase di ricerca. I proprietà Locked = True;
valori indicati sono passati al Tag del form frmSog- colore di fondo grigio per indicare la possibilità
getti come stringa sfruttando il punto e virgola di modificare il valore;
come separatore. colore di fondo bianco per indicare che si è in
modalità di modifica;
colore di fondo giallo chiaro per indicare lim-
Le scelte operate nella possibilità di modificare il valore;
colore di fondo arancione per indicare la possi-
progettazione dellinterfaccia bilità di selezione di un nuovo valore che deter-
permettono una netta mina un cambio di record (Es. x CodiceSoggetto).
separazione tra contesto
di visualizzazione Nel caso che il campo da visualizzare a video
e contesto di modifica sia derivato da unaltra tabella di DB (relazione
tramite chiave esterna) sarà presente, in corrispon-
denza della TextBox visibile (ospitante il valore
contenuto nel campo correlato), un controllo
In Figura 3 è stato riportato il form frmSoggetti, DataCombo nascosto e associato tramite codice.
la ToolBar viene gestita da codice al fine di adat- Le operazioni di modifica dei dati vengono atti-
tarsi al contesto operativo. vate dalloperatore tramite doppio clic sul campo
Nella sezione Generale - Dichiarazioni viene di interesse; il software provvede a modificare il
dichiarata una variabile booleana InModifica che colore di fondo della TextBox interessata alla
servirà ad evitare lattivazione dello stato di mo- modifica o a rendere visibile il DataCombo relati-
difica per più di un campo alla volta. vo nascondendo la TextBox.
Sempre in questa sezione vengono dichiarati i La scelta della modifica dei colori, la modifica
necessari oggetti recordset per le DBCombo; in delle opzioni della ToolBar, la disponibilità trami-
alternativa è possibile limitare il ciclo di vita di te doppio clic e non tramite un semplice trasferi-
questi oggetti al solo spazio elaborativo richiesto mento del focus (a qualunque titolo) permettono
per loperazione di modifica dello specifico cam- una netta separazione tra contesto di visualizza-
po, migliorando così la velocità di accesso al re- zione e contesto di modifica, consentendo allope-
cord del soggetto. Per la rappresentazione dei dati ratore una maggiore consapevolezza ed un pieno