You are on page 1of 3

Editor dei componenti di Proteus (add-on di Proteus 9.

3)

Proteus può includere nelle proprie pagine grafiche dei componenti, ovvero dei piccoli progetti di
Proteus preassemblati.
I componenti possono essere molto semplici, come per esempio bottoni o interruttori, oppure
molto più complessi, come per esempio il dialogo di apertura di un file.
Tutti i componenti risiedono nella directory C:\COMMONS\C\OBJECTS\BASE_OBJECTS.

Esistono per default una settantina di componenti predefiniti (pulsanti, interruttori,


strumenti analogici, display digitali ed altro) richiamabili premendo il pulsante.

È possibile creare propri componenti o editare i componenti predefiniti.


È sconsigliato di modificare i componenti predefiniti in quanto un eventuale aggiornamento di
Proteus farebbe perdere le modifiche fatte, ed inoltre tali modifiche funzionerebbero solo sul
computer utilizzato per la modifica .
Anche per gli eventuali componenti creati dall’ utente, occorre tener conto che un progetto che li
contiene funzionerà solo sul computer su cui sono stati creati. Per farli funzionare su un altro
computer occorre copiarli nella directory C:\COMMONS\C\OBJECTS\BASE_OBJECTS del nuovo
computer e ricompilarli usando Edit Component.

La creazione di un nuovo componente è piuttosto laboriosa, per cui è stata creata una patch
opzionale di Proteus che rende possibile creare un nuovo componente, editarne uno preesistente
o istallare sul proprio computer un componente creato da altri, con un semplice click.
Con la patch “Component Editor” vengono aggiunte due nuove opzioni
(in giallo) al menu File.
Con queste opzioni è possibile con un semplice click creare la base di
un nuovo componente o editarne e istallarne uno preesistente.
Il nuovo componente creato è solo la base, ovvero contiene solo un
pannello (panel1) grigio, che possiamo ridimensionare, rendere
trasparente, e su cui possiamo aggiungere i vari bottoni, immagini,
labels ecc… di Proteus. Tutto quello che aggiungiamo è bene che stia
dentro il pannello, anche se non obbligatorio.
Per default viene definita solo la variabile Friend “val” che può essere
un byte, un word, un real … con cui il componente comunica con il
programma Proteus su cui è inserito.
I nuovi componenti creati, una volta inseriti nel progetto, avranno
nella proprietà “var” il nome di una variabile in caratteri minuscoli
assegnato da Proteus.
Possiamo cambiare il nome di questa variabile con un altro nome,
sempre in caratteri minuscoli.
Ad esempio cambiando “my1” con “pippo” la variabile “pippo” sarà
associata bi univocamente con la variabile “val” del componente, mentre la struttura “Pippo” con
l’ iniziale maiuscola è il puntatore del componente, ovvero di tutte le variabili di tipo Friend e dei
vari campi del componente.

Ad esempio:

“Pippo->val” è equivalente a “pippo”


“Pippo->panel1” è il puntatore al pannello di fondo del componente, per cui ad esempio
Pippo->panel1->color=YELLOW;
cambierà il colore di fondo del componente.
La proprietà “nametype” ci dice invece di che tipo di oggetto si tratta.

È consigliato creare i nuovi componenti


usando il prefisso “My”.
Il prefisso “My” serve per individuare
facilmente i componenti creati dal
programmatore.
Window Size definisce l’ area di lavoro e non la
dimensione del componente, che è quella del
pannello panel1. Window Size deve essere
maggiore o uguale alla dimensione del
componente.

I compilatori Borland c++ Builer e Delphi consentono anche essi di istallare nuovi componenti, ma,
a differenza di Proteus, non hanno una procedura vera e propria per crearne uno nuovo, lasciando
questo compito alla bravura e all’ immaginazione del softwerista.

Una volta creato o modificato il componente, esso deve essere compilato come un normale
progetto, e solo allora, se la compilazione non dà errori e appare l’ icona del componente, esso
potrà essere visualizzato nel menu dei componenti.
Una volta creato il componete con l’ opzione Create Component possiamo:

- Cambiare il tipo della variabile val che per default è di tipo char
- Aggiungere nuove variabili (solo quelle con il prefisso Friend saranno visibili dal progetto in
cui sarà inserito il componente).
- Aggiungere campi di qualsiasi tipo (o anche altri componenti) che saranno accessibili dalla
pagina che contiene il componente, con tutte le loro proprietà, tramite il puntatore al
componente (ovvero il nome della proprietà “var” però con l’ iniziale maiuscola)
- Il nome del file del componente è uno mnemonico di nostra scelta, e non ha niente a che
vedere con il nome della proprietà “var” che è quello con cui si comunica con il componente.
- La cosa può essere compresa meglio esaminando il codice dei componenti preesistenti.
- Alcuni componenti preesistenti sono stati creati prima della versione 5.0 di Proteus in cui è
stata introdotta la scelta della lingua, per cui, se ricompilati, possono dare l’ errore:
- “undefined Lang”. In tal caso occorre aggiungere nel file “prova.c” del progetto la definizione
della variabile Lang:
// ==========================================================
char WindowName[]="Component_xxxxx ";
int WindowWidth=200;
int WindowHeight=178;
int refresh_time=10;
extern int Lang;
// ==========================================================
- Analogamente possiamo cambiare le dimensioni WindowWidth e WindowHeight della
finesta del progetto, se ci occorre più spazio. (le dimensioni di tale finestra non hanno niente a
che vedere con le dimensioni del componente, che sono invece quelle del pannello panel1).
- È possibile aggiungere e modificare come detto sopra i due files del progetto (prova.c e
object.c) ma è bene non togliere niente di quanto contenuto inizialmente in tali files , anche se
sembrano istruzioni inutili, in quanto togliendo anche una sola riga non funzionerà più
correttamente la compilazione del componente.

Questo add-on è volutamente separato dall’ istallazione di Proteus 9.3 in quanto ne è


sconsigliata la distribuzione a softweristi esterni a Syel.

You might also like