Autore Topic: Stampare dall'IDE  (Letto 2970 volte)

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.149
  • Tonno verde
    • Mostra profilo
Re:Stampare dall'IDE
« Risposta #15 il: 16 Febbraio 2016, 22:59:44 »
 :ciao: Ciao Kicco,
se sei sempre interessato a stampare il codice formattato uso Gambas, guarda un po qui e guarda anche se puoi migliorare la dove io non sono riuscito.
Scritte tagliate fra una pagina e l'altra.
Codice commentato che perde indentazione.
Altre ed eventuali  ;D
Ho approfittato della stanca in altra discussione  :P
 :ciao:  :ciao:

Scusate c'era un errore  :-[
« Ultima modifica: 16 Febbraio 2016, 23:58:03 da Gianluigi »
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline kicco

  • Senatore Gambero
  • ******
  • Post: 1.700
  • So dove andare, seguitemi, ci perderemo insieme!
    • Mostra profilo
Re:Stampare dall'IDE
« Risposta #16 il: 18 Febbraio 2016, 13:37:13 »
 :ciao:
l'ho provato al volo e mi sembra una "ganzata"!!!

bravo, grazie :-*
Chi ha paura muore ogni giorno, chi non ha paura muore una volta sola. (Paolo Borsellino)

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.149
  • Tonno verde
    • Mostra profilo
Re:Stampare dall'IDE
« Risposta #17 il: 18 Febbraio 2016, 16:59:25 »
:ciao:
l'ho provato al volo e mi sembra una "ganzata"!!!

bravo, grazie :-*

Prego,  :D
lo chiedo a te ma anche a tutti i frequentatori del forum:
Non riesco a comprendere come sia possibile evitare il taglio dei caratteri, durante la stampa di più pagine.
Dove sto sbagliando nel ragionamento e di conseguenza nel calcolo?
Se capisco bene il tutto funziona come da immagine allegata:
Noi stiamo creando una maschera che ritaglia lo scritto entro un rettangolo da noi delimitato.
Dobbiamo immaginare tutto il testo ricollocato da Gambas stesso entro i confini laterali e quindi allungato di tante righe di testo in più quanto basta. Gambas si fa carico dei calcoli per l'altezza totale in base al carattere alla risoluzione e alla larghezza.
A noi spetta il compito di dire a Gambas di quanto il testo deve scorrere all'insù per rimanere in modo corretto entro i confini di ritaglio.
Visto che col sistema suggerito da Minisini ottenevo righe di testo ritagliate fra due fogli ho pensato di tener conto per bordo e rettangolo dell'altezza del testo.
Ho anche provato a tener conto della differenza fra l'altezza totale così calcolata (parti_h * parte) – paint.heigt, inserendola sia nei margini che nell'area testo che nel calcolo dello spostamento, ma non ottengo miglioramenti.
Ho provato il tutto con risoluzioni differenti.
Se qualcuno gentilmente mi può aiutare a capire.
 :ciao:
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.149
  • Tonno verde
    • Mostra profilo
Re:Stampare dall'IDE
« Risposta #18 il: 01 Marzo 2016, 21:01:18 »
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  :ok:

Chissà se questa volta qualcuno mi risponde...  :P

 :ciao:

PS: Mi ero dimenticato di chiudere il file con Close#1
« Ultima modifica: 15 Dicembre 2016, 11:50:44 da Gianluigi »
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline kicco

  • Senatore Gambero
  • ******
  • Post: 1.700
  • So dove andare, seguitemi, ci perderemo insieme!
    • Mostra profilo
Re:Stampare dall'IDE
« Risposta #19 il: 02 Marzo 2016, 13:14:44 »
 :ciao:
Io ti rispondo.
Come al solito sei TRAVOLGENTE!  ;D
Appena ho un po' di tempo ci provo!
 :ciao: :ciao:
Chi ha paura muore ogni giorno, chi non ha paura muore una volta sola. (Paolo Borsellino)

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.149
  • Tonno verde
    • Mostra profilo
Re:Stampare dall'IDE
« Risposta #20 il: 03 Marzo 2016, 21:27:31 »
:ciao:
Io ti rispondo.
...
 :ciao: :ciao:

 :D Intendevo alle questioni che pongo lato stampa e font per esempio  :-*

A proposito di font, mi sono dimenticato di precisare una cosa, il font “Fira Mono” presente nella macro di Libre/Open Office è l'unico che funziona con i Dim & Company, ha sempre il difetto, una volta copiato nella IDE, di non mantenere l'indentazione ed è difettoso pure sugli accapo, del resto come tutti i font mono-spazio e non.
Attenzione ci sono due differenti Fira Mono quello di Google installabile insieme ad altri numerosi font con la pratica applicazione TypeCatcher è quello che funziona, quello di Mozilla no.
Mi piace molto anche come si presenta Rokkitt (sempre di Google) che con dimensione 9 anche se piccolo è molto leggibile.
Questi font sono sotto licenza SIL Open Font License (OFL) pertanto non ci dovrebbero essere problemi a inserirli in un libro Creative Commons almeno spero.
 :ciao:  :ciao:
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.149
  • Tonno verde
    • Mostra profilo
Re:Stampare dall'IDE
« Risposta #21 il: 28 Marzo 2016, 17:18:21 »
Aggiornamento dei codici ora si colora di arancione anche la parola chiave dopo Inherits, cosa che prima non faceva e di cui non mi ero accorto.
Per quanto riguarda il codice bas ho anche aggiunto la gestione dell'errore e vale quanto detto nel post precedente.

 :ciao:
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.149
  • Tonno verde
    • Mostra profilo
Re:Stampare dall'IDE
« Risposta #22 il: 03 Dicembre 2016, 16:59:52 »
Direi che, senza stare a fare troppo il difficile, se uno desidera usare il codice bas così come è basta creare un nuovo progetto grafico aggiungervi spuntandolo il componente gb.eval e incollare questo codice ad una semplice finestra con un pulsante:
Codice: [Seleziona]
Public Sub Button1_Click()
 
  Dim sPath, s, k As String
 
  For Each s In System.Keywords
    k &= s & "\n"
  Next
  sPath = User.Home &/ "MacroMia"
  If Not Exist(sPath) Then Mkdir sPath
  Dialog.Title = "Save a file"
  Dialog.Filter = ["*.txt;", "Text files"]
  Dialog.Path = sPath &/ "GambasKey.txt"
  If Dialog.SaveFile() Then Return
  File.Save(Dialog.Path, k)

End

Naturalmente vale sempre quanto qui detto.
 :ciao: :ciao:
« Ultima modifica: 03 Dicembre 2016, 17:02:03 da Gianluigi »
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro