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

    Creare da script campi testo che leggano da un file esterno

    Salve a tutti, io ho un file .txt dove ho i vari dati
    testo1=pippo
    &testo2=ciccio
    &testo3=bla bla bla
    ...
    &testoN=...

    io vorrei ricreare tramite script N campi di testo dinamici che contengano i dati presi dal file .txt
    Ho provato a fare una cosa del genere
    myformat = new TextFormat();
    myformat.color = 0xff0000;
    myformat.bullet = false;
    myformat.underline = false;
    myformat.type = "dynamic";
    myformat.variable = "pino";
    myformat.font = "_sans";
    pino = "ciao";
    for (i=1; i<3; i++) {
    x = (100*i);
    _root.createTextField("mytext"+i, 1, x , 100, 300, 100);
    _root["mytext"+i].multiline = true;
    _root["mytext"+i].wordWrap = true;
    _root["mytext"+i].border = false;
    _root["mytext"+i].text = pino;
    _root["mytext"+i].setTextFormat(myformat);
    }
    dove in teoria mi doveva creare 2 campi di testo dinamico con scritto "ciao" dentro, invece ne crea uno solo e lo posiziona con x=200, ovvero la x creata nell'ultimo ciclo del for.
    Qualcuno può aiutarmi?

  2. #2
    _root.createTextField("mytext"+i, i, x , 100, 300, 100);

    se li crei entrambi lasciando 1 nel parametro profondità il secondo andrà a sostituire il primo
    "...non è detto che sia tardi se non guardi che ora è..."

  3. #3

  4. #4
    ho messo il tutto in un MovieClip
    onClipEvent (load) {
    _level0.TestoProfilo.loadVariables("profilo.txt", 0);

    for (i=1; i<3; i++) {
    x = (100*i);
    _root.TestoProfilo["myformat"+i] = new TextFormat();
    _root.TestoProfilo["myformat"+i].color = 0xff0000;
    _root.TestoProfilo["myformat"+i].bullet = false;
    _root.TestoProfilo["myformat"+i].underline = false;
    _root.TestoProfilo["myformat"+i].type = "dynamic";
    _root.TestoProfilo["myformat"+i].variable = "testo"+i;
    _root.TestoProfilo["myformat"+i].font = "_sans";
    _root.TestoProfilo["myformat"+i].html = true;
    _root.TestoProfilo.createTextField("testo"+i, i, x, 0, 300, 100);
    _root.TestoProfilo["testo"+i].multiline = true;
    _root.TestoProfilo["testo"+i].wordWrap = true;
    _root.TestoProfilo["testo"+i].border = false;
    _root.TestoProfilo["testo"+i].text = _root.TestoProfilo["testo"+i];
    _root.TestoProfilo["testo"+i].setTextFormat(_root.TestoProfilo["myformat"+i]);
    }
    }
    solo che non mi legge il testo, cioè nei campi di testo mi compare "_level0.TestoProfilo.testo1" e "_level0.TestoProfilo.testo2"

  5. #5
    prova così

    onClipEvent (load) {
    _level0.TestoProfilo.loadVariables("profilo.txt");
    }

    onClipEvent(data){
    for (i=1; i<3; i++) {
    x = (100*i);
    _root.TestoProfilo["myformat"+i] = new TextFormat();
    _root.TestoProfilo["myformat"+i].color = 0xff0000;
    _root.TestoProfilo["myformat"+i].bullet = false;
    _root.TestoProfilo["myformat"+i].underline = false;
    _root.TestoProfilo["myformat"+i].type = "dynamic";
    _root.TestoProfilo["myformat"+i].variable = "testo"+i;
    _root.TestoProfilo["myformat"+i].font = "_sans";
    _root.TestoProfilo["myformat"+i].html = true;
    _root.TestoProfilo.createTextField("testo"+i, i, x, 0, 300, 100);
    _root.TestoProfilo["testo"+i].multiline = true;
    _root.TestoProfilo["testo"+i].wordWrap = true;
    _root.TestoProfilo["testo"+i].border = false;
    _root.TestoProfilo["testo"+i].text = _root.TestoProfilo["testo"+i];
    _root.TestoProfilo["testo"+i].setTextFormat(_root.TestoProfilo["myformat"+i]);
    }
    }
    "...non è detto che sia tardi se non guardi che ora è..."

  6. #6

  7. #7
    prova a mettere questo nella clip TestoProfilo

    onClipEvent (load) {
    loadVariables("profilo.txt",this);
    }

    onClipEvent(data){
    for (i=1; i<3; i++) {
    x = (100*i);
    this["myformat"+i] = new TextFormat();
    this["myformat"+i].color = 0xff0000;
    this["myformat"+i].bullet = false;
    this["myformat"+i].underline = false;
    this["myformat"+i].type = "dynamic";
    this["myformat"+i].font = "_sans";
    this["myformat"+i].html = true;
    this.createTextField("testo"+i, i, x, 0, 300, 100);
    this["testo"+i].multiline = true;
    this["testo"+i].wordWrap = true;
    this["testo"+i].border = false;
    this["testo"+i].text = _root.TestoProfilo["testo"+i];
    this["testo"+i].setTextFormat(this["myformat"+i]);
    }
    }
    "...non è detto che sia tardi se non guardi che ora è..."

  8. #8

  9. #9
    secondo me stai facendo un po di confusione:

    1) il setFormat si usa proprio per non avere 1000 formati differenti

    2) molti settaggi per default sono FALSE, quindi puoi ometterli

    onClipEvent (load) {
    this.loadVariables("profilo.txt");
    //dovrebbe caricarti testo1=....
    //dovrebbe caricarti testoN=....
    // nel TXT inserisci anche &MAX=numero variabili
    }
    onClipEvent(data){
    // Formato Testo per tutti i campi
    myformat = new TextFormat();
    myformat.font = "_sans"
    myformat.size = 11
    myformat.bold = true

    for (i=1; i<MAX; i++) {
    nomecampo = "testo"+i
    myY=40*i

    this.createTextField(nomecampo, i, 10, myY, 100, 40);
    this[nomecampo].multiline = true;
    this[nomecampo].wordWrap = true;
    this[nomecampo].text = eval(nomecampo)
    //dovrebbe leggere il contenuto della variabile nomeCampo
    //considerandolo a sua volta come una variabile, quindi
    //il contenuto di Testo1, testo2,....

    this[nomecampo].setTextFormat(myformat);
    }
    }
    Fammi sapere. Ciao

  10. #10
    niente, ho provato pure a fare un documento vuoto con un mc vuoto e metterci il tuo script, salvato ovviamente nella directory dove c'è il file profilo.txt, ma non va

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.