Sapete che sto cercando di scrivere un libro su Gambas, lo sto scrivendo in Writer di Libre Office che poi salverò in pdf, pertanto riuscire a mostrare il codice con la formattazione della IDE è cosa che mi interessa.
Come immaginavo creare una macro in Libre Office per formattare il codice Gambas3 non è stato particolarmente difficoltoso, lo è stato invece e tuttora lo è trovare un font adatto alla bisogna per il pdf.
Sono giorni che mi sto picchiando alla ricerca di uno che copiato per essere poi incollato in un modulo di Gambas non riservi amare sorprese.
Tutti i monospace dividono
Dim dal resto del codice, col risultato che ti ritrovi una sfilza di Dim uno sotto l'altro e sotto ancora le variabili in colonna.
Se non fanno questo scherzo e mantengono l'indentazione tipo
Courier 10 Pitch fonno sparire tutti i segni meno (-). Se non fanno l'uno e l'altro comunque dividono su due righe il codice che va a capo per mancanza di spazio in larghezza e
non mantengono l'indentazione.
Qualcuno di voi sa per caso se c'è un font che si comporta bene?
Allego il codice della macro:
Attenzione nella mia cartella
home ho creato la cartella
MacroMia dove ho caricato in un file (GambasKey.txt) le parole chiave di Gambas. Come ottenere le parole chiave è mostrato
qui sotto e nel sorgente (FormattaG) allegato in precedenza.
Quindi il mio percorso risulta essere
"/home/gian/MacroMia/GambasKey.txt" voi fate come desiderate e cambiate nel file bas il percorso di conseguenza.
Per poter usare le macro in Libre/Open Office dovete cambiare il livello di sicurezza:
Andate in
Strumenti>Opzioni... cliccate sulla freccetta di Libre o Open Office, cliccate su
Sicurezza>Sicurezza delle macro... nella scheda
Livello di sicurezza scegliete
Medio e date l'
OK.
Per aggiungere la macro al vostro Office un metodo molto semplice è quello di copiare il codice e incollarlo in un modulo esistente di macro personali:
Strumenti>Macro>Organizza macro>LibreOffice Basic... e nella finestra che appare scegliere un modulo già creato e copiarci il codice.
Se non avete già macro personali:
Cliccare sul pulsante
Gestione... si apre una finestra a tre schede quelle che ci interessano sono la prima e l'ultima rispettivamente
Moduli e
Librerie.
In
Librerie nella casella a discesa scegliete
Macro e finestre di dialogo personali e create una nuova libreria cliccando sul pulsante
Nuovo... chiamandola magari
MacroColoraCodice poi in
Moduli creare il modulo cliccando su
Nuovo... e chiamandolo magari
Mod_Colora dove agendo sul tasto
Modifica... andrete ad incollare il codice allegato già cambiato alla riga
Open... come detto in precedenza e a quella del font ultima riga (oCursor.CharFontName=
"Fira Mono") con magari quello giusto da suggerirmi e comunque con uno che avete.
Per far funzionare il codice dovete incollare del codice Gambas in un file di Writer quindi dopo aver selezionato la parte che desiderate formattare cliccate su
Strumenti>Macro>Esegui macro... nella finestra che appare sulla sinistra cliccate su
Macro personali quindi su
MacroCloraCodice e
Mod_Colora quindi se è evidenziata la macro corretta cliccate su
Esegui.
Suggerimento: Non evidenziate più si tre quattro pagine di codice, se non volete andare incontro a possibili malfunzionamenti, Open Office Basic non è famoso per la stabilità.
Lavorando in openoffice basic ho potuto apprezzare per l'ennesima volta le meraviglie di Gambas3
Chissà se questa volta qualcuno mi risponde...
PS: Mi ero dimenticato di chiudere il file con Close#1