• User

    Caricare new array da file text?

    Salve a tutti, sono nuovo su questo forum, che mi sembra veramente completo e pieno di gente esperta. Per questo approfitto per poter risolvere questo mio problemino.
    Ho un file html dove c'è la definizione di un nuovo array
    var domande=new Array()
    e sotto ci sono le domande, nella fattispecie per un quiz:
    domande[0]=new domanda("Come si chiamava il dio romano del mare?","Tritone","Nettuno","Poseidone","?
    domande[1]=new domanda("In quale racconto mitologico viene narrato l'episodio del cavallo di *****?","Iliade","Odissea","Eneide","Tro?
    domande[2]=new domanda("Quale è il nome francese del celebre matematico Cartesio?","Cartese","Escartes","Cartesi?
    Io vorrei che il new array fosse caricato da un file esterno. Ovvero la variabile "domande" venisse costruita pescando le domande (domanda[1], domanda[2], domanda[3], etc...) da un file esterno che chiamerei miofile.txt.
    Come faccio a dire dopo il codice:
    var domande=new Array()
    che si deve andare a pescare le domande nel file "miofile.txt"?
    Il tutto per poter meglio gestire l'aggiornamento delle domande.
    PS: ho letto alcune cose sulla funzione file(), ma non ci ho capito nulla
    GRAZIE


  • Perchè invece di un file di testo non carichi l'array in un file javascript (.js) separato e lo importi e richiami nel documento?
    altrimenti devi usare un linguaggio server-side o ajax.


  • User

    Marco, dici questo perchè la mia proposta risulterebbe troppo complicata? Non so da dove iniziare con il richiamare un array in un file .js. Inoltre mi sono costruito un "caricatore di domande" con VB 6.0 con il quale riesco ad aprire solo i file .txt, non so se si possono modificare anche i file .js.
    In pratica:

    1. ho un file html che contiene le domande nel formato array (domande[0]=new domanda...);
    2. ho creato un programma in VB 6.0 che tramite una user-friend interface trasforma la domanda proprio nel formato array (domande[0]=new domanda...) e la copia in una file text (automaticamente);
    3. Il problema è che io devo poi aprire questo file .txt ogni tanto, copiare le domande ed incollarle nel file html per aggiornare il quiz.
    4. Pertanto vorrei semplificarmi la vita, potendo con il mio programmino in VB copiare automaticamente le domande in un file txt a supporto del file html, senza dover fare troppi passaggi.
      Questo perchè non conosco altri metodi per aggiornare da una interfaccia web un file html, per me è ancora troppo difficile.
      Se tu dici che posso creare un file .js e questo può essere modificato da un programma VB 6.0, senza troppi passaggi che io non conoscerei, potrebbe essere una buona soluzione, ma, ripeto, non so da dove iniziare.
      Grazie per la tua risposta

  • Il tuo programma in vb6 dovrebbe poter fornire in output un file con un contenuto di questo tipo (formato testo ma con estensione.js):

    function carica(){
    var domande=new Array()
    domande[0]=new domanda("....")
    domande[1]=new domanda("....")
    ....
    ....
    }

    da importare nella tua pagina:
    <script type="text/javascript" src="nomefiledomande.js"></script>

    e dove ora hai l'array:
    carica();

    Se invece il tuo output txt è immodificabile sinceramente non saprei come aiutarti...


  • User

    Marco hai capito esattamente quello che devo fare, grazie per la risposta. ma non va... Se vuoi dargli un occhiata lo lascio con la configurazione cambiata, per ora il quiz e lo trovi su: ubamongi.it/fun/fun_quiz/quiz_geografia.htm
    Grazie
    LUCA


  • User

    Ne approfitto per chiedere un altro codice. Sempre in questo file, dove ho l'array delle domande, che sono un certo numero X, vorrei che apparisse sulla pagina web il numero totale di domande.
    Insomma se ho:
    domande[0]=new domanda("....")
    domande[1]=new domanda("....")
    ....
    domande[10]=new domanda("....")
    come faccio a far apparire una scritta del genere: "Domande totali 10"?
    Nei due casi, ovvero se l'array è nel file html o nel file .js.
    Grazie


  • User

    Ne approfitto per chiedere un altro codice. Sempre in questo file, dove ho l'array delle domande, che sono un certo numero X, vorrei che apparisse sulla pagina web il numero totale di domande.
    Insomma se ho:
    domande[0]=new domanda("....")
    domande[1]=new domanda("....")
    ....
    domande[10]=new domanda("....")
    come faccio a far apparire una scritta del genere: "Domande totali 10"?
    Nei due casi, ovvero se l'array è nel file html o nel file .js.
    Grazie


  • togli la dichiarazione dell'Array dal file .js:
    var domande=new Array()

    e mettila assieme alla dichiarazione delle altre varianti nel file principale quindi:

    var domande=new Array()
    var primoaiutousato=false
    var secondoaiutousato=false
    ...ecc.

    domande.length per ottenere la lunghezza dell'array e quindi il numero di domande


  • User

    Grazie mille, adesso va perfettamente!
    Rimane una cosa ancora, per inserire il numero di domande di seguito al testo "N. domande", quale codice devo scrivere? Scusa ma non ho capito!
    <tr>
    <td width="567"><span class="MsoTitle3"><span class="style8">Fun - quiz di geografia </span></span></td>
    <td width="208"><div align="left">N. domande: </div></td>
    <td width="208"><div align="right"><span class="style15">| <a href="..." target="_parent">Home</a> | <a href="..." target="_self">Fun</a> | <a href="quiz_index.htm">Quiz</a> | </span></div></td>
    </tr>


  • User Attivo

    Sposto la discussione nella sezione più adatta.


  • User

    OK


  • prova così:

    N. domande:<script type="text/javascript">document.write(domande.length) </script>


  • User

    Marco, sei un grande! Tutto funziona.
    Grazie della tua pazienza!
    Ma sicuramente ti disturberò ancora....
    Luca