Newsgroup: it.comp.lang.javascript
Titolo: Si può fare..??

Ciao,
dunque ho questo problema, ho recuperato lo script
allegato in un sito dedicato al java, ora però vorrei sapere se
i dati da cercare:  [Data1]...[Data2]....ecc.....
li posso mettere in un file separato a quello con lo scrip java che l'utente
deve caricare, lo scopo è quello di non fare caricare all'utente tutto il
file
che contiene i dati (perchè è troppo grosso).
Grazie a chi mi può aiutare.
Ciao Andrea.
E-mail: 
ik...@tin.it
--------------------------------START---------------------------------------
-----------
<HTML>
<HEAD>
<TITLE>Ricerca e Visualizzazione di un Database</TITLE>
<SCRIPT LANGUAGE = "JavaScript">
<!--
function createArray(length)
{
this.length = length;
for( var i = 1; i<= length; i++)
  this[i] = null;
return this;
}
var Entries = 5;
var Separator = ";"
var Fields = 7;
var iName = 1;
var iFirstName = 2;
var iStreet = 3;
var iPLZ = 4;
var iCity = 5;
var iPhone = 6;
var iEMail = 7;
//  ora creiamo un  Array
var Data = new createArray(Entries);
Data[1] = "Cosentini;Roberto;via Righi.
14;80147;Napoli;+39-081-604594;cose...@iol.it
";
Data[2] = "Annunziata;Pasquale;via Trasaghis. 5;
00188;Roma;+39-06-33625601;mc0...@mclink.it
";
Data[3] = "Rossi;Ugo;piazza Dante.
2;40120;Bologna;+39-051-236789;ro...@galaxia.it
";
Data[4] = "Damiani;Carlo;via G.Cursi
12;20123;Milano;+39-02-9836728;dam...@netmag.com
";
Data[5] = "Vannini;Carlo;Corso Umberto
12;80100;Napoli;+39-081-6790212;van...@icom.it
";
var LastMatch = 0;
function GetField(Entry,number)
{
var Out = "";
var FirstChar;
var LastChar;
FirstChar = 0;
LastChar = Entry.indexOf(Separator) ;
if (number == 1)
{
  Out += Entry.substring(FirstChar,LastChar);
  return Out;
}
if (number == Fields)
{
  Out+= Entry.substring(Entry.lastIndexOf(Separator) + 1,Entry.length)
  return Out;
}
for(var i =2; i <= number; i++)
{
  FirstChar = LastChar + 1;
  LastChar = Entry.indexOf(Separator, FirstChar);
}
Out += Entry.substring(FirstChar,LastChar);
return Out;
}
function FindNext(String, number)
{ 
var CompareWith = "";
for(var i = LastMatch + 1; i <=Data.length; i++)
{
  var buf = GetField(Data[i],number);
  var bl = parseInt(buf.length);
  var sl = parseInt(String.length);
  if(bl > sl)
  {
  CompareWith = buf.substring(0,sl );
  } 
  else
  {
   CompareWith = buf;
  }
  if (CompareWith == String)
  {
   LastMatch = i;
   return i;
  }
}
LastMatch = 0;
return 0; 
}
function ResetSearch()
{
LastMatch = 0;
for(var i = 1; i <=Fields; i++)
{
  document.SearchForm.elements[i+3].value = "";
}
}
function TypeNext()
{
var SearchString = document.SearchForm.Text.value;
var index =document.SearchForm.elements[3].options.selectedIndex + 1;
var j = FindNext(SearchString, index);
if (j == 0)
{
  alert("Fine della lista trovata.\n Oppure: La parola digitata non è presente nel Database! \nPremi di nuovo 'Cerca >>>' per rivisualizzare il primo della lista !");
  ResetSearch();
  return;
}
var buf = "";
for(var i = 1; i <=Fields; i++)
{
  buf = GetField(Data[j],i);
  document.SearchForm.elements[i+3].value = buf;
}
}
// -->
</SCRIPT>
--------------------------------------END---------------------------------------------------

 che contiene i dati (perchè è troppo grosso).
purtroppo no!
javascript e' INTERPRETATO in maniera top-down ovvero quello che trova
sul suo cammino lo interpreta, arrivato alla fine della pagina HTML si
ferma!
poi se vuoi si possono fare delle porcate.... tipo raggruppare i "DATA"
in 10 file diversi, caricarne uno in un FRAME nascosto, se l'utente
vuole un dato contenuto in un altro, si fa un replace, ecc. MA SONO
PORCATE CHE E' MEGLIO EVITARE!!!
-- 
ciao --
-- sdrushi
/-------------------------------------------\
| \     Michele "Sdrushi" Romagnoli       / |
|  \          ICQ: 39783579              /  |
|   \___________________________________/   |
|                                           |
| 
http://caristudenti.cs.unibo.it/~romagnom
 |
|       
sdr...@comune.budrio.bo.it
         |
|     
roma...@cs.unibo.it
 (forwarded)      |
\-------------------------------------------/

www.probo.it/javascript/esempi/Codice_Fiscale
contiene + di 8000 righe di codice in un file js di cui
almeno
7900 sono [dati] sul codice catastale dei comuni...tot
250kb. circa
(codice dati fatto da gelty!)
al di sopra di queste dimensioni si consiglia di far gestire
i dati
dal server..
in questo caso per velocizzare la pagina
nell'interrogazione,
vengono caricati nel'Html solo i comuni con l'iniziale
selezionata,
i rimanenti sono in memoria..........
la velocità dell'algoritmo la si deve cmq. a Michele
"Sdrushi" Romagnoli...
, a proposito, fra i partecipanti di
www.probo.it/JavaScript/
 sarebbe il
caso di mettere tutti quelli che postano, con un link alla
propria pagina..
escludendo naturalmente quelli a cui non fa piacere!
...se non avete una home page, la potete fare e mettere
sotto la directory
partecipanti ..
--
Bye
Ro<*¿*>berto

>il file in questione è di circa 45.000 [dati]
Lascia perdere JavaScript, rivolgiti ai database
ed alla loro implementazione lato server....
chiedi al tuo webmaster!



Ho dimenticato una cosa importante,
il sito in questione e dei tipi gratuiti (XOOM)
che non danno la possibilità di usare ASP,
è per questo che cerco un soluzione in java.
Grazie.
Andrea.
E-mail: 
ik...@tin.it