ERLEDIGT
NEIN
NEIN
ANTWORTEN
7
7
ZUGRIFFE
467
467
EMPFEHLEN
-
17.10.05 11:42 #1
- 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:
Ich vermute, dass meine Variable-Zuordnung noch nicht richtig ist, oder?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; };
Gruss,
Cornel
-
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ß
.
-
17.10.05 16:38 #3
- 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
-
Hi,
auf die Schnelle sollte folgendes gehen:(wobei tf1 und tf2 die Instanznamen der Textfelder sind, und in der Textdatei vor "my_html_text2=" ein & muss).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");
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)
-
17.10.05 17:20 #5
- 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>&
-
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ß
.
-
18.10.05 10:28 #7
- 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
-
18.10.05 12:52 #8
- 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
-
STL Liste Inhalte ausgeben
Von Dolphon im Forum C/C++Antworten: 12Letzter Beitrag: 24.06.09, 15:21 -
Zwei variable Inhalte per Including einbinden
Von Don Philippe im Forum PHPAntworten: 5Letzter Beitrag: 26.07.06, 17:10 -
Zwei Textfelder glechzeitig füllen?
Von papi22 im Forum Javascript & AjaxAntworten: 6Letzter Beitrag: 12.01.06, 22:15 -
Inhalte aus XML-File einlesen
Von intercorni im Forum Flash PlattformAntworten: 2Letzter Beitrag: 27.09.05, 15:35 -
ein XML-file in mehrere dyn. Textfelder laden
Von KleeneNewbie im Forum Flash PlattformAntworten: 4Letzter Beitrag: 20.06.05, 22:06





Zitieren
Login





