Flash – Menu a tendina caricato da ASP e DB

Ci ritroviamo qui per un mini-tutorial su un lavoro da svolgere proprio in questi giorni e che sicuramente interesserà molti dei lettori di questo blog.

In questo articolo tratteremo di un mini tutorial per creare una combobox in Flash, alimentata da valori presi da un DB tramite una pagina ASP.

  • Iniziamo creando una cartella “Combo” nella root del nostro server web: questa cartella sarà la zona riservata per il nostro test.
  • Creiamo un DB Access chiamate persone.mdb, all’interno creiamo una tabella tblPersone con 2 campi (idPersona -> contatore e nomePersona -> testo).
  • Inseriamo dei nomi di persona a caso nella tanella tblPersone.
  • Ora creiamo una pagina asp (prova.asp) nella nostra nuova cartella Combo con all’interno il seguento codice:

    <%
    StrConnessione = “Provider=Microsoft.Jet.OLEDB.4.0; Data Source=” & _
                             Server.MapPath(“persone.mdb”)
    Set Conn = Server.CreateObject(“ADODB.Connection”)
    Conn.Open StrConnessione
    sqlPersone = “SELECT * FROM tblPersone”
    Set rsPersone = Conn.Execute(sqlPersone)
    do while not rsPersone.eof
            valori = valori &   rsPersone(“idPersona”)& “|”
            nome = nome &   rsPersone(“nomePersona”)& “|”
            rsPersone.movenext
    loop

    numeroCaratteriValori=len(valori)
    stringaValori=left(valori,numeroCaratteriValori-1)

    numeroCaratteriNome=len(nome)
    stringaNome=left(nome,numeroCaratteriNome-1)

    Response.write (“valori=” & stringaValori & “&nome=” & stringaNome)
    %>

  • Ora passiamo al Flash. Creiamo un nuovo documento, e sulla scena trasciniamo un componente Combo Box.

  • Successivamente possiamo anche cancellarlo (creeremo l’oggetto direttamente dal codice ActionScript).

  • Ora, sul primo fotogramma, inseriamo questo codice ActionScript:

    var miaRoot:MovieClip = this;
    var targetLoadVars:LoadVars = new LoadVars();
    targetLoadVars.onLoad = function(success:Boolean) {
    if (success) {
    trace(“caricato”);
    miaRoot.createClassObject(mx.controls.ComboBox, “my_cb”, 10);
    var stringaValori:String = this.valori;
    var stringaTesto:String = this.nome;
    var arrayValori:Array = stringaValori.split(“|”);
    var arrayTesto:Array = stringaTesto.split(“|”);
    for (var i:Number = 0; i<arrayValori.length; i++) {
    trace(arrayValori[i]);
    trace(arrayTesto[i]);
    var valore:Number = arrayValori[i];
    var testo:String = arrayTesto[i];
    my_cb.addItem({data:valore, label:testo});
    }
    var listener:Object = new Object();
    listener.change = function(obj:Object) {
    trace(“hai cliccato: “+obj.target.selectedItem.label);
    trace(“il valore è: “+obj.target.selectedItem.data);
    trace(“————————————————“);
    };
    my_cb.addEventListener(“change”, listener);
    } else {
    trace(“errore nel caricamento”);
    operazione.text = “errore nell’inserimento dei dati”;
    }
    };
    // metti il percorso tuo
    targetLoadVars.load(http://localhost/combo/prova.asp);

  • Salviamo il file e pubblichiamo il file .swf nella cartella Combo.

  • Testiamo anche il tutto. Se non abbiamo sbagliato nulla potremo vedere, nell’animazione, una combobox con all’interno i nomi caricati nella tabella tblPersone.

2 Risposte

Lascia un commento

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

%d blogger cliccano Mi Piace per questo: