LA MODALITA' DI SVILUPPO

L'Utente puo' eseguire personalizzazioni senza conoscere il nome degli oggetti o delle applicazioni



LA MODALITA' SVILUPPO

La modalità sviluppo è uno dei tool messi a disposizione per la programmazione di TrendTNG.
La modalità sviluppo è stata costruita per rendere più agevole e immediato il compito di eseguire personalizzazioni al gestionale.
Nel momento in cui si abilita la modalità sviluppo, infatti, TrendTNG si pone in modalità programmazione e, per eseguire variazioni all’ interfaccia, aggiungere nuovi controlli o elementi occorre semplicemente richiamare l’ applicativo con le consuete metodologie di accesso utilizzate nell’ ambito gestionale (ad esempio potete selezionare l’applicativo che intendete modificare dal relativo menù o dalla propria toolbar). Quando si è in modalità sviluppo, ogni oggetto dell’ applicativo viene visualizzato con un opportuno selettore che ne consente la modifica. Ogni modifica apportata attraverso la modalità sviluppo può essere abilitata solo a certi utenti o a certi gruppi utenti; questo viene spesso utilizzato nella programmazione della sicurezza della base dati infatti si può volere, ad esempio, che certi utilizzatori non possano modificare il campo prezzo nei listini, oppure si desidera l’inibizione della visualizzazione dei campi relativi alla banca di appoggio del cliente e così via.
La modalità sviluppo può essere associata ad un data dictionary ed ogni utente, a sua volta, può essere associato al datadictionary principale dell’ azienda o ad un proprio datadictionary. Questo Vi permette, ad esempio, di programmare le interfacce grafiche, i menu’ e i messaggi di errore in base alla lingua dell’ utente connesso a Trend.
La sintassi utilizzata nella programmazione di TrendTNG è tipica dei più moderni linguaggi di programmazione ad oggetti.
Ogni oggetto ha delle proprietà (che ne modificano l’aspetto grafico) e degli eventi (routine che vengono eseguite ad esempio alla pressione del click del mouse sull’ oggetto stesso).
Esistono oggetti, chiamati contenitori, che a loro volta possono contenere altri oggetti come ad esempio gli oggetti Pageframe o Grid. A titolo esemplificativo riportiamo alcuni esempi di implementazione e/o modifica dell’ interfaccia grafica dell’ applicativo.
 

MODIFICHE ALLE PROPRIETA' DEGLI OGGETTI

Supponiamo di voler colorare in verde lo sfondo della descrizione in anagrafica prodotti e di rendere il carattere in grassetto. Dopo aver abilitato la modalità sviluppo ed aver eseguito l’applicativo che intendiamo modificare, clicchiamo con il tasto destro del mouse sull’ oggetto TEXT3 indicante la descrizione dell’ articolo. 
Apriamo ora l’editor, che può direttamente essere aperto dalla maschera che stiamo modificando cliccando con il tasto destro del mouse sull’oggetto “Ges_prod.Ges_prod” raffigurato nella prima immagine a fianco. In questo caso Trend provvederà ad aprire direttamente la routine desiderata senza farla selezionare all’ utente. All’apertura dell’editor della modalità sviluppo modifichiamo le proprietà dell’ oggetto selezionato ed in particolare inseriamo le istruzioni :

.Backcolor = RGB(0,255,0)
.FontBold = .T.

Backcolor é la proprietà che permette di modificare i colori di sfondo dell’ oggetto.
Backcolor richiede un valore numerico indicante il colore desiderato, per il verde é 65280, in questo caso abbiamo utilizzato la funzione RGB che ritorna il colore passando come parametro la gradazione, da 0 a 255, di rosso, verde e blu.
FontBold, invece, imposta il carattere in grassetto se settato a .T. che stà per TRUE (vero).
Maggiori e più dettagliate informazioni riguardo le funzioni, proprietà o metodi sono da ricercare nel manuale dell’ SDK fornito con TrendTNG all’interno del quale sono presenti anche diversi esempi pratici.
Nel momento in cui l’utente disabilita la modalità sviluppo Trend si pone in modalità operativa e rieseguendo l’applicativo vengono elaborate automaticamente le implementazioni eseguite. Come notiamo dalla seconda illustrazione a destra, lo sfondo della descrizione é di colore verde ed il carattere é in grassetto.
 

AGGIUNGERE OGGETTI - una page

