Gambas-it

Gambas3 => Domande tecniche => Topic aperto da: kicco - 27 Giugno 2014, 13:35:19

Titolo: Stampare dall'IDE
Inserito da: kicco - 27 Giugno 2014, 13:35:19
 :ciao:
Esiste un modo di stampare il codice direttamente dall'ide mantenendo così la formattazione?

A volte risolvo stampando la schermata, lo so è poco elegante e se il codice è lungo, mi trasformo in un tapeziere :)
Oppure uso GEdit e formatto in VB.net, ma non è la stessa cosa!
 :)
Titolo: Re: Stampare dall'IDE
Inserito da: Top Fuel - 27 Giugno 2014, 14:42:04
Apparentemente non vedo la possibilità. :-\
Titolo: Re: Stampare dall'IDE
Inserito da: kicco - 27 Giugno 2014, 14:51:49
E' un peccato, perchè anche a scopo didattico potrebbe essere interessante.
Titolo: Re: Stampare dall'IDE
Inserito da: vuott - 27 Giugno 2014, 16:30:49
E' un peccato...

Effettivamente una funzionalità, che consenta di stampare dall'IDE direttamente il codice, sarebbe comoda.

L'unico modo che consenta di stampare il codice di un progetto dall'IDE, mi pare essere questo:

1) posizionarsi sulla pagina (Classe o Modulo) del codice da stampare;

2) quindi in alto cliccare sulla voce Menu: " Tools ";

3) scegliere: " Open a Terminal... ";

4) aggiungere: " lp .src/nome_della_Classe.class oppure del_Modulo.module ".
Se per esempio la cartella del progetto è sulla scrivania, imposteremo: " ~/Scrivania/nome_del_progetto $ lp .src/MMain.module "

5) quindi premere " Invio " per la stampa.
Titolo: Re: Stampare dall'IDE
Inserito da: Ceskho - 27 Giugno 2014, 17:03:49
Non credo sia una soluzione molto comoda. Credo sia molto più pulito fare copia&incolla del codice in un editor di testo e stampare.
Titolo: Re: Stampare dall'IDE
Inserito da: vuott - 27 Giugno 2014, 17:27:28
Non credo sia una soluzione molto comoda. Credo sia molto più pulito fare copia&incolla del codice in un editor di testo e stampare.
Questo... senz'altro.

Se proprio si vuole evitare il processo del copia ed incolla  :-\ ed anche la soluzione dall'IDE da me indicata, penso che all'interessato non resti altro che aprire mediante il mouse il file di testo del codice nella cartella nascosta /.src e stampare dall'editor di testo nel quale il file medesimo si è aperto.
Titolo: Re: Stampare dall'IDE
Inserito da: kicco - 28 Giugno 2014, 09:29:59
Di fatto il copia e incolla è l'operazione che faccio di solito.
Normalmente incollo in gedit che formatta i sorgenti a seconda del linguaggio.
Ovviamente c'è un po' di tutto tranne Gambas.

Magari si può creare il formato... proverò a guardare

intanto grazie :)
Titolo: Re:Stampare dall'IDE
Inserito da: kicco - 13 Gennaio 2016, 13:13:19
Tutto tace?  :-\
Titolo: Re:Stampare dall'IDE
Inserito da: Gianluigi - 13 Gennaio 2016, 13:52:02
Se ti bastano i grassetti puoi salvarlo in gedit xxx.vb

 :ciao:
Titolo: Re:Stampare dall'IDE
Inserito da: kicco - 14 Gennaio 2016, 13:07:27
... e pensa che fino ad un anno fa col "trucco" xxx.vb riuscivo a stampare a colori.
Poi ad un certo punto solo stampa in b/n.  :-\
 :ciao:
Titolo: Re:Stampare dall'IDE
Inserito da: Gianluigi - 14 Gennaio 2016, 17:13:06
Fintantoché gedit non aggiungerà alle sue modalità di visualizzazione anche quella "Gambas"...
Si potrebbe chiedere a Minisini se gli fosse possibile creare un copia e incolla che su Open e\o  Libre Office mantenga la formattazione del codice. Potremmo così, oltre a stamparlo, trasferirlo anche a tutti i tipi di documento.
Ad averne voglia, con l'ausilio delle macro...  ;D

 :ciao:

