Un generatore di report RTF

7 pagine in totale: <<Indietro 1 2 3 4 5 [6] 7 Avanti >>

Le Tabulazioni (tabelle)

Dopo molti tentennamenti ho deciso di lasciare perdere (per il momento) la gestione delle vere e proprie tabelle in RTF perchè sono un macello inimmaginabile.

Inoltre se Word incontra una tabella fatta non proprio come si deve và irrimediabilmente in crash.

Quindi utilizzeremo solamente dei tabulatori per costruire delle visualizzazioni tabellari.

La definizione di una tabulazione in RTF consiste fondamentalmente nell'inserire un tag che specifica dove deve trovarsi la tabulazione, ed un tag per usare la tabulazione stessa.

In RTF le tabulazioni devono essere specificate in TWIPS (ventesimi di punto tipografico), per evitare problemi però si è preferito convertire i dati internamente, permettendo così di specificare il tutto in millimetri.

/*
* Imposta una tabulazione
*/
function ImpostaTabulazione( reportFile, tagFile, tabulazione )
{
  var tabTwips;
  var tag;
 
  tabTwips = tabulazione * 56.7
  tag = LeggiTag( "Tabulazione", tagFile ) + tabTwips + " ";
  reportFile.WriteLine( tag );
}
/*
* Inizia una linea tabulata
*/
function IniziaLinea( reportFile, tagFile )
{
  ScriviTagNelReport( tagFile, reportFile, "InitTab" );
}
/*
* Chiude una linea tabulata
*/
function FinisciLinea( reportFile, tagFile )
{
  ScriviTagNelReport( tagFile, reportFile, "EndTab" );
}
/*
* Inserisce un carattere di tabulazione
*/
function InserisiciTab( reportFile, tagFile )
{
  ScriviTagNelReport( tagFile, reportFile, "Tab" );
}

ImpostaTabulazione
è una delle poche funzioni in cui non viene usata la
ScriviTagNelReport
ma si usa
WriteLine
direttamente.

IniziaLinea
e
FinisciLinea
sono necessarie in quanto ogni linea deve essere raggruppata all'interno di un blocco definito da parentesi.

L'elenco dei Tag

Fino ad ora abbiamo definito le funzioni che leggono i vari Tag e li inseriscono nel report, ora dobbiamo definire i singoli Tag.

L'elenco dei Tag è il seguente:

InizializzaReport@{\rtf1\ansi
MarginiPagina@\margl1134\margr1134\margt1418\margb1134
TerminaReport@}
Portrait@\paperw11907\paperh16840
Landscape@\paperw16840\paperh11907
FineParagrafo@\par
InizioTabellaStili@{\fonttbl
Titolo1@{\f1\fswiss\fcharset0\fprq2 Arial;}
Titolo2@{\f2\fswiss\fcharset0\fprq2 Arial;}
Titolo3@{\f3\fswiss\fcharset0\fprq2 Arial;}
Titolo4@{\f4\froman\fcharset0\fprq2 Times New Roman;}
Normale@{\f5\froman\fcharset0\fprq2 Times New Roman;}
Testo@{\f6\froman\fcharset0\fprq2 Courier;}
PieDiPagina@{\f6\froman\fcharset0\fprq2 Courier;}
Intestazione@{\f6\froman\fcharset0\fprq2 Courier;}
FineTabellaStili@}
Stile_Titolo1@{\f1\fs48
Stile_Titolo2@{\f2\fs40
Stile_Titolo3@{\f3\fs36
Stile_Titolo4@{\f4\fs24\b
Stile_Normale@{\f5\fs20
Stile_Testo@{\f6\fs20
Stile_PieDiPagina@{\f7\fs16
Stile_Intestazione@{\f8\fs16
FineStile@}
InizioGrassetto@{\b
FineGrassetto@}
InizioCorsivo@{\i
FineCorsivo@}
Tabulazione@\tx
Tab@\tab
InitTab@{
EndTab@}\par

Il tag MarginiPagina è predisposto per dimensionare la pagina come un A4 (21x29.7 cm), se si volesse usare una dimensione di pagina diversa basterà modificare la dimensione o aggiungere altri tag "specializzati" per le varie dimensioni. I margini sono specificati in TWIPS.

7 pagine in totale: <<Indietro 1 2 3 4 5 [6] 7 Avanti >>

Contenuti dell'articolo

Commenti
Dai un voto a questo articolo, ci aiuterà a migliorare il nostro sito (1 è il voto minimo, 5 il massimo).

Per procedere al rating dell'articolo devi essere autenticato.

Aggiungi un nuovo commento »»»
Per inserire un commento, devi registrarti alla nostra community.


TUTORIALS
TOP TEN ARTICOLI
NOTIFICHE

Iscriviti alla nostra newsletter nuoviarticoli per ricevere e-mail le notifiche!

Indirizzo e-mail:
PROVIDER ASP.NET 2.0

Seleziona il database per avere il web.config pronto per Membership, Roles e Profile API.



IN EVIDENZA
MISC