Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 09-09-2004, 12:08   #1 (permalink)
Neuer User
 
Registriert seit: Oct 2003
Ort: Cologne
Beiträge: 20
Warum klappts nicht?

Hallöle!
Ich verstehe nicht wieso das script zur Umwandlung der Sonderzeichen hier nicht funktioniert? In allen anderen Scripten gehts nur hier nicht?

Code:
// Array erstellung für die Linksammlung
linkArr = [];
textArr = [];
_root.mySammlung1 = "";
_root.mySammlung2 = "";

// Erstellung des XML Arrays
myXML = new XML();
myXML.ignoreWhite = true;
myXML.onLoad = function(success) {

// Wenn die XML Datei erfolgreich geladen werden konnte fahre fort
   
    if(success) {
        myCount     = myXML.firstChild.firstChild.childNodes.length; // Zählen der Links
        myCount     -= 5; // "nicht links" abziehen
        //mySubtext     = myXML.firstChild.childNodes[0].childNodes[myCount+1].childNodes[0];
        //myText         = myXML.firstChild.childNodes[0].childNodes[myCount+3].childNodes[0];

       
            // Umwandeln der Sonderzeichen

var toSplit = myXML.firstChild.childNodes[0].childNodes[myCount+3].childNodes[0];
trace(toSplit);
        toSplit = toSplit.split("<br />").join("");
        toSplit = toSplit.split("&uuml;").join("ü");
        toSplit = toSplit.split("&Uuml;").join("Ü");
        toSplit = toSplit.split("&ouml;").join("ö");
        toSplit = toSplit.split("&Ouml;").join("Ö");
        toSplit = toSplit.split("&auml;").join("ä");
        toSplit = toSplit.split("&Auml;").join("Ä");
        toSplit = toSplit.split("&szlig;").join("ß");
       
        myErgebniss = toSplit;
       
    trace(myErgebniss);

// Schleife durchlaufen und alle Ergebnisse ins Array legen
        for(i=0; i<myCount; i++) {
            linkArr.push(myXML.firstChild.childNodes[0].childNodes[i].childNodes[0].childNodes[0]);
            textArr.push(myXML.firstChild.childNodes[0].childNodes[i].childNodes[2].childNodes[0]);
        }
        tracer();
    }
}

// XML Datei laden
myXML.load("xmlfile.xml");

