03 - Open SourceHarbour

Harbour – strumenti di sviluppo

Last Updated on 13 Giugno 2021 by Roberto De Pedrini

Dopo aver installato il pacchetto vediamo in questo articolo quali sono alcuni strumenti di sviluppo base. Dato che questo risulta essere un argomento vasto ne parleremo in futuri articoli

-HBMK2 e HBRUN i protagonisti principali

Come visto nell’articolo introduttivo, Harbour è in grado di adattarsi a qualsiasi scenario di sviluppo. Vediamo in dettaglio come possiamo distribuire il nostro codice su qualsiasi sistema compatibile.

HBMK2 (codice totalmente compilato)

come visto nella guida di installazione su Windows e Linux, sfruttando il comando:

HBMK2 nostroprogramma.prg

Il nostro codice viene trasformato in byte-code e attraverso un link statico verso il compilatore C, viene tradotto a basso livello. Questo permette una difficile decompilazione del sorgente, garantendo una buona protezione del nostro lavoro e l’esecuzione performante anche di processi complessi. Grazie al link statico , tutti i nostri pezzi di codice vengono uniti in un unico blocco, senza la necessità di includere librerie esterne o macchine virtuali (come JVM o .NET) , rendendo cosi l’applicazione portatile su qualsiasi sistema operativo.

Modalita’ compilata Debug integrato

Una volta capito come compilare il nostro programma bisogna capire in caso di problemi cosa puo’ accadere durante l’esecuzione del nostro codice. Harbour offre una volta compilato, come facciamo con RPG , la possibilita’ di integrare un debugger portatile che possiamo usare direttamente durante l’esecuzione del nostro programma.Per attivarlo ci bastera’ mettere all’interno del nostro codice la funzione AltD() e compilare con il nostro sorgente con hbmk2 aggiungendo alla fine l’opzione -b

HBMK2 nostroprogramma.prg -b

Livello di warning

Come su RPG gli errori sono divisi a livelli, sfruttando l’opzione -w possiamo decidere il livello dell’errore per cercare di ignorare warning bloccanti durante la compilazione

esempio:

HBMK2 nostroprogramma.prg -w3 //in questo caso verranno presi i warning fino al livello 3.

HBRUN (codice interpretato come Python)

HBRUN è uno strumento fondamentale se decidiamo di eseguire il codice Harbour senza compilazione. Oltre a funzionare da interprete questo strumento lo possiamo immaginare come un piccolo gestore di database, direttamente da qui possiamo creare, gestire e organizzare dati contenuti all’interno di file DBF ( tabella fisica di Harbour come i PF dell’as400) o su database remoti (mysql,db2,postgres…) . L’interprete HBRUN prende un ruolo importante se volgiamo usare Harbour nel mondo delle applicazioni web. Possiamo vedere in azione hbrun semplicemente avviandolo da console digitando:

HBRUN

hbrun in esecuzione

Oppure possiamo eseguire script prg digitando da terminale:

HBRUN nomedelprogramma.prg

Se vogliamo distribuire il nostro codice in questa modalita’ dobbiamo assicurarci di avere hbrun installato sulla macchina che ospitera’ il nostro script. Vedremo questo strumento in azione con apache attraverso la libreria mod_harbour in un futuro articolo.

HBMK2 – HBRUN (codice semi-compilato)

L’utility HBMK2 oltre a generare eseguibili offre la possibilità di generare come in Java piccoli applet che possono essere usati su qualsiasi sistema operativo con HBRUN installato. Questo tipo di modalità viene usata per creare librerie o moduli che possiamo usare su progetti esistenti oppure nel mondo degli applicativi web, garantendo codice ad alte prestazioni e protetto da decompilazione. Per usare questa modalità prepariamo il nostro file prg e usando HMK2 lo compiliamo con il comando:

HBMK2 -GH nostroprogramma.prg

a questo punto se tutto è andato a buon fine verrà generato un file con estensione .hrb, una volta terminata la compilazione possiamo eseguirlo usando (stando attenti a non confondere l’estensione .prg con .hrb) :

HBRUN nostroprogramma.hrb

Editor di testo consigliati:

-Estensione Harbour di Antonino Perricone per Visual Studio Code (disponibile multipiattaforma) (open source)

Grazie ad un sviluppatore italiano, possiamo vantare di un buon plug-in grado di offrire un debugger (collegato con quello di harbour citato in precedenza, vedremo come configurarlo in un prossimo articolo), colorazione del codice e la possibilità di esecuzione del codice direttamente da visual studio code.

Come si installa:

  • per prima cosa apriamo visual studio code e spostiamoci nel menu dedicato alle estensioni disponibili per l’editor.
  • Successivamente cerchiamo nella barra di ricerca harbour, comparirannotre plug-in disponibili , noi facciamo click su quella di Antonino Perricone e facciamo click sul bottone install.
  • in questo modo visual studio code e’ in grado di aprire e riconoscere il codice harbour appena che apriremo qualsiasi file prg a partire dalla colorazione automatica del codice.

-HB-EDIT il PDM di Harbour (disponibile per ubuntu e windows) (open source)

Per le persone che amano l’interfaccia 5250 o console e hanno difficoltà a dire addio al mitico PDM , uno dei sviluppatori di Harbour ha creato sulla base dell’originale del clipper, un editor di testo interamente disegnato su console:

Questo pacchetto offre diverse funzioni e i comandi di utilizzo vengono ripresi interamente da VIM , per maggiori dettagli o per effettuare il download basta recarsi sul sito dello sviluppatore ( http://kresin.ru/en/hbedit.html)

-Harbour IDE l’RDI per Harbour (disponibile per Windows) (open source)

l’ultimo editor di cui andremo a parlare si chiama Harbour IDE, creato da Pritpal Bedi , basato sulle librerie QT offre uno strumento simile all’RDI, scritto interamente in Harbour oltre alla colorazione del codice permette l’auto completamento con un buon intellisense integrato. Ha al suo interno un debug grafico avanzato, un estensione che offre la possibilità di creare interfacce console e report di stampa come RDI con le schermate 5250. Include all’interno del pacchetto anche le librerie QT vedremo questo editor in un articolo più approfondito (se volete un’anticipazione di come usare QT vi riporto il link sul sito del mio amico Giovanni Di Maria (http://www.elektrosoft.it/tutorials/hbqt/hbqt.asp). Rispetto agli editor precedenti permette di raggruppare i nostri sorgenti e le librerie usate all’interno di un file con estensione .hbp. Questo file contiene l’elenco completo di tutto il nostro progetto, ci bastera’ dare durante la compilazione questo file e automaticamente il linker compilera’ dal primo all’ultimo file per generare l’eseguibile finale.

interfaccia di Harbour IDE

Nel prossimo articolo cominceremo a vedere la sintassi del linguaggio e a muovere i primi passi .

Riferimenti esterni:

Sito del mio carissimo amico Giovanni Di Maria : Tutorial Harbour how to – by Giovanni Di Maria (elektrosoft.it)

Sito del progetto HBIDE: QtContribs – Harbour Qt Projects download | SourceForge.net

Estensione per Visual Studio Code : Harbour and xHarbour – Visual Studio Marketplace

IDE in stile PDM : http://kresin.ru/en/hbedit.html

Related Posts
DB2 for i SQL – Stringhe – POSSTR-LOCATE-LOCATE_IN_STRING (IT)

Introduzione Spesso, nelle nostre applicazioni, abbiamo la necessità di lavorare con le stringhe di testo e l'SQL del DB2 può Read more

DB2 for i & SQL – FAQ & Howto (Part. 1) (IT)

Database DB2 e SQL ... forse lo strumento più potente e completo che abbiamo sulla piattaforma IBM i: ecco una Read more

Annuncio IBM i 7.4

Arriva direttamente con l'uovo di Pasqua questo annuncio IBM per le novità della versione IBM i 7.4, versione iNext secondo Read more

Generated Always Columns – Approfondimenti (IT)

Introduzione "Generated Always Column": sono colonne, campi, di una tabella il cui contenuto è controllato direttamente dal sistema ... e Read more

About author

Giorgio Caponera, appassionato sviluppatore del mondo IBM i, Fresh Face IBM nel 2019.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *