tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
7
ZUGRIFFE
467
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    intercorni intercorni ist offline Mitglied Gold
    Registriert seit
    Mar 2004
    Beiträge
    152
    Hallo,

    ich möchte den Inhalte eines TXT-Files (extern) mit verschiedenen Inhalten über zwei
    Textfelder ausgeben, aber dabei die Inhalte den beiden Textfeldern auch zuordnen können.

    In meinem TXT-File stehen zwei Variablen: "my_html_text" und "my_html_text2".
    Diesen beiden Variablen sind Inhalte zugeordnet, z.B. so:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    
    my_html_text=
    <p align="left">
    <textformat leftmargin="5" rightmargin="5">
    <font face="verdana, arial, _sans" size="10" color="#000000">
    <a href="asfunction:textlink,film.swf">
    Beschreibung1
    </a>
    </font>
    </p>
    my_html_text2=
    <p align="left">
    <textformat leftmargin="5" rightmargin="5">
    <font face="verdana, arial, _sans" size="10" color="#000000">
    Beschreibung2
    </font>
    </p>

    Nun möchte ich, dass Textfeld1 "mytxt" alles was zur Variable "my_html_text" zugeordent ist ausgibt und Textfeld2 "mytxt2" alles zur Variable "my_html_text2" ausgibt.
    Bei mir ist es mom so, dass trotz Vergabe zweier unterschiedlicher Varibalen im TXT-File trotzdem die Inhalte beider Variablen ausgegeben werden, obwohl ich das TXT-File so einlade:
    Code :
    1
    2
    3
    4
    5
    6
    7
    
    this.loadVariables("linkliste_web.txt");
    this.onData = function() {
        mytxt.htmlText = my_html_text.split("\r\n").join("").split("\n").join("");
        zeilen = mytxt.bottomScroll;
        gesamt = mytxt.bottomScroll+mytxt.maxscroll-1;
        delete my_html_text;
    };
    Ich vermute, dass meine Variable-Zuordnung noch nicht richtig ist, oder?

    Gruss,

    Cornel
     

  2. #2
    Registriert seit
    Mar 2004
    Ort
    Basisrealität
    Beiträge
    12.118
    Blog-Einträge
    7
    Hi,

    in diesem Fall sollte das LoadVars-Objekt (oder noch besser: das XML-Objekt) Dein Freund sein. Schau Dich einfach mal im Forum (insbesondere in den FAQ) nach diesen Begriffen um.

    Gruß
    .
     

  3. #3
    intercorni intercorni ist offline Mitglied Gold
    Registriert seit
    Mar 2004
    Beiträge
    152
    Hallo,

    danke für die Antwort.
    Ich habe da schonmal einen Lösungsansatz, komme aber nicht richtig weiter:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    
    lv = new LoadVars();
    lv.onLoad = function() {
            //mytxt.htmlText = my_html_text.split("rn").join("").split("n").join("");
     
            trace(this.my_html_text);
     
            trace(this.my_html_text2);
            zeilen = mytxt.bottomScroll;
            gesamt = mytxt.bottomScroll+mytxt.maxscroll-1;
            delete my_html_text;
    };
     
    lv.load("linkliste_web.txt");

    Wie bekomme ich nun die Variable "my_html_text2" auf ein zweites Textfeld "mytxt2"?

    Gruss,

    Cornel
     

  4. #4
    Registriert seit
    Mar 2004
    Ort
    Basisrealität
    Beiträge
    12.118
    Blog-Einträge
    7
    Hi,

    auf die Schnelle sollte folgendes gehen:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    
    var lv = new LoadVars();
    lv.onLoad = function() {
        var t1 =  this.my_html_text.split("\n").join();
        var t2 =  this.my_html_text2.split("\n").join();
        t1 =  t1.split("\r").join();
        t2 =  t2.split("\r").join();
        tf1.htmlText = t1;
        tf2.htmlText = t2;
    }
     
    lv.load("textdatei.txt");
    (wobei tf1 und tf2 die Instanznamen der Textfelder sind, und in der Textdatei vor "my_html_text2=" ein & muss).

    Eleganter wäre es wohl, den html-Text in einer XML-Datei als CDATA (Character-Data) zu speichern. Dann musst Du nur noch die html-Entitäten in lesbare Zeichen umwandeln (dazu habe ich hier schon mehrmals eine Funktion namens "parseET" gepostet - such mal danach ).

    Gruß

    P.S.: Wohl noch einfacher: Das ganze in einer XML-Datei speichern (ohne die Variablen, dafür die beiden Textblöcke in zwei "Hauptknoten"), in ein XML-Objekt mit ignoreWhite = true einzulesen und den Inhalt der beiden Hauptknoten mit der toString-Methode den Textfeldern zu weisen.
    .
    Geändert von Datic (17.10.05 um 16:51 Uhr)
     

  5. #5
    intercorni intercorni ist offline Mitglied Gold
    Registriert seit
    Mar 2004
    Beiträge
    152
    Hallo,

    ja vielen Dank, so bekomme ich die Inhalte der beiden Variablen in die ScrollPaine.
    Allerdings wird vor dem Inhalt in der ScrollPaine Punkte und Anführungszeichen gesetzt, die im TXT-File gar nicht vorhanden sind.
    Wie kann man die wegbekommen?

    Mein TXT-File schaut so aus:

    HTML-Code:
    &my_html_text=
    <p align="left">
    <textformat leftmargin="5" rightmargin="5">
    <font face="verdana, arial, _sans" size="10" color="#000000">
    <a href="asfunction:textlink,film.swf">
    Beschreibung1
    </a>
    </font>
    </p>
    &my_html_text2=
    <p align="left">
    <textformat leftmargin="5" rightmargin="5">
    <font face="verdana, arial, _sans" size="10" color="#000000">
    Beschreibung2
    </font>
    </p>&
     

  6. #6
    Registriert seit
    Mar 2004
    Ort
    Basisrealität
    Beiträge
    12.118
    Blog-Einträge
    7
    Ups - stimmt! Nun, das LoadVars-Objekt ist eigentlich nur zum Einlesen von URL-codierten Dateien bestimmt.

    Ich würde wie gesagt ein XML-Objekt verwenden und die html-Inhalte als Character-Data speichern:
    Code :
    1
    2
    3
    4
    5
    6
    
    <node>
        <![CDATA[ -- Hier der Text ]]>
    </node>
    <node>
        <![CDATA[ -- Hier der andere Text ]]>
    </node>

    Gruß
    .
     

  7. #7
    intercorni intercorni ist offline Mitglied Gold
    Registriert seit
    Mar 2004
    Beiträge
    152
    Hm, nagut, dann komme ich wohl nicht umhin, mit XML zu programmieren.

    Hier mein erstes kurzes XML-Beispiel:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    
    <?xml version='1.0' encoding='utf-8'?>
    <inhalte>
    <linkliste>
        <link linkname="movie1.swf" linkbeschreibung="Movie 1"/>
            <link linkname="movie2.swf" linkbeschreibung="Movie 2"/>
    </linkliste>
    <beschreibung>
        <link beschreibung="Das ist die Beschreibung 1"/>
            <link beschreibung="Das ist die Beschreibung 2"/>
    </beschreibung>
    </inhalte>

    Dann habe ich XML in Flash eingeladen und die Inhalte auf die beiden
    ScrollPaines "mytxt1" und "mytxt2" ausgegeben:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    
    stop();
    meinXML = new XML();
    meinXML.ignoreWhite = true;
    meinXML.load("einfaches_textfeld.xml");
    meinXML.onLoad = function(success) {
            meinXML_beschreibung = []; // Erstellt ein neues Array namens meinXML_namen,
            meinXML_link = []; // Erstellt ein neues Array namens meinXML_link,
            meinXML_linkname = []; // Erstellt ein neues Array namens meinXML_linkname,
            if (success) { //wenn das laden der File erfolgreich war
            for (var i=0; i<meinXML.childNodes[0].childNodes.length; i++) {//for schleife-> für
                            //alle elemente die firstChild (childNode[0]) besitzt...
            meinXML_beschreibung[i] = meinXML.firstChild.childNodes[1].childNodes[i].attributes.beschreibung; //namen Attribut
                            //des aktuellen Elements auslesen und ins XMLdaten_namen
                            //array schreiben
            meinXML_link[i] = meinXML.firstChild.childNodes[0].childNodes[i].attributes.linkname;
            meinXML_linkname[i] = meinXML.firstChild.childNodes[0].childNodes[i].attributes.linkbeschreibung;
     
                    }
            
            //Aktionen folgen:
            _root.mytxt1.htmlText = meinXML_beschreibung[0];
            _root.mytxt2.htmlText = meinXML_linkbeschreibung[0];
            }
    }
     
    //Textfeldformatierung 1
    mytxt1._width = 260;
    mytxt1._height = 120;
    mytxt1._x=11;
    mytxt1._y=262;
    //Ausrichtung der Scrollbar 1 am Textfeld 1
    mybar1.setSize(mytxt1._height);
    mybar1._x = mytxt1._x+mytxt1._width;
     
    //Textfeldformatierung 2
    mytxt2._width = 260;
    mytxt2._height = 120;
    mytxt2._x=271;
    mytxt2._y=138;
    //Ausrichtung der Scrollbar 2 am Textfeld 2
    mybar2.setSize(mytxt2._height);
    mybar2._x = mytxt2._x+mytxt._width;

    Wie bekomme ich es aber hin, dass alle im XML-File vorhandenen Linkbeschreibungen "linkbeschreibung" in der ScrollPaine aufgelistet und dann auch noch mit einem Link "linkname" versehen werden, sodass ich die im XML-File enthaltenen MCs z.B. in einen Container einladen kann?

    Viele Grüße,

    Cornel
     

  8. #8
    intercorni intercorni ist offline Mitglied Gold
    Registriert seit
    Mar 2004
    Beiträge
    152
    So ich habe mal probiert, die Anzahl der Linkbeschreibungen auszulesen, jedoch klappts leider so nicht:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    
    stop();
    meinXML = new XML();
    meinXML.ignoreWhite = true;
    meinXML.load("einfaches_textfeld.xml");
    meinXML.onLoad = function(success) {
            meinXML_beschreibung = []; // Erstellt ein neues Array namens meinXML_namen,
            meinXML_link = []; // Erstellt ein neues Array namens meinXML_link,
            meinXML_linkname = []; // Erstellt ein neues Array namens meinXML_linkname,
            anz = []; //neues array
            if (success) { //wenn das laden der File erfolgreich war
            //anzahl linkbeschreibung auslesen--------------------------------
                    for (var i=0; i<anzahl; i++) {
                    anz[i] = XMLdaten.firstChild.firstChild.childNodes[i].attributes.linkbeschreibung;//auslesen
                    }
            //--------------------------------------------------------------------------------
            for (var i=0; i<meinXML.childNodes[0].childNodes.length; i++) {//for schleife-> für
                            //alle elemente die firstChild (childNode[0]) besitzt...
            meinXML_beschreibung[i] = meinXML.firstChild.childNodes[1].childNodes[i].attributes.beschreibung; //namen Attribut
                            //des aktuellen Elements auslesen und ins XMLdaten_namen
                            //array schreiben
            meinXML_link[i] = meinXML.firstChild.childNodes[0].childNodes[i].attributes.linkname;
            meinXML_linkname[i] = meinXML.firstChild.childNodes[0].childNodes[i].attributes.linkbeschreibung;
     
                    }
            
            //Aktionen folgen:
            _root.mytxt1.htmlText = meinXML_beschreibung[0];
            _root.mytxt2.htmlText = meinXML_linkname[0];
            }
    }
     
    //Textfeldformatierung 1
    mytxt1._width = 260;
    mytxt1._height = 120;
    mytxt1._x=11;
    mytxt1._y=262;
    //Ausrichtung der Scrollbar 1 am Textfeld 1
    mybar1.setSize(mytxt1._height);
    mybar1._x = mytxt1._x+mytxt1._width;
     
    //Textfeldformatierung 2
    mytxt2._width = 260;
    mytxt2._height = 120;
    mytxt2._x=271;
    mytxt2._y=138;
    //Ausrichtung der Scrollbar 2 am Textfeld 2
    mybar2.setSize(mytxt2._height);
    mybar2._x = mytxt2._x+mytxt._width;
     
    trace(anz[1]);
     

Ähnliche Themen

  1. STL Liste Inhalte ausgeben
    Von Dolphon im Forum C/C++
    Antworten: 12
    Letzter Beitrag: 24.06.09, 15:21
  2. Zwei variable Inhalte per Including einbinden
    Von Don Philippe im Forum PHP
    Antworten: 5
    Letzter Beitrag: 26.07.06, 17:10
  3. Zwei Textfelder glechzeitig füllen?
    Von papi22 im Forum Javascript & Ajax
    Antworten: 6
    Letzter Beitrag: 12.01.06, 22:15
  4. Inhalte aus XML-File einlesen
    Von intercorni im Forum Flash Plattform
    Antworten: 2
    Letzter Beitrag: 27.09.05, 15:35
  5. ein XML-file in mehrere dyn. Textfelder laden
    Von KleeneNewbie im Forum Flash Plattform
    Antworten: 4
    Letzter Beitrag: 20.06.05, 22:06