// Alle Links aufsteigend ausgeben
tracer =function() {
    for(i=0; i<myCount; i++) {
                //trace(textArr[i] +"\r"+ linkArr[i]);
                //trace(_root.textArr[i]);
                _root.mySammlung1 += (textArr[i] +"\r");
                _root.mySammlung2 += (linkArr[i] +"\r");
                //trace(_root.linkArr[i]);
    }
    //trace(_root.mySammlung1);
    //trace(_root.mySammlung2);
}
Oben beim trace(toSplit); ist die Var richtig gefüllt, aber schon nach dem ersten split.join isse undefined. verstehe ich nicht =(
xxx-max ist offline   Mit Zitat antworten
Alt 09-09-2004, 12:41   #2 (permalink)
Neuer User
 
Registriert seit: Jul 2004
Beiträge: 66
erstmal nur ne kurze frage,
hast du schon mal über die nutzung des url-encodet-formats für strings nach gedacht?

wenn nicht sieh mal unter:
escape();
unescape();

mfg gdav
gdav ist offline   Mit Zitat antworten
Alt 09-09-2004, 13:05   #3 (permalink)
Neuer User
 
Registriert seit: Oct 2003
Ort: Cologne
Beiträge: 20
Habe mir es gerade mal angeschaut, aber ich kann da für mich keinen Nutzen erkennen da ich die Sonderzeichen und Umlaute schon html formatiert bekomme. Ich kann leider auch nichts an der XML Datei verändern weil ich die von jemand drittem geliefert bekomme. Also UTF-8 ist leider nicht drin =(
xxx-max ist offline   Mit Zitat antworten
Alt 09-09-2004, 13:14   #4 (permalink)
Banned
 
Benutzerbild von projecktx
 
Registriert seit: Sep 2003
Beiträge: 2.071
kopier mal bitte das was dir das erste trace(toSplit) ausgibt.

gruss Sascha
projecktx ist offline   Mit Zitat antworten
Alt 09-09-2004, 13:20   #5 (permalink)
Neuer User
 
Registriert seit: Oct 2003
Ort: Cologne
Beiträge: 20
Das erste trace(toSplit); gibt mir das aus.

Zitat:
Hopper haftet nicht f&amp;uuml;r die Inhalte aus externen Links.
Das trace(myErgebniss) gibt undefined.

Geändert von xxx-max (09-09-2004 um 13:22 Uhr)
xxx-max ist offline   Mit Zitat antworten
Alt 09-09-2004, 13:32   #6 (permalink)
Banned
 
Benutzerbild von projecktx
 
Registriert seit: Sep 2003
Beiträge: 2.071
das ist das was du hast:
Zitat:
Hopper haftet nicht f&amp;uuml;r die Inhalte aus externen Links.
das ist das was du haben willst:
Zitat:
Hopper haftet nicht für die Inhalte aus externen Links.
also süsstest du für ein "ü" schonmal nach "&amp;uuml;" spliten und nicht nach "&uuml"... aber das ist erstmal weniger wichtig und erklärt nicht das undefined...

mnimm bitte mal das erste split raus also die zeile :

Zitat:
toSplit = toSplit.split("<br />").join("");
kannst es ja mal so schreiben dann wirds nich beachtet:
Zitat:
//toSplit = toSplit.split("<br />").join("");
und mach nach der darauffplgenden zeile nochmal ein

trace(toSplit) und schaum mal was dabei rauskommt

gruss sascha
projecktx ist offline   Mit Zitat antworten
Alt 09-09-2004, 13:36   #7 (permalink)
Neuer User
 
Registriert seit: Oct 2003
Ort: Cologne
Beiträge: 20
Hi Sascha,

Habe es wie folgt umgestellt.

Code:
var toSplit = myXML.firstChild.childNodes[0].childNodes[myCount+1].childNodes[0];
//trace(toSplit);
		//toSplit = toSplit.split("<br />").join("");
		toSplit = toSplit.split("&uuml;").join("ü");
trace(toSplit);		
		toSplit = toSplit.split("&Uuml;").join("Ü");
		toSplit = toSplit.split("&ouml;").join("ö");
		toSplit = toSplit.split("&Ouml;").join("Ö");
		toSplit = toSplit.split("&auml;").join("ä");
		toSplit = toSplit.split("&Auml;").join("Ä");
		toSplit = toSplit.split("&szlig;").join("ß");
		
		myErgebniss = toSplit;
		
	trace(myErgebniss);
Kommt aber auch undefined bei raus
xxx-max ist offline   Mit Zitat antworten
Alt 09-09-2004, 13:44   #8 (permalink)
Banned
 
Benutzerbild von projecktx
 
Registriert seit: Sep 2003
Beiträge: 2.071
ok nur um eine sache mal aus zu schlissen ... benenn die variable toSplit mal um, nicht das das wieder etwas ist wo sich flash dran aufhängt..... du könntest auch in dieser ersten zeile da jetzt mal das "&uuml;" einfach mal durch ein "t" ersetzen nur um zu sehen obs an dem & oder dem ; liegt aber wenn du sagst das es auch schon bei dem split nach :
Zitat:
toSplit = toSplit.split("<br />").join("");
undefined wäre fällt mir als letztes nurnoch ein mal das leerzeichen vor und nach dem gleichheitszeichen weg zu lassen.

gruss Sascha
projecktx ist offline   Mit Zitat antworten
Alt 09-09-2004, 14:17   #9 (permalink)
Neuer User
 
Registriert seit: Oct 2003
Ort: Cologne
Beiträge: 20
nein, hat auch leider auch nix gebracht! Das gleiche splitting script funktioniert ja auch schon in 15 anderen scripten. Nur hier nicht, leider!
Um das Script mal zu testen, hier der link zum richtigen XML File

http://test.hopper.de/xml/etcetera/d...ttung/service/
xxx-max ist offline   Mit Zitat antworten
Alt 09-09-2004, 15:00   #10 (permalink)
Neuer User
 
Registriert seit: Jul 2001
Ort: Stuttgart
Beiträge: 58
Hi du, was für ein iso-encoding benutzt du in der xml?

evtl beseitigt es dien ganzes problem, wenn du das ISO-8859-15 benutzt.

Code:
<?xml version = "1.0" encoding="ISO-8859-15" standalone = "yes"?>
Luchs ist offline   Mit Zitat antworten
Alt 09-09-2004, 15:04   #11 (permalink)
Neuer User
 
Registriert seit: Oct 2003
Ort: Cologne
Beiträge: 20
Hi Luchs! Gut gemeint, aber ich kann wie oben schon geschrieben leider keinen Einfluss auf die XML Dateien nehmen. Es ist der normale westeuropäische Zeichensatz iso-8859-1

gruss Max

Geändert von xxx-max (09-09-2004 um 15:05 Uhr)
xxx-max ist offline   Mit Zitat antworten
Alt 09-09-2004, 16:46   #12 (permalink)
Neuer User
 
Registriert seit: Jul 2001
Ort: Stuttgart
Beiträge: 58
hmm, ich seh da keinen fehler. exportierst du das auch in der selben version wie die vorherigen 15 male?
Luchs ist offline   Mit Zitat antworten
Alt 09-09-2004, 18:10   #13 (permalink)
Banned
 
Benutzerbild von projecktx
 
Registriert seit: Sep 2003
Beiträge: 2.071
mir war doch gleich so .....

das scheint ein flash BUG zu sein ich hab einfach toSplit=""+toSplit eingefügt um den string um zu formen .... ist mir letztens schon bei gradientfill aufgefallen nu funzt es :P

ahja und hab die sachen beim split noch geändert wie oben schon beschrieben &amp;uuml; für ü anstatt &uuml;

ActionScript:
  1. // Array erstellung für die Linksammlung
  2. linkArr = [];
  3. textArr = [];
  4. _root.mySammlung1 = "";
  5. _root.mySammlung2 = "";
  6.  
  7. // Erstellung des XML Arrays
  8. myXML = new XML();
  9. myXML.ignoreWhite = true;
  10. myXML.onLoad = function(success) {
  11.  
  12. // Wenn die XML Datei erfolgreich geladen werden konnte fahre fort
  13.    
  14.     if(success) {
  15.         myCount=myXML.firstChild.firstChild.childNodes.length; // Zählen der Links
  16.         myCount-=5; // "nicht links" abziehen
  17.         //mySubtext     = myXML.firstChild.childNodes[0].childNodes[myCount+1].childNodes[0];
  18.         //myText         = myXML.firstChild.childNodes[0].childNodes[myCount+3].childNodes[0];
  19.  
  20.        
  21.             // Umwandeln der Sonderzeichen
  22.  
  23. var toSplit = myXML.firstChild.childNodes[0].childNodes[myCount+3].childNodes[0];
  24. toSplit = ""+ toSplit; // das ist wohl ein üblicher Flash BUG bei mir in version MX 2004 PRO 7.1 auch vorhanden das strings in variablen wie >>var wert="wert"<< nicht wie >>var wert = wert<< behandelt werden
  25. trace(toSplit)
  26.         toSplit = toSplit.split("<br />").join("");
  27.         toSplit = toSplit.split("&amp;uuml;").join("ü");
  28.         toSplit = toSplit.split("&amp;Uuml;").join("Ü");
  29.         toSplit = toSplit.split("&amp;ouml;").join("ö");
  30.         toSplit = toSplit.split("&amp;Ouml;").join("Ö");
  31.         toSplit = toSplit.split("&amp;auml;").join("ä");
  32.         toSplit = toSplit.split("&amp;Auml;").join("Ä");
  33.         toSplit = toSplit.split("&amp;szlig;").join("ß");
  34.        ;
  35.        
  36.         myErgebniss = toSplit;
  37.        
  38.     trace("----und hier umgewandelt--->"+myErgebniss);
  39.  
  40. // Schleife durchlaufen und alle Ergebnisse ins Array legen
  41.         for(i=0; i<myCount; i++) {
  42.             linkArr.push(myXML.firstChild.childNodes[0].childNodes[i].childNodes[0].childNodes[0]);
  43.             textArr.push(myXML.firstChild.childNodes[0].childNodes[i].childNodes[2].childNodes[0]);
  44.         }
  45.         tracer();
  46.     }
  47. }
  48.  
  49. // XML Datei laden
  50. myXML.load("xmlfile.xml");
  51.  
  52.  
  53. // Alle Links aufsteigend ausgeben
  54. tracer =function() {
  55.     for(i=0; i<myCount; i++) {
  56.                 //trace(textArr[i] +"\r"+ linkArr[i]);
  57.                 //trace(_root.textArr[i]);
  58.                 _root.mySammlung1 += (textArr[i] +"\r");
  59.                 _root.mySammlung2 += (linkArr[i] +"\r");
  60.                 //trace(_root.linkArr[i]);
  61.     }
  62.     //trace(_root.mySammlung1);
  63.     //trace(_root.mySammlung2);
  64. }


ist eigentlich ein echt blöder fehler aber liegt meines erachtens nach echt an flash

Gruss Sascha


ps: nur mal so interessehalber welche flash version benutzt du?

Geändert von projecktx (09-09-2004 um 18:15 Uhr)
projecktx ist offline   Mit Zitat antworten
Alt 10-09-2004, 08:25   #14 (permalink)
Neuer User
 
Registriert seit: Oct 2003
Ort: Cologne
Beiträge: 20
Hey! Thx fürs Frickeln! Ich habe mich auch schon gewundert, weil von meiner Syntax her war es in Ordnung. Ich benutze hier das alte Flash MX. Also scheint dieser Bug auch schon in einer früheren Version vorhanden zu sein
Dickes Dankeschön in meine Heimatstadt aus der Rheinebene!

P.S.: Gruss an die Pontstrasse
xxx-max ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 11:24 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele