In questa sezione daremo un'occhiata agli oggetti messi a disposizione da Delphi così
come viene fornito. Come già precisato all'inizio del corso, si fa riferimento alla
versione 5 di Delphi Professional. Con molta probailità, essendo questa una versione
intermedia tra la Standard e la Enterprise, negli oggetti presentati in questa sezione
potrebbero essercene alcuni in più od in meno se si usa una versione differente.
Per la maggior parte, i componenti messici a disposizione da Delphi non sono altro che
dei wrapper dei Common Controls forniti con le varie versioni di Windows.
Come visto nella presentazione dell'ambiente di sviluppo, i componenti sono organizzati
nella Component Palette in pagine. Nell'installazione tipica abbiamo 15 pagine che
raccolgono i componenti in base a categorie. Ecco un elenco delle pagine standard nella
Component Palette: Standard, Additional, Win32, System, Data Access, Data Control,
Interbase, Internet, Fastnet, QReport, Dialogs, Win3.1, Samples, ActiveX, Servers. Ecco
come appaiono i componenti nelle rispettive pagine
Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Come potete vedere c'è praticamente quasi tutto per cominciare a realizzare delle
applicazioni complete. Vi sono componenti per l'accesso ai databases, per l'accesso ai
dati nei databases, per l'inserimento di testo, componenti a scelta multipla a tendina
(ComboBox), liste, liste ad albero, liste di elementi organizzabili in diversi modi (ad
elenco, ad icone grandi, con dettagli, simile alla sezione destra di esplora risorse),
componenti per la generazione di report da databases, etc.
Molti di questi componenti, soprattutto quelli visibili, sono identici ai componenti
solitamente visibili nelle applicazioni Windows. Questo proprio perchè derivano da classi
che inglobano i common controls di windows.
Non è possibile in questa sede trattare questi componenti uno ad uno in maniera
completa ma cercherò di illustrare gli aspetti più interessanti dei componenti più
utilizzati.
La pagina standard
Nella pagina standard sono contenuti la maggior parte dei componenti da più tempo
inseriti in Windows. Abbiamo le caselle di testo (TEdit), le etichette (TLabel), i menu
(TMainMenu), i menu popup (TPopupMenu), caselle di testo su più righe (TMemo), i bottoni
(TButton), i le caselle di spunta (TCheckBox), i radio bottoni (tradioButton), le listbox
(TListBox), le caselle di testo combinate (TComboBox), pannelli (TPanel), i pannelli di
raggruppamento (TGroupBox). Insieme a questi componenti derivanti direttamente
dall'ambiente Windows, ce ne sono due che invece sono implementati direttamente da Delphi:
i frames (TFrame) e la lista delle azioni (TActionList). Il primo di quest'ultimi due,
introdotto a partire dalla versione 5 di Delphi, permette, in un certo qual modo, di poter
creare visualmente componenti composti. Caratteristica molto interessante che permette di
ridurre notevolmente i tempi di sviluppo considerando che per realizzare un componente
composto bisogna, come per tutti i componenti, lavorare solamante a livello di codice, con
tutti i problemi di implementazione e debug che ne derivano. Un frame si presenta
sottoforma di una form con la differenza che l'area visualizzata a run time sarà
solamente l'area client della form a design time. Un frame non ha una barra del titolo.
La lista della azioni invece è un sistema che permette di centralizzare il codice che
viene richiamato da più componenti. Si può ad esempio definire una azione
"Apri" il cui codice associato viene eseguito dalla voce di menu apri, dal
bottone rapido presente nella toolbar e da qualsiasi altro controllo che lo richiede.
Altra possibilità offerta dalle azioni è quella di poter gestire lo stato di tutti i
controlli associati a quell'azione. Riferendoci all'esempio precedente, se per qualsiasi
logica implementativa del programma l'azione "Apri" fosse momentaneamente non
disponibile, non dovremo andare a modificare lo stato dei controlli associati a
quell'azione uno ad uno, ma sarà sufficiente impostare la proprietà giusta dell'oggetto
azione ed automaticamente tutti i controlli verranno aggiornati. Le proprietà più
importanti di una azione (TAction) sono: Caption, Checked, Enabled, Hint, HelpContext,
Visible, ImageIndex, ShortCut. Queste sono le stesse proprietà della maggior parte dei
controlli che possono essere collegati alle azioni. Perciò, tornando al nostro esempio,
per disattivare tutti i controlli collegati all'azione "Apri", sarà sufficiente
impostare la proprietà Enabled dell'azione a False.
Creare un menu in Delphi è veramente semplice. tramite il componente TMainMenu, è
sufficiente, dopo aver inserito il componente nella form in cui si vuole creare il menu,
agire tramite l'editor di proprietà del componente stesso (è possibile visualizzarlo
facendo doppio click con il mouse sul componente MainMenu inserito nella form) inserendo
le voci di menu che interessano, inserire separatori tra una voce e l'altra, assegnare
delle azioni alle varie voci di menu, creare sottomenu, assegnare del codice da eseguire a
ciascuna voce.