Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1
    Utente di HTML.it L'avatar di Melo80
    Registrato dal
    Jun 2005
    Messaggi
    47

    Flash MX Problemi di sintassi?

    Ciao a tutti

    codice:
    news = "";
    data = "";
    id="";
    title = "";
    content = "";
    prefisso = "";
    loadVariables("component/press/ns.txt", "");
    id = news;
    
    
    if (id<=9) {
    	prefisso = "00" + id;
    	
    }
    if (id>9 && id<=99) {
    	prefisso = "0"+id;
    }
    if (id>99) {
    	prefisso = id;
    }

    In questo caso ns.txt ha impostato come valore 1 per la variabile news quindi poi passando per gli if dovrebbe diventare 001 ma non funziona....

    id diventa 1 ma prefisso resta 00 che possa essere un problema di sintassi??

    poi se sostituisco a id un 1 tutto fila liscio....

    grazie x l'aiuto!

  2. #2
    Considera che dal file .txt è probabile che flash veda il valore come stringa e non come numero, per cui i controlli non sarebbero efficaci.
    Prova ad usare

    id = Number(id)

    Prima dei vari if

    Se usi flash Mx comunque usa loadVars al posto dell'ormai obsoleto loadVariables, è molto più gestibile.

  3. #3
    Utente di HTML.it L'avatar di Melo80
    Registrato dal
    Jun 2005
    Messaggi
    47
    Grazie per l'aiuto!

    avevo già provato con Number(id)... niente

    piuttosto loadVars non riesco neanche ad inserirlo...

    ...inizio a pensare che il flash che c'ho io abbia dei buchi.. o qualcosa del genere.

    figurati che (andando avnti nel lavoro) ho provato ad aggiungere una variabile in questo modo:

    loadVariables("component/press/ns.txt", "");
    id = news;
    a = id;

    quindi ho aggiunto A che dovrebbe mantenere il valore di id ma non gli passail valore!

    MA CHE STA SUCCEDENDO CI SONO GLI ALIENI QUI????

    Hai qualche suggerimento o vado ad immergere il computer a lourds?

  4. #4
    Utente di HTML.it L'avatar di Melo80
    Registrato dal
    Jun 2005
    Messaggi
    47
    tra l'altro usando Number() mi restituisce NaN


  5. #5
    E' normale, le azioni possono venire eseguite prima che i dati siano stati effettivamente caricati.
    Per quello ti dicevo di usare il loadVars, con cui puoi avere un controllo molto migliore del caricamento dei dati.
    Così

    k = new LoadVars()
    k.onLoad = function(){
    id = Number(this.id)
    trace(id)
    trace(typeof(id))
    }
    k.load("component/press/ns.txt")

  6. #6
    Utente di HTML.it L'avatar di Melo80
    Registrato dal
    Jun 2005
    Messaggi
    47
    Cappero è vero!

    mamma mia le cose che non so...

    Non vorrei approfittare della tua disponibilità ma mi aiuti a capire così alla prossima faccia da solo...

    k = new LoadVars()

    // K è una variabile creata per appoggiare i dati...


    k.onLoad = function(){

    // apri una funzione (così si chiama?) che controlla il caricamenti di ns.txt

    id = Number(this.id)

    // assegni a id cosa? e poi this (è un percorso, vero?) è omettibile? potrebbe darmi problemi se questo file lo carico al 3livello di un altro swf?

    trace(id)
    trace(typeof(id))

    // trace serve solo per far comparire nell'outpot il valore della variabile??

    }

    //qui chiudi la funzione

    k.load("component/press/ns.txt")

    // e perchè il caricamento del file esterno è fuori dalla funzione?


    Grazie!

  7. #7
    k = new LoadVars()

    Crea un nuovo oggetto loadVars, che potrà raccogliere, inviare i dati ed elaborarli.

    k.onLoad = function(){

    dichiaro la funzione che andrà eseguita una volta caricati i dati (onLoad, è un evento dell'oggetto loadVars)

    id = Number(this.id)

    praticamente "converto" this.id (ovvero k.id) da stringa a numero e assegno tale numero alla variabile id. Non da problemi se usato in altri filmati, perchè il "this" si riferisce all'oggetto loadVars "k"

    Sì, i due trace servono solo per far apparire i valori nella finestra output per controllarne la correttezza.

    }

    chiudo la funziona onLoad

    k.load(file)

    Carico il file. E' fuori dalla funzione perchè il caricamento del file ovviamente verrà eseguito prima che la funzione onLoad (che viene eseguit a caricamento avvenuto) sia "chiamata in causa".

  8. #8
    Utente di HTML.it L'avatar di Melo80
    Registrato dal
    Jun 2005
    Messaggi
    47
    tutto chiaro...

    ma perchè visto che

    il caricamento del file ovviamente verrà eseguito prima che la funzione onLoad (che viene eseguit a caricamento avvenuto) sia "chiamata in causa".
    è messo dopo la funzione e non prima???

    è una cosa sbagliata pensare che flash legga gli script a cascata quindi dall'alto in basso? e non è vero che se legge righa 2 a sicuramente letto righa 1??

    Ti ringrazio infinitamente! adesso mi stampo tutta la "lezione"!

    ciao ciao!

  9. #9
    No, è giusto pensare che Flash legga gli script dall'alto al basso, ma proprio per questo conviene mettere l'onLoad prima.

    Se noi mettiamo

    load("file.txt")
    onLoad = function(){
    ...
    }

    Cosa succede se flash carica file.txt PRIMA di aver letto la funzione onLoad? Succede che una volta caricato il file "Non saprebbe cosa fare".
    Scrivendo invece

    onLoad = function(){
    ...
    }
    load("file.txt")

    Saremo sicuri che la funzione onLoad sia già presente, e quindi in qualsiasi momento flash finirà di caricare file.txt "saprà cosa fare".

    Spero di essermi spiegato decentemente

  10. #10
    Utente di HTML.it L'avatar di Melo80
    Registrato dal
    Jun 2005
    Messaggi
    47
    no non decentemente, alla grande!

    quindi io potrei avere anche 5 LoadVars e LoadMovie e la funzione si applicherebbe a ciascuno dei singoli elemeti da caricare? e potrei inserire nella funzione tutte le variabili da raccogliere?

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.