Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2003
    Messaggi
    137

    come mai non va il codice con una classe personale?

    Ho creato una classe ListaSquadre.

    import Metodi.*;
    var elenco:ListaSquadre = new ListaSquadre();

    Creo una variabile di quella istanza e chiamo il metodo che chiede di ricevere due stringhe

    elenco.addSquadra("prova",descr.text)

    ora voglio vedere se il valore è stato inserito

    trace(elenco.getLista()[0].getNome());

    Solo che ricevo sempre undefined.

    Questo è il metodo addSquadra
    public function addSquadra(nome:String, descr:String) {
    arSq[n] = new Squadra();
    arSq[n].setNome(nome);
    arSq[n].setDescr(descr);
    n++;
    }
    Quindi poi sempre dalla stessa classe mi faccio dare arSq dal quale accedere poi alla posizione e ricevere poi il nome

    Come mai?

  2. #2
    Utente di HTML.it L'avatar di negatyve
    Registrato dal
    Feb 2001
    Messaggi
    9,479
    Servirebbe il codice sia di Squadra che del metodo getLista.

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2003
    Messaggi
    137
    class Metodi.Squadra {
    private var nome:String = "";
    private var descrizione:String = "";
    private var p:Number = 0;
    private var pVinte:Number = 0;
    private var pPerse:Number = 0;
    private var pPari:Number = 0;
    private var goalFatti:Number = 0;
    private var goalSubiti:Number = 0;

    public function Squadra() {}

    /* Elenco getter */
    public function getNome():String {
    return nome;
    }
    public function getDescr():String {
    return descrizione;
    }
    public function getP():Number {
    return p;
    }
    public function getPerse():Number {
    return pPerse;
    }
    public function getVinte():Number {
    return pVinte;
    }
    public function getPari():Number {
    return pPari;
    }
    public function getGoalFatti():Number {
    return goalFatti;
    }
    public function getGoalSubiti():Number {
    return goalSubiti;
    }


    /* Elenco dei setter */
    public function setNome(nome:String):Void {
    //Imposto il controllo della lunghezza del nome
    this.nome = nome;
    }
    public function setDescr(descr:String):Void {
    this.descrizione = descr;
    }
    public function setP(p:Number):Void {
    //Sara' un metodo esterno a inviare il punteggio del se ha vinto perso o pareggiato
    this.p += p;
    }
    public function setPerse(n:Number):Void {
    //Sara' un metodo nella classe 'elenco' a inviare 1 se la squadra ha perso
    this.pPerse += n;
    }
    public function setVinte(n:Number):Void {
    //Sara' un metodo nella classe 'elenco' a inviare 1 se la squadra ha vinto
    this.pVinte += n;
    }
    public function setPari(n:Number):Void {
    //Sara' un metodo nella classe 'elenco' a inviare 1 se la squadra ha pareggiato
    this.pPari += n;
    }
    public function setGoalFatti(n:Number):Void {
    //Sara' un metodo nella classe 'elenco' a inviare il numero dei goal fatto
    this.goalFatti += n;
    }
    public function setGoalSubiti(n:Number):Void {
    //Sara' un metodo nella classe 'elenco' a inviare il numero dei goal subiti
    this.goalSubiti += n;
    }
    }

    import Metodi.*;
    class Metodi.ListaSquadre {
    private var arSq:Array;
    private var n:Number = 0; //posizione in cui si è arrivati ad inserire le squadre

    public function ListaSquadre() {}

    public function getLista():Array {
    return arSq;
    }

    public function addSquadra(nome:String, descr:String) {
    arSq[n] = new Squadra();
    arSq[n].setNome(nome);
    arSq[n].setDescr(descr);
    n++; //Incremento per segnalare l'aggiunta di una squadra
    }

    public function remSquadra(pos:Number):Void {
    var ar:Array; //Array temporale per eliminare il valore richiesto
    var cont:Number = 0;
    for (var i:Number = 0; i < arSq.length; i++) {
    if(i != pos)
    ar[n++] = arSq[i]; //Mette il val in ar solo se la posizione in cui è arrivato non
    //è uguale alla pos indicata da eliminare
    }
    n--; //Porto a -1 per segnalare la rimozione di una squadra
    arSq = ar;
    }

    public function modSquadra(pos:Number, nome:String, descr:String):Void {
    arSq[pos].setNome(nome);
    arSq[pos].setDescr(descr);
    }

    }


    cosi è più chiaro

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2003
    Messaggi
    137
    nessuno?

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2003
    Messaggi
    137
    sembra non crearmi la variabile elenco!! Perche?!

  6. #6
    Utente di HTML.it L'avatar di negatyve
    Registrato dal
    Feb 2001
    Messaggi
    9,479
    Infatti:
    codice:
    	//posizione in cui si è arrivati ad inserire le squadre
    	public function ListaSquadre()
    	{
    		arSq = new Array();
    	}

  7. #7
    Utente di HTML.it
    Registrato dal
    Mar 2003
    Messaggi
    137
    risolto! grazie mille! VVoVe:
    si è una vera vergogna come mancanza però quando avevo provato a inizializzarla così una volta mi diede errore... vabbe! :rollo:

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.