Pagina 1 di 1

Formattazione CODICI

Inviato: lun 29 nov 2010, 22:16
da TheFactor82
Bene signori, è con grande piacere che vi comunico di esser finalmente riuscito a mettervi a disposizione un sistema abbastanza buono per pubblicare pezzi di codice qui sul forum.
Si tratta di una modifica che mi ha impegnato per circa una settimana, spero che sarà cosa gradita.
La mod che ho installato sul forum si chiama Syntax Highlighter, è arrivata ufficialmente alla 1.0.12 ma io ho installato la 1.0.14, e non credo verrà sviluppata ulteriormente, quindi dovrete farvi bastare questa! Come senz'altro avrete capito, da adesso in poi in questa sezione potete anche scordarvi l'obsoleto tag CODE per utilizzare questo nuovo. Si appoggia al sistema Geshi.
Innanzitutto, quello che vedete qui di seguito è un elenco di tutti i BBCODE e i relativi LINGUAGGI che in automatico possono essere "formattati" dalla mod:
[version /]
Ed ora, giustamente, devo darvi un po' di indicazioni su come utilizzarla. Prima però, una semplice dimostrazione:
[syntax="c"]
#include <stdio.h>

main()
{
int I, J;

/* per I che va da 1 a 10*/
for( I = 1 ; I <= 10 ; I = J + 1 ){
/* per J che va da 1 a 10*/
for( J = 1 ; J <= 10 ; J = J + 1 )
/* stampare I * J
stampare uno spazio*/
printf("%3d ", I*J);
/* andare a capo*/
printf("\n");
}
}
[/syntax]

Quello che vedete è un semplicissimo codice C che ho copiato dalla prima pagina Internet che ho trovato e ho messo su.
Partiamo dalla base: il bbcode GENERICO da utilizzare è il seguente:
[syntax]
[syntax] codice qui [/syntax]
[/syntax]
L'utilissimo tasto DOWNLOAD viene creato in automatico dal Geshi con un txt contenente il codice inserito nel tag.
Per specificare un linguaggio di formattazione, dovete usare il Tag con il nome del Codice che intendete usare (prendo in esempio sempre il C, ma potete sostituire a "c" uno qualsiasi dei linguaggi elencati sopra:
[syntax]
[c] codice qui [/c]
[/syntax]
In questo modo utilizzerete il linguaggio di programmazione C. Quando definite un linguaggio, in automatico Geshi TOGLIE i numeri di riga. Potete comunque tornare a definirli utilizzando questa istruzione:
[syntax]
[c lines=n] codice qui [/c]
[/syntax]
Ecco un esempio pratico, basato su quello che avevo messo all'inizio:
[c lines=n]
#include <stdio.h>

main()
{
int I, J;

/* per I che va da 1 a 10*/
for( I = 1 ; I <= 10 ; I = J + 1 ){
/* per J che va da 1 a 10*/
for( J = 1 ; J <= 10 ; J = J + 1 )
/* stampare I * J
stampare uno spazio*/
printf("%3d ", I*J);
/* andare a capo*/
printf("\n");
}
}
[/c]
Se avete bisogno di far partire la numerazione da un punto specifico (magari per identificare pezzi di codice che avete estrapolato dai vostri files su Dropbox), potete impostare il numero di partenza così:
[syntax]
[c lines=n start="10"] codice qui [/c]
[/syntax]
Questo è il risultato:
[c start="10" lines=n]
#include <stdio.h>

main()
{
int I, J;

/* per I che va da 1 a 10*/
for( I = 1 ; I <= 10 ; I = J + 1 ){
/* per J che va da 1 a 10*/
for( J = 1 ; J <= 10 ; J = J + 1 )
/* stampare I * J
stampare uno spazio*/
printf("%3d ", I*J);
/* andare a capo*/
printf("\n");
}
}
[/c]
Sono consapevole del fatto che, a seconda del browser che userete, potrete avere piccoli problemi grafici o di pulsanti. Io stesso ho già trovato che, su Explorer, una volta NASCOSTO un codice, il tasto MOSTRA non lo fa tornare visibile. Inoltre non sono stato in grado di cambiare i colori di base del form (mi sarebbe piaciuto, perchè così possono dare un po' fastidio). Sono piccole cose che spero lascerete passare davanti al lavoro che ho fatto e davanti all'utilità di questa modifica.
Vi chiedo un immenso favore: ho notato, in fase di installazione, alcuni problemi con una versione vecchia (la 1.0.12 citata prima) che spero non si presentino in questa, anche se non ne son sicuro. Prima di postare i vostri codici quindi vorrei gentilmente che utilizzaste il tasto ANTEPRIMA, per assicurarvi che tutto sia ok. Perchè può capitare che questi codici sballino la grafica del forum, e quindi vorrei evitare di trovarmi delle pagine "massacrate" da un buco di questa mod! Grazie!
Come segnalato prima, la mod non verrà più sviluppata, quindi sappiate che così è e così resta. Non chiedetemi di "ridimensionare la dimensione del form" o cose di questo tipo, perchè proprio non saprei come fare!
Per qualsiasi bisogno di aiuto, sono comunque qui!

Re: Formattazione CODICI

Inviato: lun 29 nov 2010, 22:24
da minibond
OTTIMO!!!!! PROPRIO QUELLO CHE INTENDEVO!!!!!!!

Grazie ancora una volta TF per tutto quello che fai!

P.S.: credo che dovrei mettere una cosa così anche sul mio forum... :ride:

Re: Formattazione CODICI

Inviato: lun 29 nov 2010, 22:25
da TheFactor82
Avrai un bel po' di lavoro da fare allora!!! :ride:

Re: Formattazione CODICI

Inviato: ven 3 dic 2010, 20:40
da TheFactor82
E comunque mi ritengo profondamente offeso dal fatto che Link abbia completamente ignorato questo post senza darmi un riscontro! :-x
:-P

Re: Formattazione CODICI

Inviato: ven 3 dic 2010, 22:01
da Linkinf22
Hai ragione TF, in effetti stavo pensando che tra i linguaggi elencati non c'è il C#, ma dovrebbe andare bene quello per C++... Non so perchè alla fine non l' ho scritto.

Grazie TF.

Re: Formattazione CODICI

Inviato: dom 5 dic 2010, 16:09
da minibond
Linkinf22 ha scritto:Hai ragione TF, in effetti stavo pensando che tra i linguaggi elencati non c'è il C#, ma dovrebbe andare bene quello per C++... Non so perchè alla fine non l' ho scritto.

Grazie TF.
Come no???

[csharp]
// Esempio in C # con il tag 'csharp'
public int Main(string[] args)
{
foreach (string s in args)
{
Console.Writeline(s);
}
Console.Writeline("end!");
Console.Read();
}
[/csharp]

Re: Formattazione CODICI

Inviato: dom 5 dic 2010, 16:19
da Linkinf22
Capperi non lo avevo trovato nella lista! Lo cercavo subito dopo il c :-?

Re: Formattazione CODICI

Inviato: dom 5 dic 2010, 18:46
da TheFactor82
Nell'elenco il C# non compare probabilmente perchè "rientra" nel C...
Non era possibile elencarli proprio tutti, a quanto vedo, visto che sono oltre 190 codici (se non ricordo male...)

Re: Formattazione CODICI

Inviato: dom 5 dic 2010, 22:28
da Linkinf22
Nono, invece c'è TF, solo che io non lo avevo visto, perchè lo cercavo subito dopo il C e come C#, invece è un po' dopo il C ed è scritto come Csharp.