Attraverso la modalità sviluppo oltre a modificare le proprietà degli oggetti già esistenti nell’ applicativo vi è anche la facoltà di aggiungerne di nuovi. I nuovi oggetti possono essere inseriti in oggetti di tipo contenitore come ad es: Form, Pageframe, Grid ecc. Ad ogni oggetto possono essere impostate sia le proprietà che gli eventi. Se ad esempio aggiungiamo un nuovo bottone in una maschera, probabilmente, si desidererà che esso esegua qualcosa come il lancio di un report o di un form contenente delle informazioni.
Creiamo, per esempio, una nuova pagina nell’anagrafica prodotti e ci inseriamo l'oggetto TextBox che referenzia un nuovo campo dell’ anagrafica prodotti. Come per il primo caso abilitiamo innanzitutto la modalità sviluppo e selezioniamo l’applicativo di gestione dell’ anagrafica prodotti dal menù Magazzino → Prodotti → Prodotti.
Clicchiamo con il tasto destro sull’ oggetto pageframe per selezionarlo ed apriamo l’editor cliccando sulla label “ges_prod.ges_prod”. All’ interno dell’ editor inseriamo la seguente istruzione :
Thisform.PAGEFRAME1.ADDOBJECT(“ext_page”,”page”)
AddObject, come nella maggior parte dei linguaggi di programmazione ad oggetti, é il metodo che permette di aggiungere un oggetto ad un contenitore. In questo caso l’oggetto contenitore è l’oggetto pageframe1, quello già presente in anagrafica prodotti. I parametri che si devono passare al comando AddObject sono il nome del nuovo oggetto ed il tipo; in questo caso creeremo una nuova pagina (tipo “Page”) chiamata ext_page.
Appena viene creato un nuovo elemento abbiamo la possibilità di assegnare delle proprietà ed eventi. In questo caso desideriamo inserire il titolo della pagina referenzionado l’ oggetto creato.
Thisform.pageframe1.ext_page.caption=”NOTE”
Attraverso questo commando assegniamo alla proprietà caption il valore “NOTE” percui a video, nel titolo della pagina apparirà la label “NOTE”.
 

AGGIUNGERE OGGETTI - una textbox

A questo punto dopo aver creato una nuova pagina ed avergli assegnato il titolo inseriremo all’ interno di essa un nuovo oggetto (textbox) che avrà come sorgente dati un nuovo campo aggiunto nella tabella dell’ anagrafica prodotti.
L’ istruzione per aggiungere un nuovo oggetto già la conosciamo, percui inseriamo la seguente linea di codice:
Thisform.PAGEFRAME1.ext_page.ADDOBJECT(“ext_text1”,”tng_textbox”)
Ora abbiamo creato un nuovo oggetto di tipo TextBox chiamato ext_text1, ed a questo punto indichiamo la sorgente dati, da che tabella e da che campo della tabella, desideriamo prelevare le informazione per la relativa visualizzazione e/o modifica.
Thisform.PAGEFRAME1.ext_page.ext_text1.controlsource=”ges_prod.ext_note”
L’ istruzione controlsource assegna la sorgente dati che in questo caso é data dalla tabella ges_prod (tabella dell’anagrafica prodotti) e dal campo (ext_note) aggiunto, come vedremo più avanti, attraverso l’editor delle tabelle.
Occorre notare che la gestione del blocco dei record, la gestione del salvataggio delle modifiche e tutto ciò che concerne la gestione del dato è completamente automatica, l’ utente non si deve preoccupare di nulla in quanto è il motore dell’ applicativo che eseguirà queste funzioni per Voi.

AGGIUNGERE OGGETTI - posizionamento

Attraverso queste altre linee di codice posizioneremo l’oggetto nella zona desiderata dello schermo:
Thisform.PAGEFRAME1.ext_page.ext_text1.top=50
Thisform.PAGEFRAME1.ext_page.ext_text1.left=100
Thisform.PAGEFRAME1.ext_page.ext_text1.width=200

Top indica la posizione dall’ alto (in pixel), left la posizione dell’ oggetto dalla sinistra (in pixel) e width la dimensione dell’ oggetto (sempre in pixel).

AGGIUNGERE OGGETTI - creare e posizionare una label

Per completare il tutto, inseriamo la scritta a video che precede il nuovo campo aggiunto per indicare all’ utente a cosa si riferisce l’oggetto, in questo caso inseriremo una label con scritto “Note aggiuntive: “.
Thisform.PAGEFRAME1.ext_page.ADDOBJECT(“ext_label1”,”tng_label”)
Thisform.PAGEFRAME1.ext_page.ext_label1.caption=”Note aggiuntive :”
Thisform.PAGEFRAME1.ext_page.ext_label1.top=50
Thisform.PAGEFRAME1.ext_page.ext_label1.left=5

Le istruzioni utilizzate sono sempre quelle già viste per la creazione dell’ oggetto textbox, ma in questo caso inseriamo un oggetto label (tng_label).
Nell’ immagine a fianco mostriamo il risultato ottenuto con l’ inserimento di queste linee di codice all’ interno della modalità sviluppo. Oltre all’ inserimento degli oggetti predefiniti di TrendTNG è possibile inserire altri oggetti Custom oppure oggetti ActiveX, nonché referenziare dll e cosi via. Nell’ ambiente di sviluppo di TrendTNG si possono utilizzare una grande varietà di istruzioni suddivise in proprietà, metodi, funzioni o procedure.
 


Indice Contenuti


I nostri Video

Guarda tutti i video