L’editor per eccellenza per il mondo Windows: Notepad++

Postato da ROb | nella categoria Sviluppo web, Utilità | martedì, 9 febbraio 2010

0

Quando mi trovo in postazioni Windows XP devo spesso scontrarmi con il vetusto Notepad.

Forse nei primi anni in cui è uscito quel sistema operativo Notepad riusciva ancora a reggere il passo.
Negli ultimi anni sono nati numerosi editor assai più veloci e potenti di Notepad; trovare una valida alternativa è ormai un obbligo di qualsiasi utente.

Uno dei loghi di Notepad++

La mia alternativa preferita è Notepad++.
Notepad++ si basa su un famoso progetto, chiamato Scintilla, il cui scopo è costruire un componente editor da integrare all’interno di applicazioni.
Innanzitutto è Open Source, sotto licenza GPL, è scritto in C++ sfruttando le api win32 e non le MFC è ed ricco di interessanti funzionalità.



Sono indubbiamente da citare:

  • evidenziazione della sintassi per quasi tutti i più famosi linguaggi di markup e programmazione
  • folding: possibilità di aprire e chiudere parti di codice significative (come interi tag xml oppure il corpo di funzioni Java o Javascript)
  • autocompletamento
  • espressioni regolari sia nella ricerca che nella sostituzione di stringhe
  • multilingua e multicodifica
  • segnalibri
  • guida all’indentazione del codice
  • configurazione di stili
  • generatore ed esecutore di macro
  • selezione e funzione di copia e incolla di colonne o quadrati di testo

Schermata principale di Notepad++

Fra queste quelle che nel mio caso fanno la differenza sono il supporto per le espressioni regolari e la possibilità di registrare ed eseguire macro. Dopo aver padroneggiato tali funzioni vi sentirete praticamente in grado di fare tutto con i vostri file testuali.

Se siete particolarmente soddisfatti di Notepad++ e volete supportare il progetto lo sviluppatore accetta di buon grado delle donazioni.

Costruire una macro OpenOffice Calc in BeanShell

Postato da ROb | nella categoria Utilità | mercoledì, 20 gennaio 2010

0

Oggi ho avuto la necessità di scrivere una macro per OpenOffice Calc per gestire alcuni controlli e computazioni in un range di celle.
Sapevo che OpenOffice supporta BeanShell come motore di scripting (che conosco abbastanza bene) ed ho quindi deciso di provare a costruire la prima della mia nuova libreria di macro per OO.

Dopo aver consultato diverse pagine e fatto alcuni tentativi sono riuscito nel mio intento.

Come prima cosa bisogna creare la nostra libreria di macro BeanShell. Aprire quindi il percorso Tools => Macros => Organize Macros => BeanShell…

Macro BeanShell

Menu apertura macro BeanShell

Quindi creare una nuova libreria dentro il contenitore My Macros con il nome che volete.

Libreria macro BeanShell

Libreria macro BeanShell

A questo punto, nel caso usiate Linux, potete navigare all’interno della cartella situata dentro la vostra HOME chiamata ~/.openoffice.org2/user/Scripts/beanshell/nome_libreria/ .
Dentro questa cartella troverete un file meta di macro chiamato parcel-descriptor.xml che conterrà la definizione delle vostre macro.

Potete quindi aprirlo e modificarlo in questo modo:

<?xml version="1.0" encoding="UTF-8"?>
<parcel language="BeanShell" xmlns:parcel="scripting.dtd">
    <script language="BeanShell">
        <locale lang="en">
            <displayname value="replace_with_br.bsh"/>
            <description>replace_with_br.bsh</description>
        </locale>
        <logicalname value="replace_with_br.bsh"/>
        <functionname value="replace_with_br.bsh"/>
    </script>
</parcel>

In questo modo diremo a OpenOffice che nella nostra libreria ci sarà una macro chiamata replace_with_br.bsh .

Tale macro trasforma il contenuto delle celle non vuote di tipo stringa rimpiazzando i caratteri “\n” (a capo) con il tag html <br/> .

Infine scaricate il file replace_with_br.bsh.gz , scompattatelo e salvatelo all’interno della cartella della vostra libreria di macro.

Infine chiudete OpenOffice, riapritelo, selezionate un gruppo di celle con caratteri “\n” all’interno ed eseguite la macro.
Al termina del processo la macro vi avvertirà con un messaggio.
Mi raccomando non selezionate un’intera colonna, la macro non controlla un limite superiore di righe processate.

Scrivete pure per qualsiasi delucidazione o malfunzionamento.