[JS] *.INI

D8
  • Rejestracja:ponad 21 lat
  • Ostatnio:ponad 19 lat
  • Postów:41
0

Siema!
Jak w JS wczytać plik ini (chodzi mi o coś takiego jak w delphi) a potem z niego coś wczytać w następujący sposób?? :

[sekcja1]
zmienna1=jakiś string 1
zmienna2=jakiś string 2
zmienna3=jakiś string 3
(a może nie zmienna? W każdym razie myślę że nie stała)

zmienna1 do zmiennej zmienna1 (albo innej nazwy) zmienna2 do zmiennej zmienna2 itd.

Przydałoby mi się to np. do wyszukiwarki stron www (wiem że już ktoś tam o niej mówił, ale to co mówił nie działa) albo do innych bajerów na stronkę.

Wielkie dzięks za każde (PEŁNE!) odpowiedzi ;-)


Im wi
ŁF
Moderator
  • Rejestracja:ponad 22 lata
  • Ostatnio:2 dni
0

o ile mi wiadomo z JS nie ma dostępu do dysku.


D8
  • Rejestracja:ponad 21 lat
  • Ostatnio:ponad 19 lat
  • Postów:41
0

Chodzi mi o otworzenie pliku ze strony w np. taki sposób:

[code]<script language="javascript" type="text/javascript">

</script>[/code]

tylko że pliku ini (chociaż txt tesh może być) i wyodrębnieniu z niego zmiennych tak jak to pokazałem wcześniej.


Im wi
_Pablo_
  • Rejestracja:około 22 lata
  • Ostatnio:ponad 17 lat
  • Postów:362
0

Niestety JS nie oferuje wbudowanych funkcji przetwarzania plików INI. Niestety nimożliwe jest też nazywanie zmiennej wartością drugiej fukcji. Możemy jednak skorzystac z tablicy :D

Oto funkcja rozbijająca znaki dla JS:

Kopiuj
function exploder(string, oddzielacz){
tab=new Array();t,i=0;
while(i<string.length){
tab[t]="";while(string.charAt(i)!=oddzielacz && i<string.length){
tab[t]+=string.charAt(i);i++;
}
t++;
i++
}return tab;}

dalej...

Mamy juź plik ini, teraz czas na przetwarzanie. Aby stworzyć tablicę z kluczami i wartościami z 1 tablicy wykorzystamy to:

Kopiuj
function array_cos(tab){
tab2=new array();i=0;
for(;i<=tab.length;i+=2){
tab2[tab[i]]=tab[i+1];
}
return tab2;
}

Teraz do rzeczy. NAjpierw dzielisz caly plik na linie.
Teraz musisz zrobic funckje przetwarzajaca nagówki, oraz nazwy i wartosci elementow.

// tylko zmienne i wartosci
Kopiuj
function parse_ini(tab){
for(i=0,tab2=new Array();i<=tab.length;i++){
tab2[i] = array_cos(exploder(tab[i], "="));
}
return tab2;
}


ini_vars = parse_ini(ini);

alert( ini_vars["zmienna1"] );

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.