Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1

    guida per asp e flash-mx

    Salve a tutti, ho letto la seguente guida:

    http://flash-mx.html.it/guide/lista_....asp?idguida=1

    mi funziona tutto, ma il metodo usato è troppo laborioso ed ancora non riesco ad interpretare e capire il codice sorgente usato nella guida per caricare le variabili da un foglio, mi chiedevo se qualcuno potesse consigliarmi un'altra guida più semplice, o anche un libro da acquistare mi va bene.

    In pratica dovrei prendere dei records da un database e metterli un mc, potete darmi qualche consiglio???, Visto che ne ho sentito parlare spesso (ma senza saperne nulla), pensate dovrei studiarmi anche la guida su xml o non centra nulla???

    Grazie, ciao.

  2. #2
    direi che la guida mi sembra semplice

    tuttavia bisogna capire come hai affrontato il problema e dove hai riscontrato i problemi se nel codice asp o nel codice flash

    io generalmente provo il mio flash partendo dal caricamento di un txt esterno, una volta provato il Flash, allora mi dedico alla pagina asp, facendoli restituire in output quello che inizialmente ho scritto nel txt

    es. di record scritto nel txt

    codice:
    &data1=01/12/2000&link1=http://www.html.it/old&info1=Com'era il sito&
    &data2=01/12/2005&link2=http://www.html.it&info2=Il sito com'è ora&

    nel flash

    dipende come vuoi rappresentare il i record
    ti consiglieri

    di creare un clip "myRec" contenente i 3 campi dinamici
    -data
    -link
    -info
    metterlo nella libreria e concatenarlo con "myRec"

    quindi creare un ciclo di caricamento della pagina di informazione dati e contemporaneamente acchiappare il clip dalla libreria, popolarlo, e posizionarlo sullo stage

    codice:
    datiesterni = new LoadVars()
    datiesterni.onLoad=function(success){
         if(success){
            _level0.createEmptyMovieClip("content_record",1)
            
            I=1
            while(this["data"+I] != undefined){
                _level0.content_record.attachMovie("myRec", "Rec"+I, I)
                // per comodità con "mc" sostituisco tutta la stringa
                mc=eval(_level0.content_record["Rec"+I])
                // posiziono verticalmente i record 
                mc._x=0
                mc._y=20*I-20
                // popolo i campi del record in flash
                mc.data.text=this["data"+I]
                mc.link.text=this["link"+I]
                mc.data.text=this["info"+I]
                // passo al successivo
                I++
           }
         }
    }
    // puoi ovviamente sostituire "tuapagina.asp" al posto del file txt
    datiesterni.load("tuofile.txt")

    Questo è il concetto

    poi aovviamente se hai 1000 record devi mascherare il content_record
    e creare una scroll_bar per il clip content_record

    + Semplice di così non so fartela

    Ciao

  3. #3
    thnx, rempox, voglio provare, il tuo metodo, e ti faccio sapere, il codice mi sembra abbastanza chiaro, ma penso che abbia provato qualcosa di simile in precedenza e senza esito tu flash-mx, cmq tentare non nuoce.

    Ah,

    // posiziono verticalmente i record
    mc._x=0
    mc._y=20*I-20

    penso non sia necessario, volevo assegnare ad ogni campo di testo dinamico un valore da trasferire dalla pagina.txt al mc che sta nel filmato.

    grazie, ciao.

  4. #4
    L'ultima domanda non l'ho capita

    l'altezza del record l'ho stimata di 20 pixel per un font generico tra Size 8 e 10
    Tuttavia se i campi all'interno di myRec hanno una altezza maggiore

    guarda quanto è alto il clip myRec e sostituisci la sua altezza H

    mc._y=H*I-H


  5. #5
    A dire il vero, avevo sperimentato questo, ma non mi funziona:

    nella pagina "dati.asp"
    stampiamo il contenuto:
    codice:
    nome=dario&cognome=marco&indirizzo=html.it
    nel .fla mettiamo
    codice:
    var caricadati=new LoadVars();
    caricadati.load("dati.asp");
    caricadati.onLoad= function(success){
    if(success){ //se il caricamento avviene con successo
    nometxt.text=caricadati.nome; //carica nella casella nometxt il contenuto di nome
    cognometxt.text=caricadati.cognome; //carica nella casella cognometxt il contenuto di cognome
    indirizzotxt.text=caricadati.indirizzo;
    }
    else{ //se il caricamento non avviene con successo
    trace("non ho caricato");
    }
    }
    questo è semplicissimo e l'ho capito, ma purtroppo non funziona.
    Girando per il forum tuttavia sono riuscito a capire che il filmato al momento del suo caricamento, non ha subito a disposizione le variabili e quindi non le stampa, il tutto si potrebbe risolvere con un SetInterval (nomeFunzione, tempo), ma io mi chiedo: se dovessi passare 1000 o più variabili posso impostare una funzione ogni variabile???

    Grazie, ciao.

  6. #6
    nometxt e gli altri non sono dentro l'oggetto caricadati e il caricamento (load) della pagina asp deve stare dopo la creazione della funzione onLoad

    prova a riscriverla così:
    &nome=dario&cognome=marco&indirizzo=html.it&


    e nel fla

    codice:
    caricadati=new LoadVars();
    caricadati.onLoad= function(success){
        if(success){ //se il caricamento avviene con successo
            _level0.nometxt.text=caricadati.nome; 
            _level0.cognometxt.text=caricadati.cognome; 
            _level0.indirizzotxt.text=caricadati.indirizzo;
        }else{ 
             trace("non ho caricato");
        }
    }
    caricadati.load("dati.asp");

  7. #7
    ok, ho provato a fare come hai detto te, ma ancora non ci siamo, allora dopo svariate prove sono riuscito ad arrivare quasi alla soluzione:

    se io mi creo un file di testo dati.txt con dentro il testo nome=dario

    lo script funziona

    ma se creo un file dati.asp, non funziona.

    lo script dati.asp riporta con il ciclo while do ... loop tutti i records presenti nel mio db e li stampa a video in questo modo nome1=n&nome2=nn ecc...
    cosi strutturato:
    ho provato ad eliminare l'intestazione <DOCTYPE ECC... e tutti i tag html lasciando solo lo script compreso tra <% e %> e quindi:

    <%
    mi collego al db
    creo il recordset
    seleziono tutti i campi del db
    finche non finisce il db stampami "recordset id nome"="recordset nome"&
    chiudi, pulisci
    %>
    per semplicità ho messo solo lo schema, cmq il codice è funzionante, volendo posso anche postarlo.

    il file .swf è il seguente:

    System.useCodepage = true; // pre gli accenti e altri caratteri
    dati = new LoadVars();
    dati.path = this; // sostituisce il _parent che gli oggetti nn contengono
    dati.onLoad = function(success) {
    if (success) {
    trace ("dati= "+this.nome); // utility per il debug
    this.path.nome.text = this.nome;
    } else {
    trace("dati non caricati");
    }
    };
    dati.load("dati.asp");


    .fla .swf .txt e .asp risiedono tutti nella stessa cartella.

    vi prego, aiutatemi a capire xchè con il file di testo funziona e con il file asp no.

    Grazie, ciao.

  8. #8
    se cambi le carte in tavola ...


    nome1=n&nome2=m è diverso da quello che hai chiesto prima

    quindi

    codice:
    caricadati=new LoadVars();
    caricadati.onLoad= function(success){
        if(success){ //se il caricamento avviene con successo
             I=1
             while(this["nome"+I] != undefined)
                _level0["nometxt"+I].text=this["nome"+I]          
                _level0["cognometxt"+I].text.text=this["cognome"+I]
             
        }else{ 
             trace("non ho caricato");
        }
    }
    caricadati.load("dati.asp");
    quanto sopra ammesso che tu abbia un elenco di più nominativi sullo stage da popolare con i dati provenienti da asp.

  9. #9
    thnx, ma non ho capito una cosa:

    codice:
    I=1
             while(this["nome"+I] != undefined)
                _level0["nometxt"+I].text=this["nome"+I]          
                _level0["cognometxt"+I].text.text=this["cognome"+I]
    questo a che serve???
    a riempire tutti i campi???

    Ciao.

  10. #10
    perdonami rempox, forse ho fatto un pò di confusione:

    io volevo solo uno script che mi metta in un record presente in un database in un campo di testo, senza popolare tutti i campi.

    Come ti ripeto prima lo script elencato nel post precedente funziona solo se creo un file di testo con su scritto

    nome=dario&cognome=marco

    o qualcosa che vi assomiglia, ma se creo un file .asp con su scritto:
    Response.Write "nome=dario&cognome=marco"
    lo script mi restituisce il tanto odiato Undefined, ho provato come mi hai suggerito te:

    codice:
    caricadati=new LoadVars();
    caricadati.onLoad= function(success){
        if(success){ //se il caricamento avviene con successo
             while(this.nome != undefined)
                _level0["nometxt"+I].text=this["nome"+I]          
                _level0["cognometxt"+I].text.text=this["cognome"+I]
             
        }else{ 
             trace("non ho caricato");
        }
    }
    caricadati.load("dati.asp");
    ho tolto il contatore, ma non mi funziona lo stesso.

    Grazie, ciao.

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.