Logo

GNUCOBOL (già OpenCobol) Italian Group

Nuova versione settembre 2019

Change language

GUICOBOL e POWERCOBOL

SIMILITUDINI CON IL POWERCOBOL DELLA  FUJTISU

Per quelli che già conoscono Powercobol  questo progetto Open Source  ha alcune similitudini ed altri aspetti significativamente diversi. In generale l'approccio agli oggetti segue le regole di Powercobol. La differenza più importante di tutte è che gli oggetti su Powercobol  devono essere istanziati durante la fase di design (e Powercobol dispone di uno splendido editor di tipo WYSIWYG) e l'ambiente di sviluppo stesso è estremamente evoluto e performante. In Guicobol e' la possibilità di generare le istanze avviene invece a  runtime con i metodi "add"...addform addlabel..ecc.ecc. I progetti Powercobol sono dipendenti nel modo più assoluto dall'ambiente di sviluppo e il  codice del progetto è tutto scritto in un formato proprietario. Il codice gestito da guicobol e' sempre un sorgente cobol convenzionale. Al fine di snellire la scrittura del codice il preprocessore si incarica di inglobare direttamente alcuni metodi nelle funzioni di base. Questo vuol dire, per esempio, che il form quando viene generato ha  una callback procedure per la  Close creata di default (quando questa non sia comunque stata invece definita dal programmatore).  Tutti i campi oggetto che sono dichiarati per poter referenziare le istanze degli oggetti devono essere riportati anche nelle  singole procedure degli eventi  nella relativa area di working-storage dei singoli programmi collegati al callback. Guicobol consentirà di tralasciare la scrittura di questo codice che verrà invece gestita in modo automatico dal preprocessore  Questo vuol dire che nella prima working-storage della procedura principale vanno indicati tutti i campi che si desiderano usare per gli oggetti e le stesse dichiarazioni verranno poi ricollocate all'interno delle singole working-storage generate del preprocessore. Inoltre gli stessi programmi collegati agli eventi potranno disporre di una struttura estremamente minimale sarà quindi sufficiente indicarli nell' header Method-Id "nome della procedura"   associata all'evento per scrivere sotto direttamente il codice come se già in presenza di una PROCEDURE DIVISION. il codice intermedio viene aggiunto dal preprocessore.

METODI IN FASE DI STUDIO

Sto altresì valutando di aggiungere proprietà utili ai fini del filtro sui dati. Ad esempio generando un textbox sarà possibile usare una proprietà "filter"  che produrrà direttamente il controllo e la relativa segnalazione scrivendo al riguardo la struttura collegata .

Invoke atext  "addfilter" using  "Indicare il valore "   Segnala campo obbligatorio e restituisce il focus all'oggetto

Invoke atext  "addfilter" using   "Indicare preferibilmente il valore "   "warning" // Segnala campo mancante e prosegue

Invoke atext  "addfilterEMAIL" using  " Indicare una email "   --> Segnala campo obbligatorio e restituisce il focus all'oggetto

Invoke atext  "addfilterEMAIL using   "Indicare preferibilmente il valore "   "warning" // Segnala campo mancante e prosegue

Invoke atext  "addfilterMIN" using  " il valore non essere minore di 100  "  100   //Segnala campo non congruente  e restituisce il focus all'oggetto

Invoke atext  "addfilterMIN" using  " Indicare il valore  non minore di  "  100  "warning"     //Segnala campo non congruente e continua

Invoke atext  "addfilterMAX" using  " il valore non puo'  essere maggiore di 100  "  100   //Segnala campo non congruente  e restituisce il focus all'oggetto

Invoke atext  "addfilterMAX" using  " Indicare il valore non puo' essere  maggiore di 100  "  100  "warning"     //Segnala campo non congruente e continua