Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 17

Discussione: classe che non funge

  1. #1

    classe che non funge

    ciao a tutti!
    La situazione é questa:

    ho un file ".txt" dove c'é scritto testo="ciao"

    ...poi ho un file ".as" dove ho costruito la classe per leggere queto file e quindi stampare con l'azione trace il valore di "testo" presente nel mio txt.

    Eccovi la classe:
    class mydb extends LoadVars
    {


    var sorgente:String;
    var carica;

    function mydb(file:String){//costruttore


    this.sorgente=file;

    }


    function loadfile(){
    trace(this.sorgente);

    carica.load(this.sorgente);

    carica.onLoad=loading(stato);




    }

    function loading(stato){

    if(stato){

    risultato("caricato");
    }else{

    risultato("loading");
    }
    }

    function risultato(risult){

    trace (risult);

    }




    }//fine classe


    ...Poi ho il mio file flash con scirtto al primo key frame, questo:


    var obj:mydb=new mydb("testo.txt");

    trace(obj.loadfile());


    Non funziona!!!!!!!!
    E' già un bel po che guardo e riguardo lo script ma non riesco a trovare l'errore (sto diventando pazzo!!).
    Potete debuggarmelo???!!!!
    Grazie
    http://www.dartea.com

  2. #2

    ..scusate avevo dimenticato

    L'errore che ho é questo:
    il mprimo trace é OK (ricevo bene il nome del file da leggere)
    il secondo trace é anche ok (scrive loading)
    il terzo non funziona (scrive undefined invece di caricato)

    VVoVe:
    http://www.dartea.com

  3. #3
    Guarda, apportando una leggera modifica ho appurato che la variabile stato non arriva al metodo risultato. ecco il codice.
    codice:
    class mydb extends LoadVars
    {
    	var sorgente:String;
    	var carica;
    	function mydb(file:String){//costruttore
    		this.sorgente=file;
    	}
    
    	function loadfile(){
    		trace("SORGENTE: "+this.sorgente);
    		carica.load(this.sorgente);
    		carica.onLoad=loading(stato);
    	}
    
    	function loading(stato){
    		if(stato){
    			trace("STATO: "+stato);
    			risultato("caricato");
    		}else{
    			trace("STATO: "+stato);
    			risultato("loading");
    		}
    	}
    
    	function risultato(risult){
    		trace("RISULTATO: "+risult);
    	}
    
    }//fine classe
    ora però visto che sono l'1 e 52, me ne vado a nanna e domani se riesco provo a venirne fuori.
    Ora come ora sono....

    VVoVe: VVoVe: VVoVe: VVoVe:

  4. #4
    mydb.as
    codice:
    class mydb extends LoadVars {
    
    	private var file:String;
    
    	function mydb( file:String ){
    		this.file = file;
    	}
    
    	public function loadfile():Void {
    		trace("SORGENTE: " + this.file);
    		this.onLoad = this.loading;
    		this.load( this.file );
    	}
    
    	private function loading( s:Boolean ):Void {
    		if( s == true ){
    			risultato( "caricato" );
    		}
    		else{
    			risultato( "errore" );
    		}
    	}
    
    	private function risultato( r:String ):Void {
    		trace( "RISULTATO: " + r );
    	}
    
    }


    prova.txt
    codice:
    test=OK



    test.fla
    codice:
    var obj:mydb = new mydb( 'prova.txt' );
    obj.loadfile();





    Risultato:
    SORGENTE: prova.txt
    RISULTATO: caricato
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  5. #5

    Grazie e entrambi!

    Grazie mille andr3a,
    copio il codice e lo studio per capire bene cosa ho sbagliato!
    Non riesco ancora a vedere una differenza sostanziale in quello che avevo fatto io...

    Ciao, ti faro' sapere!
    http://www.dartea.com

  6. #6
    intanto se fai una classe estesa, non devi usare un LoadVars interno perche' la classe stessa, in questo caso, e' un loadVars.

    this.load()
    this.sendAndLoad ...

    this.onLoad ... etc etc ...



    poi le funzioni non si assegnano mai con le tonde ..

    function pino( cosa ) { trace( cosa ); }

    se fai

    pippo = pino( cosa ); ti parte pino e dara' un trace undefined ...


    se fai


    pippo = pino;


    e poi


    pippo( 'Hello World!' );

    a quel punto pippo e' una funzione che accetta parametro cosa per fare il trace, in pratica e' pino, ma non la 'richiamante' di pino...

    altro ancora, hai usato AS2.0 come se fosse PHP4

    e visto che ci sono piu' possibilita', perche' non usarle ? Altrimenti sarebbe bastata una sola funzione o una proto, piuttosto che questa classe
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  7. #7

    ...mmmm

    Scusa ma non ho capito tutto.

    intanto se fai una classe estesa, non devi usare un LoadVars interno perche' la classe stessa, in questo caso, e' un loadVars.

    Dov'é che uso il LoadVars? Se lo avessi usato avrei scritto : carica=new LoadVars();


    E poi cosa intendi per :altro ancora, hai usato AS2.0 come se fosse PHP4

    Dov'é la differenza tra i due e quali sono le possibilità in piu'?
    http://www.dartea.com

  8. #8
    codice:
    ...
    var sorgente:String;
    var carica;
    
    function mydb(file:String){//costruttore
    
    
    this.sorgente=file;
    
    }
    
    
    function loadfile(){
    trace(this.sorgente);
    
    carica.load(this.sorgente);
    
    carica.onLoad=loading(stato);
    ...
    carica cos'e' ??? ... un sottointeso LoadVars ??? ... non ha senso, la classe stessa e' un LoadVars, ok ?



    PHP4 ha una OOP essenziale e se me lo permetti ridicola ... AS2.0 ha Strict Type, private, public, altro ancora, molto piu' vicino a Java come OOP ( e piu' vicina a OOP di PHP5 )

    Tu usi AS2.0 , poi ognuno fa come vuole, come OOP base, se scrivi una funzione per MX o una classe con il tuo codice non vedo differenza, visto che AS2.0 ha delle cose migliori in scrittura, per certi versi, preferisco, personalmente, usare queste cose.

    Tutto qua
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  9. #9

    con un po di ritardo...

    Scusa per per il ritardo con il quale rispondo ma,
    ho riletto la classe che mi hai corretto e ho capito l'errore che avevo fatto il problema é che in questo modo non riesco a prelevare i dati dal mio file di testo ma solo a sapere se il file esiste ed se é stato caricato.

    trace( "RISULTATO: " + r );

    Avrei bisogno invece di recuperare il valore delle mie variabili all'interno del file di testo.
    Potresti aiutarmi ancora una volta?

    Ciao!
    http://www.dartea.com

  10. #10
    se non sai come funziona LoadVars apri un altro 3D ma prima fai una ricerca, centra poco con le classi
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

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.