Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 27
  1. #1

    dichiarazione array con nomi dinamici

    per la serie "a volte ritornano", eccomi qui...

    sto lottando cn un progetto abbastanza da pazzoidi e sono bloccato a un punto da circa 7 ore..(..e sono le 4 del mattino!)

    devo pushare in degli array dei dati presi da xml (e fin qui nulla di anomalo)
    gli array però non so ne quanti saranno ne come si chiameranno!!!!
    ma gli array vanno dichiarati perchè funzioni tutto...

    quindi mi ricavo dall'xml quanti sono i childnodes del firstchild e ne ricavo il nome uno per uno..e fin qui ok

    a questo punto ho una situazione simile:
    codice:
    for (c=0; c<arrayTot; c++) {
    				this["arrayName"+c] = xmlList[0].childNodes[c].nodeName;
    				trace(this["arrayName"+c]);
    dove arrayTot è il numero degli array da creare e this["arrayName"+c] è la variabile che contiene i nomi dei nodi e quindi degli array..

    fin qui funzica, ma ora devo dichiarare che this["arrayName"+c] è un array
    cioè devo creare un array cn il nome che è contenuto in quella var e non posso certo fare una roba tipo
    codice:
    var ["arrayName"+c]:Array = new Array()
    spero di essermi spiegato..come faccioooooooooo?????
    qualcuno ne ha idea?

  2. #2
    xchè se conosci il munero di array da creare nn si può fare una cosa simile?

    for (i=0; i<tot;i++){
    _root["arrayName"+i] = new Array()
    }
    la verità non è una meretrice che si getta al collo di chi non la vuole ma anzi essa è dotata di una così altera bellezza che anche chi sacrifica tutto per ottenerla non è sicuro di averla raggiunta !

  3. #3
    cioè praticamente c'ero ma sbagliavo la sintassi!
    sono proprio un ca********one!

    grazie mille crescenzo!ti amo!

  4. #4
    Originariamente inviato da sha
    cioè praticamente c'ero ma sbagliavo la sintassi!
    sono proprio un ca********one!

    grazie mille crescenzo!ti amo!
    di niente figurati

    la verità non è una meretrice che si getta al collo di chi non la vuole ma anzi essa è dotata di una così altera bellezza che anche chi sacrifica tutto per ottenerla non è sicuro di averla raggiunta !

  5. #5
    però ho un problemino:

    ora che ho i nomi degli array e il loro contenuto, come lo metto in un campo di testo dinamico?

    mi spiego: ho questo pezzo di codice cn il quale ricavo il nome dell'array dal childnode, lo trasformo in array e gli pusho dentro i dati

    codice:
    for (c=0; c<arrayTot; c++) {
    //ricavo il nome degli array
    				this["arrayName"+c] = xmlList[0].childNodes[c].nodeName;
    //creo gli array
    				this["arrayName+c] = new Array()
    				....
    ...
    //popolo gli array
    				this["arrayName"+c].push(xmlList[a][c]);
    }
    ora che ho gli array dovrei metterne il contenuto in dei campi di testo dinamici..
    quindi metto sullo stage dei campi di testo istanziati coi nomi degli array e gli assegno il contenuto dell'array...ma come?

    avevo pensato a una cosa tipo:

    this["arrayName"+c].text=this["arrayName"+c]

    ma nn è che mi suona bene!infatti nn funziona!
    idee?

  6. #6

  7. #7
    Originariamente inviato da sha
    però ho un problemino:

    ora che ho i nomi degli array e il loro contenuto, come lo metto in un campo di testo dinamico?

    mi spiego: ho questo pezzo di codice cn il quale ricavo il nome dell'array dal childnode, lo trasformo in array e gli pusho dentro i dati

    codice:
    for (c=0; c<arrayTot; c++) {
    //ricavo il nome degli array
    				this["arrayName"+c] = xmlList[0].childNodes[c].nodeName;
    //creo gli array
    				this["arrayName+c] = new Array()
    				....
    ...
    //popolo gli array
    				this["arrayName"+c].push(xmlList[a][c]);
    }
    ora che ho gli array dovrei metterne il contenuto in dei campi di testo dinamici..
    quindi metto sullo stage dei campi di testo istanziati coi nomi degli array e gli assegno il contenuto dell'array...ma come?

    avevo pensato a una cosa tipo:

    this["arrayName"+c].text=this["arrayName"+c]

    ma nn è che mi suona bene!infatti nn funziona!
    idee?
    scusami ma se metti delle caselle di testo dinamiche nello stage e ci metti come var il nome degli array il contenuto dovrebbe essere automaticamente preso ...quello dell'array

    ma tu come fai a sapere quanti campi di testo ti servono a priori??
    quindi secondo me dovresti crearti un clip con una casella di testo dinamica e attaccarlo sullo stage quante volte ti serve e di volta in volta assegnargli il valore dell'array
    ..........



    sempre se ho ben capito
    la verità non è una meretrice che si getta al collo di chi non la vuole ma anzi essa è dotata di una così altera bellezza che anche chi sacrifica tutto per ottenerla non è sicuro di averla raggiunta !

  8. #8
    Come fai a mettere in una stringa il contenuto di tutto l'array. Devi metterci il contenuto di un indice dell'array, al massimo. A meno che se metti l'array direttamente non ci pensi l'interprete e ti stampa tutto il contenuto separato da virgole, magari succede proprio questo boh...

    La casella comunque non chiamarla con nome dell'array fai qualcosa tipo

    //myMovieClip.createTextField (nomeIstanza, profondità, x, y, larghezza, altezza)
    boxtesto = this.createTextFiled("casella"+c,c)
    boxtesto.text = this["arrayName"+c]

  9. #9
    x Crescenzo:

    è esattamente quello che devo fare (il fatto del campo di testo dinamico era per testare..)

    in sostanza creo un clip .. diciamo che lo chiamo "contenitore" ..con all'interno tanti campi dinamici quanti sono gli array e poi lo duplico per quanti records ci sono nell xml ..

    sono arrivato ad avere questo:

    this["arrayName"+c] = this["arrayCont"+c];

    dove
    this["arrayName"+c] = nomi degli array
    e
    this["arrayCont"+c] = contenuto degli array

    ponendo il caso che gli array si chiamino "primo" e "secondo" io metto in "contenitore" due campi di testo dinamici istanziati primo e secondo e al codice aggiungo:

    contenitore.thisthis["arrayName"+c].text=this["arrayCont"+c][c]

    ma nulla..nn funziona

  10. #10
    Originariamente inviato da Stan
    Come fai a mettere in una stringa il contenuto di tutto l'array. Devi metterci il contenuto di un indice dell'array, al massimo. A meno che se metti l'array direttamente non ci pensi l'interprete e ti stampa tutto il contenuto separato da virgole, magari succede proprio questo boh...

    La casella comunque non chiamarla con nome dell'array fai qualcosa tipo

    //myMovieClip.createTextField (nomeIstanza, profondità, x, y, larghezza, altezza)
    boxtesto = this.createTextFiled("casella"+c,c)
    boxtesto.text = this["arrayName"+c]
    la soluzione della casella di testo è ottima, ma per ragioni grafiche devo crearla a mano...so che è un controsenso dato che il resto è tutto aumatizzato, ma siccome la grafica cambierà spesso..da pagina a pagina e da progetto a progetto, per questioni di velocità devo utilizzare campi di testo creati manualmente, quindi il nome ai campi glielo devo dare a mano...

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.