Lezione 4
Object inspector (Ispettore Oggetti)
È giunto il momento di comprendere la funzione di alcuni strumenti che l’IDE ci mette a disposizione (ricordi vero cosa sia l’IDE?).
(la finestra numero 4 nella foto in apertura). La rimetto qui per tua comodità:

Diamo uno sguardo all’object inspector
L’object inspector è uno strumento fondamentale che ci dà accesso a tutti gli oggetti che abbiamo disposto nella nostra finestra, alle loro proprietà e ai loro eventi.
Abbiamo una lista di tutti gli oggetti presenti nel form, c’è pure il form stesso, subito sotto abbiamo l’elenco di tutte le proprietà dell’oggetto che selezioniamo dalla lista di sopra o dal form. C’è anche una TTabControl (così si chiama l’oggetto che gestisce le tabelle) in cui sono presenti 4 tabelle: Proprietà, Eventi, Favoriti e Riservato.
Per ora ci occupiamo delle prime due.
Assicurati di aver selezionato la tabella Proprietà e poi clicca su un oggetto qualsiasi nel form di sviluppo, vedrai una lunga lista di proprietà di quell’oggetto, adesso, se clicchi su un altro oggetto vedrai che alcune proprietà sono ancora presenti nella lista, alcune scompaiono e altre nuove vengono mostrate.
Questo perché ogni oggetto ha delle proprietà che sono solo sue e altre che sono comuni a più “classi” di oggetti.
Fai la prova: metti sul form un oggetto TEdit e un oggetto TLabel (sono entrambi sulla tabella Standard della finestra principale di Lazarus), ora cliccane uno e dai un occhiata alle sue proprietà, poi clicca sull’altro e vedi le differenze, la TEdit ha la proprietà Text e la TLabel no.
Tutte queste proprietà (o almeno quasi tutte) possono essere preimpostate in fase di sviluppo, cioè mentre il codice non è in esecuzione ma proprio mentre stai predisponendo gli oggetti sul form. Possono anche essere modificate dal codice stesso, in questo caso si dice a Run Time (durante l’esecuzione del codice)
Facciamo una prova
Vai sul menu File della finestra principale e clicca su “Nuovo” poi seleziona “Applicazione” nella finestra di dialogo che si è appena aperta e clicca su “OK”.
Adesso hai una applicazione vuota pronta ad essere programmata.
Disponi sul tuo form due pannelli (oggetto Tpanel) che trovi nella tabella Standard (la terzultima iconcina).
Mettici anche anche un pulsante (TButton).
Perfetto, ora abbiamo Panel1, Panel2 e Button1 nella lista dell’ispettore oggetti, clicca su Panel1 e vai a cercare la proprietà Color, cliccando sul triangolino hai modo di scegliere un colore, oppure puoi cliccare sui tre puntini per scegliere un colore personalizzato, mi raccomando, prendine uno abbastanza chiaro.
Vedrai il nome del colore che hai scelto oppure il suo valore numerico, per esempio clMoneyGreen.
Adesso fai doppio click sul pulsante e accedi al codice dell’evento click del pulsante e scrivici quanto segue:
procedure TForm1.Button1Click(Sender: TObject);
begin
Panel2.Color:= clMoneyGreen;
end;
Esegui il programma, il tuo Panel1 è del colore che hai scelto e l’altro è ancora del colore originale, giusto?
Ora clicca sul pulsante... Cosa è successo?
Abbiamo cambiato le proprietà dei due oggetti, una in fase di sviluppo, e l’altra a Run Time.
Per capire meglio andiamo a modificare il codice come segue:
procedure TForm1.Button1Click(Sender: TObject);
begin
panel2.Color:= clskyblue;
panel1.Caption:='clMoneyGreen';
panel2.Caption:='clSkyBlue';
end;
Come vedi abbiamo selezionato manualmente un colore per Panel1 e uno diverso per Panel2, abbiamo poi chiesto al programma di scrivere il nome del colore nei nostri pannelli…
Carino vero?
Object inspector: Gli Eventi
Diamo un occhiata alla tabella eventi dell’ispettore oggetti: come per le proprietà, qui sono listati tutti gli eventi relativi all’oggetto selezionato, e come per le proprietà, questi variano a seconda del tipo di oggetto, alcuni possono essere presenti in più oggetti, altri sono peculiari di un singolo oggetto.
Per il momento non andiamo oltre, in quanto, per adesso, useremo solo gli eventi predefiniti di ogni oggetto, ma arriverà ben presto il momento in cui gli eventi predefiniti non saranno sufficienti e torneremo qui per approfondire.
Sperimenta quello che hai appreso fino a qui e buon divertimento