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

    datechooser e caricamento variabili

    salve, ho trovato un calendario prefatto in flash che utlizza una componente datachooser.

    ora, cliccando sulla data questo esempio fa un trace con la data cliccata.

    quello che vorrei fare è:

    ho una serie di file di testo nominati con il nome della data, vorrei che al click sul calendario venisse caricato in un campo di testo , il messaggio contenuto nel relativo file di testo..

    è possibile fare una cosa del genere?!

    posto anche il codice del mc attuale:

    codice:
    var oListener:Object = new Object();
    oListener.change = function(oEvent:Object):Void {
    	// recupero la data al click nel componente
    	data=calendario.selectedDate;
    	// tramite la data creo un' istanza della Classe Date e inserisco la mia data
    	// utilizzo getDate per recuperare il giorno
    	day= new Date(data).getDate();
    	trace(day);
    trace("Ho cliccato il giorno: " + calendario.selectedDate);
    };
    calendario.addEventListener("change", oListener);

    chi mi da una mano... sono bloccatissimo....

  2. #2
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    certo che è possibile, dove ti blocchi?

  3. #3
    Originariamente inviato da and80
    certo che è possibile, dove ti blocchi?
    ho modificato in questa maniera:

    file di testo unico e variabili con il nome della data (es 1792007) presentate in questo modo:

    codice:
    1792007=testo&1892007=testo2&2092007=testo3&....
    actionscript modificato:

    codice:
    var oListener:Object = new Object();
    oListener.change = function(oEvent:Object):Void {
    	// recupero la data al click nel componente
    	data=calendario.selectedDate;
    	// tramite la data creo un' istanza della Classe Date e inserisco la mia data
    	// utilizzo getDate per recuperare il giorno
    	gg = data.getDate();
    	mm = (data.getMonth() + 1);
    	aa = data.getFullYear();
    	data_corr= gg  + "" + mm + "" + aa;
    	myText = new LoadVars();
    	myText.onLoad = function(success) {
    		if (success) {
    			testo.text = myText.data_corr;
    		}else {
    			testo.text = "non ci sono dettagli per questa data";
    		}
    	};
    	trace (data_corr);
    	myText.load("./calendario/calendario.txt");
    };
    calendario.addEventListener("change",oListener);
    non mi carica la variabile.

    cioè se io sostituisco la riga "testo.text = myText.data_corr;" con "testo.text = mText.1792007;" mi da errore di sintassi... se sostituisco sia nel txt sia nell'mc il nome della variabile da 1792007 a var1, mi recupera la variabile, ma ovviamente sempre quella, ad ogni click di data..

    come posso parametrizzare questa voce?

  4. #4
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    se fai così non ti conviene inserire il parsing del file esterno ad ogni "change", lo fai una sola volta, poi richiami la variabile che ti interessa

    innanzi tutto però devi essere sicuro che la variabile "data_corr" ti venga restituita in maniera corretta, poi non la usi come myText.data_corr, ma come myText[data_corr]

    Codice PHP:
    var myText = new LoadVars();
    myText.load("./calendario/calendario.txt");

    var 
    oListener:Object = new Object();
    oListener.change = function(oEvent:Object):Void {
        
    // recupero la data al click nel componente
        
    data=calendario.selectedDate;
        
    // tramite la data creo un' istanza della Classe Date e inserisco la mia data
        // utilizzo getDate per recuperare il giorno
        
    gg data.getDate();
        
    mm = (data.getMonth() + 1);
        
    aa data.getFullYear();
        
    data_corrgg  "" mm "" aa;
        if(
    myText[data_corr] != undefined){
            
    testo.text myText[data_corr];
        } else {
            
    testo.text "Caricamento fallito!";
        }
    };
    calendario.addEventListener("change",oListener); 

  5. #5
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    così è completo di verifica del caricamento del file esterno e della verifica sulla presenza della variabile legata al giorno scelto

    Codice PHP:
    var caricato false;
    var 
    myText = new LoadVars();
    myText.onLoad = function(ok) {
        if (
    ok) {
            
    caricato true;
        } else {
            
    caricato false;
        }
    };
    myText.load("calendario.txt");

    var 
    oListener:Object = new Object();
    oListener.change = function(oEvent:Object):Void  {
        
    // recupero la data al click nel componente
        
    data calendario.selectedDate;
        
    // tramite la data creo un' istanza della Classe Date e inserisco la mia data
        // utilizzo getDate per recuperare il giorno
        
    gg data.getDate();
        
    mm = (data.getMonth()+1);
        
    aa data.getFullYear();
        
    data_corr gg+""+mm+""+aa;
        if (
    caricato) {
            if (
    myText[data_corr] != undefined) {
                
    testo.text myText[data_corr];
            } else {
                
    testo.text "Testo non presente!";
            }
        } else {
            
    testo.text "Errore di caricamento!";
        }
    };
    calendario.addEventListener("change",oListener); 
    c'è un solo problema, se riclicchi sulla stessa data, non fa il change e crea un undefined sulla "selectedDate", mandando a meretrici le azioni del "change"

  6. #6
    grazie 1000, in effetti ora funziona!!!

    i problemi ora però sono altri:

    1- se clicco su una data mi carica la variabile, poi se clicco su un altra non me la cambia..

    2- se guardo il filmato in anteprima (ctrl + invio) funziona, se lo guardo direttamente dalla cartella cliccando sull'swf, no..

    perchè?

  7. #7
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    scusa, ma mi sono accorto di aver lasciato due righe in più nell'ultimo codice

    a me funziona regolarmente, ma non l'ho provato come dici tu... ora provo...

    [edit] provato, mi funziona correttamente sia richiamando direttamente l'swf che caricando la pagina html che lo contiene, dal browser

  8. #8
    Originariamente inviato da and80
    scusa, ma mi sono accorto di aver lasciato due righe in più nell'ultimo codice

    a me funziona regolarmente, ma non l'ho provato come dici tu... ora provo...

    [edit] provato, mi funziona correttamente sia richiamando direttamente l'swf che caricando la pagina html che lo contiene, dal browser
    niente da fare...



    non mi cambia la variabile se cambio data.. sia che il dato sia presente, sia che non lo sia..


    mentre l'altro problema è risolto (ho spostato il txt nella root ed ho modificato il percorso come nel tuo esempio)..


    altra domanda (approfitto della pazienza): all'inizio nel campo di testo mi carica il testo _level0.testo .. come posso eliminarlo?!

    grazie 1000 per la pazienza e la costanza..

  9. #9
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    >> non mi cambia la variabile se cambio data

    prova a fare un trace del contenuto di "data_corr", a me funziona correttamente


    >> altra domanda (approfitto della pazienza): all'inizio nel campo di testo mi carica il testo
    >> _level0.testo .. come posso eliminarlo?!

    scusa ma... "testo" è il nome di istanza del campo di testo o è il nome contenuto nel campo "variabile"?

  10. #10
    Originariamente inviato da and80
    >> non mi cambia la variabile se cambio data

    prova a fare un trace del contenuto di "data_corr", a me funziona correttamente


    >> altra domanda (approfitto della pazienza): all'inizio nel campo di testo mi carica il testo
    >> _level0.testo .. come posso eliminarlo?!

    scusa ma... "testo" è il nome di istanza del campo di testo o è il nome contenuto nel campo "variabile"?
    porca l'oca!!!!!


    avevo messo il doppio nome sia nel nome del campo sia nel contenuto.. ecco perchè non funzionava!!!!!
    adesso va tutto..

    oh, inutile sottolineare che sei stato un grande.. grazie 1000 per la pazienza .. davvero..

    mi hai risolto un casino di quelli...

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 © 2024 vBulletin Solutions, Inc. All rights reserved.