Un generatore di report RTF

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

Recuperare un Tag dall'elenco

La funzione che legge un TAG dall'elenco dei tag è relativamente semplice, visto che utilizza il

FileSystemObject
per accedere al file in modalità Ascii e leggere una linea alla volta. Ogni linea viene poi "spezzata" in codice e tag, quindi viene confrontato il codice con quello che stiamo cercando e se il codice corrisponde, la funzione ritorna il corrispondente Tag.

/*
* Cerca un tag specificato all'interno del file dei TAG
* Ritorna il tag cercato o NULL se non trovato.
*/
function LeggiTag( TagID, fileName )
{
var fso;    // FileSystemObject
var file;    // Fiile dei tag
var elem;    // elementi del tag
var tag = null;  // tag da ritornare
var ro = / /g;  // RegularExpression usata per 'magniarè gli spazi
 
// Creo un nuovo oggetto FileSystem
fso=new ActiveXObject( "Scripting.FileSystemObject" );

// accedo al file dei tag
// N.B. non verifico se il file esiste... mica troppo bello
file = fso.OpenTextFile( fileName )
// elimino gli spazi all'interno del codice
TagID = TagID.replace( ro, "" );

// ciclo e leggo tutti i Tag
while( ! file.AtEndOfStream )
{
  // leggo il singolo Tag
  tag = file.ReadLine();
 
  // parserizzo suddividendo in Codice e Testo ed
  // elimino gli spazi
  elem = SeparaTag( tag, null );
  elem[0] = elem[0].replace( ro, "" );
 
  // verifico di aver trovato il tag che cercavo
tag="";
if( TagID == elem[0] )
{
// ritorno il tag
for( i=1; i < elem.length; i++ )
  tag += elem[i];
break;
}
}
// chiudo il file
file.close();

// ritorno il tag trovato o Null
return tag;
}

Questa funzione non è proprio "il massimo", in quanto non viene verificato se il file esiste o no.

L'unica cosa "strana" è l'utilizzo di una RegularExpression per l'eliminazione degli spazi.

La funzione utilizza

SeparaTag()
per separare il tag letto nei suoi componenti (Codice e Tag), questa funzione è definita come segue:

/*
SeparaTag

Separa un Tag letto dal file nei suoi elementi
un codice ed una stringa che vengono ritornati in un array
costruito per l'occasione.

Parametri:
tag  è il tag letto dal file
sep  è il carattere usato per dividere i due pezzi

*/
function SeparaTag( tag, sep )
{
var ro;

// se il separatore non è specificato assumo "@"
if( sep == null )
{
  ro = new RegExp( "@", "g" );
}
else
{
  ro = new RegExp( sep, "g" );
}
return tag.split( ro );

}

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