Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 17 su 17

Discussione: classe che non funge

  1. #11

    scusa ma...

    Perché mi dici che centra poco con le classi?
    Anche loadVars é una classe e cio' che volevo fare era utilizzare questa classe all'interno della mia per poter fare altre cose.
    Per un problema di comprensione ti ho esposto solo una parte del mio progetto che evidentemente non ha molto senso se presa fuori dal suo contesto.
    http://www.dartea.com

  2. #12

    Re: scusa ma...

    Originariamente inviato da clochard
    Perché mi dici che centra poco con le classi?
    Anche loadVars é una classe e cio' che volevo fare era utilizzare questa classe all'interno della mia per poter fare altre cose.
    Per un problema di comprensione ti ho esposto solo una parte del mio progetto che evidentemente non ha molto senso se presa fuori dal suo contesto.
    Io prima di estendere una classe cerco di capire come funziona la classe che sto estendendo ... cerca LoadVars e prova a capire come funziona, se non la sai usare come puoi estenderla ?


    come se facessi

    class Mia extends MovieClip

    ... e non so niente sui MovieClip ... cosa me ne faccio ?
    scelgo a caso le classi extends oppure ha un senso quello che sto facendo ?
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  3. #13

    Ancora dubbi!

    Riapro questa discussione che ho lasciato in sospeso per 1/2 giorni.
    Premetto questa volta che loadvars lo so usare ma che forse sono un po meno esperto nella costruzione delle classi.

    Cerco di postare la mia domanda in maniera piu' precisa:

    -Per cominciare, utilizzo questo codice all'interno del mio file flash per leggere un semplice file di testo ("filetxt.txt" dove ho scritto testo=ciao):
    dbfile = new LoadVars();

    dbfile.load("testo.txt");
    dbfile.onLoad=function(success) {
    if (success) {

    trace(dbfile.testo);
    }

    }//fin function


    - Fino a qui tutto ok!! Il mio trace mi scrive infatti (ciao).
    -Ora quello che voglio fare é costruirmi un classe che legga il file txt e che quindi estenda la classe LoadVars che ha i metodi Load e onLoad per poter leggere il file, ecco la classe:

    class funDB extends LoadVars
    {

    private var file:String;
    private var dbfile:LoadVars;
    private var success;



    function funDB( file:String ){
    this.file = file;


    this.dbfile = new LoadVars();

    this.dbfile.load(this.file);
    this.dbfile.onLoad=function(success) {
    if (success) {

    trace(dbfile.testo);
    }

    }//fin function

    }//fin constructeur



    }//fine classe


    ...e sul mio file flash : db=new funDB("filetxt.txt");

    In questo modo il risultato é (undefined )!!!!!
    Dove sbaglio???

    Grazie!
    http://www.dartea.com

  4. #14

    Ho trovato l'errore!

    Ok!!Ho corretto lo script e ora funziona anche se non mi é chiaro cosa sbagliavo!! ecco la versione corretta:
    class funDB extends LoadVars
    {

    private var file:String;
    private var dbfile:LoadVars;
    private var success;
    var dataresult;


    function funDB( file:String ){
    this.file = file;

    load(this.file);
    onLoad=function(success) {
    if (success) {
    dataresult=this.testo;
    this.wdata(dataresult);
    //trace(dataresult);
    }

    }//fin function

    }//fin constructeur

    function wdata(risultato){
    trace(risultato);
    }

    }//fine classe


    VVoVe:
    http://www.dartea.com

  5. #15
    non ci siamo ... probabilmente non mi so spiegare io oppure non leggi tu ...


    se crei una classe che estende LoadVars, non hai alcun bisogno di dichiarare un' altra LoadVars all' interno della classe !!!


    private var dbfile:LoadVars;

    non serve a niente


    infatti la seconda versione funziona perche' usi i metodi
    load onLoad nativi all' interno di una classe che estende LoadVars


    ... non so piu' come spiegarlo ...


    P.S. load da per scontato che il metodo onLoad sia gia' presente ... se scrivi codice procedurale e' piu' corretto impostare prima il metodo onLoad, poi il metodo load ... quello script funziona solo grazie al tempo di attesa che passa tra la chiamata load e il risultato, su un PC molto veloce e in locale potrebbe non funzionare.
    Se scrivi in modo OOP invece , questo non e' vero.

    class pippo extends LoadVars {
    public function load( file:String ):Void {
    super.load( file );
    }
    public function onLoad( s:Boolean ):Void {
    trace( 'loaded' );
    }
    ... etc etc ..
    }
    in questo caso l' ordine non ha alcun senso se non per la chiarezza del codice
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  6. #16

    Ok!

    ... non so piu' come spiegarlo ...
    Ti ringrazio, ma non ne fare qualcosa di personale!
    Sei gentile a rispondermi anche se un po' nervosetto!
    Se non avessi dei dubbi in quello che sto facendo non avrei nemmeno postato la domanda!!

    Buona giornata e relax!!!
    http://www.dartea.com

  7. #17
    e' che dire le stesse cose piu' volte a distanza di 2 reply mi fa sembrare idiota ... ma il problema e' il mio che probabilmente non riesco a spiegarmi ...



    detto questo, perche' vuoi lavorare con gli oggetti se non conosci bene gli oggetti ?

    Quello che stai facendo ad esempio non richiede, secondo me, l'uso di oggetti, una funzione avrebbe fatto la stessa cosa anche perche' quell' oggetto, fatto cosi', non e' portabile e non serve se non per questo specifico caso.


    Se invece e' un tuo studio personale per capire come funziona la OOP in AS, allora tuto ok.

    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.