NB: In modifica>preferenze>colori puoi anche cambiare, ma...
Titolo: Re:Stampare dall'IDE
Inserito da: kicco - 15 Gennaio 2016, 13:34:07
 :ciao:
...e sarebbe bello!!
Stavo provando ad usare Strumenti -> Color Scheme Editor di GEdit, ma mi sembra che abbia effetto solo sul file che stai editando e non permetta di creare un profilo che poi sia disponibile nell'elenco Visualizzazione ->  Modalità evidenziazione,
almeno io non ci sono riuscito :-\
 :ciao:
Titolo: Re:Stampare dall'IDE
Inserito da: Gianluigi - 15 Gennaio 2016, 16:21:53
 :ciao:
Io ho il gedit terra terra di default su Ubuntu 14.04, però se ti accontenti della formattazione VB.NET che puoi ottenere sia da visualizza>modalità visualizzazione o semplicemente salvando con estensione vb e desideri poi avere anche la stampa colorata ti basta stampare su file pdf e poi stampare il file pdf su carta.
Lo so è un po macchinoso e tante parole chiave non vengono riconosciute...
Io gedit non lo conosco ma come detto si potrebbe volendo studiare le differenze che ci sono fra il basic di Gambas e le macro di Libre Office e creare qualcosa di nostro oppure fare un programma direttamente in Gambas che colora e grassetta secondo i giusti canoni.
Non dovrebbe essere molto complicato.
 :ciao:
Titolo: Re:Stampare dall'IDE
Inserito da: kicco - 15 Gennaio 2016, 16:52:23
Citazione
fare un programma direttamente in Gambas che colora e grassetta secondo i giusti canoni.
Non dovrebbe essere molto complicato.
:ok:  :) :) :)
Titolo: Re:Stampare dall'IDE
Inserito da: Gianluigi - 15 Gennaio 2016, 17:50:58
 :ciao:
Come dicevo non è particolarmente difficile, per esempio potresti creare un nuovo progetto qt.gui intitolato GuardaCodice, poi in Progetto > Proprietà > Componenti aggiungi gb.form.editor.
Nella Fmain.form disegni TextEditor1 e scrivi questo codice:
Codice: [Seleziona]
Public Sub Form_Open()

  TextEditor1.Highlight = "gambas"

End

Quindi dai Progetto > Crea eseguibile, salva e chiudi.
Apri un progetto che abbia un po di codice vario e lo copi (Ctrl+C) poi apri GuardaCodice.gambas e ci incolli (Ctrl+V) il codice copiato.
Volendo lo si potrebbe fare un po più complicato...  ;D
Scherzi scemi a parte se si conoscesse il codice che c'è dietro questo widget saremmo a cavallo e potremmo utilizzarlo per copiare su Libre Office.
Comunque già così se aggiungiamo la stampa su pdf...
 :ciao:  :ciao:
Titolo: Re:Stampare dall'IDE
Inserito da: Gianluigi - 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  :-[
Titolo: Re:Stampare dall'IDE
Inserito da: kicco - 18 Febbraio 2016, 13:37:13
 :ciao:
l'ho provato al volo e mi sembra una "ganzata"!!!

bravo, grazie :-*
Titolo: Re:Stampare dall'IDE
Inserito da: Gianluigi - 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:
Titolo: Re:Stampare dall'IDE
Inserito da: Gianluigi - 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 (http://www.gambas-it.org/smf/index.php?topic=3545.msg39702#msg39702) 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
Titolo: Re:Stampare dall'IDE
Inserito da: kicco - 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:
Titolo: Re:Stampare dall'IDE
Inserito da: Gianluigi - 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) (http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&id=OFL) pertanto non ci dovrebbero essere problemi a inserirli in un libro Creative Commons almeno spero.
 :ciao:  :ciao:
Titolo: Re:Stampare dall'IDE
Inserito da: Gianluigi - 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 (http://www.gambas-it.org/smf/index.php?topic=3545.msg37943#msg37943).

 :ciao:
Titolo: Re:Stampare dall'IDE
Inserito da: Gianluigi - 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 (http://www.gambas-it.org/smf/index.php?topic=3545.msg37943#msg37943) detto.
 :ciao: :ciao: