Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    Carico un Array ma lo vede come Stringa

    ciao a tutti
    Come si fa a caricare un array da file in FLA?
    anzi a fargli capire di vedere il file caricato come un array e non come una stringa?

    Mi spiego meglio.
    P.Es ho salvato il file.txt che contiene "[1, 2, 3]" (senza le virgolette)

    in Fla scrivo : myArray = mdm.FileSystem.loadFile(file.txt);
    lui lo carica regolarmente ma se gli chiedo cosa ha caricato con
    mdm.Dialogs.prompt(typeof (myArray));
    lui lo riconosce come string e non come object array
    per cui se faccio p.es.
    mdm.Dialogs.prompt(myArray[2]
    ovviamente non lo interpreta.

    Qui vedete i comandi .mdm che sono di Zinc ma direi che la stessa cosa si presenta con loadvars.
    Flash vede benissimo il file tale e quale come scritto nel file.txt MA NON RIESCO A FARGLI CAPIRE CHE E' UN ARRAY. Come si fa' per favore?

    In Lingo si usa il comando value(myArray) per destringare il testo
    ma qui non esiste.

    Grazie ciao, Rocis
    Mitakuye Oyasin - Siamo tutti collegati

  2. #2
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    flash da solo non fa distinzione di tipo nei dati caricati dall'esterno, vede tutto come stringa
    nel tuo caso puoi comunque gestire l'output separando la stringa attraverso la virgola, ma non utilizzare la sintassi esatta dell'array, fai così

    1,2,3,4,5

    e su flash

    var myArray = mdm.FileSystem.loadFile(file.txt).split(",");
    mdm.Dialogs.prompt(typeof(myArray));
    mdm.Dialogs.prompt(myArray[2])

  3. #3

    Bene GRAZIE

    ti ringrazio sei stato illuminante!

    In base ai suggerimenti ecco il compitino finito:

    immaginado che nomeFile era un file.txt contenente: ["uno", "due", "tre"]

    // carica il file che ha l'aspetto di un Array ma viene visto come una stringa
    var myString:String = mdm.FileSystem.loadFile(nomeFile);
    // toglie il primo e l'ultimo Char dell'array cioe' aperta e chiusa quadra [ e ]
    myString = myString.substring(1, (myString.length)-3);
    // arrayzza con split()
    var myArray:Array = myString.split(",");

    e cosi' mi ritrovo il mio bell'Array ricostruito! myarray = ["uno", "due", "tre"]

    Grazie ciao Rocis
    Mitakuye Oyasin - Siamo tutti collegati

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.