Zurück   Flashforum > Flash > ActionScript > ActionScript 2

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 08-01-2010, 15:50   #1 (permalink)
Neuer User
 
Registriert seit: Mar 2004
Beiträge: 38
Question P ALIGN und GetTextFormat - null statt true

Ich bin an einer Sache seit Tagen am Verzweifeln und wundere mich, wieso da anscheinend noch niemand außer mir darüber gestolpert ist (zumindest konnte ich nichts dazu "ergooglen").

Folgendes simples Script verdeutlicht das Problem (zum Testen einfach ein HTML-Textfeld namens "txt" auf der Bühne ablegen):
Code:
var dummy:String; //Wird zum Zwischenspeichern des HTML-Strings zum späteren Vergleich genutzt

//Simplen HTML-Text in BOLD zuweisen
txt.htmlText = "<B>ABC</B>";

//Format-Eigenschaft BOLD für alle drei Zeichen und den Gesamttext ausgeben:
trace("Versuch 1: " + txt.htmlText);
trace(txt.text + ": " + txt.getTextFormat().bold);

//HTML-Text zwischenspeichern
dummy = txt.htmlText;

//Den gleichen Text "per Hand" zuweisen:
txt.htmlText = "<TEXTFORMAT LEADING=\"2\"><P ALIGN=\"LEFT\"><FONT FACE=\"Arial\" SIZE=\"14\" COLOR=\"#000000\" LETTERSPACING=\"0\" KERNING=\"0\"><B>ABC</B></FONT></P>";

//...und wieder austracen lassen
trace("\rVersuch 2: " + txt.htmlText);
trace(txt.text + ": " + txt.getTextFormat().bold);

//Sind für Flash beide Texte identisch?
if (dummy == txt.htmlText)
	trace("\r--> Texte sind identisch");
else
	trace("\r--> Texte sind NICHT identisch");
Folgende Ausgabe erhält man:
Code:
Versuch 1: <TEXTFORMAT LEADING="2"><P ALIGN="LEFT"><FONT FACE="Arial" SIZE="14" COLOR="#000000" LETTERSPACING="0" KERNING="0"><B>ABC</B></FONT></P></TEXTFORMAT>
ABC: true

Versuch 2: <TEXTFORMAT LEADING="2"><P ALIGN="LEFT"><FONT FACE="Arial" SIZE="14" COLOR="#000000" LETTERSPACING="0" KERNING="0"><B>ABC</B></FONT></P></TEXTFORMAT>
ABC
: null

--> Texte sind identisch

Wo liegt das Problem? Ganz einfach:
  1. Flash interpretiert bei Variante 2 den abschließenden P-Tag als Zeilenvorschub (siehe Tracer ABC:\rnull), bei Variante 1 jedoch nicht (Tracer: ABC: true)
  2. Durch den Zeilenvorschub ergibt die Prüfung auf bold im gesamten Textfeld null - und nicht true (was eigentlich richtig wäre)
  3. Beide Texte sind jedoch völlig identisch?! Wie man auch an der Ausgabe des Textes im HTML-Format sehen kann...



Beide Texte sind also eigentlich identisch. Flash interpretiert aber bei Variante 2 einen Zeilenvorschub hinzu und dadurch ergibt die Prüfung auf Textformate in dieser Variante immer null - egal ob es um bold, italic oder underline geht.


Kennt jemand das Problem? Gibt es dafür eine Lösung?
Ich bin am Ende meiner Weisheit angelangt
Agamemnon74 ist offline   Mit Zitat antworten
Alt 08-01-2010, 16:32   #2 (permalink)
Neuer User
 
Benutzerbild von the binary
 
Registriert seit: Jul 2001
Ort: Berlin | Friedrichshain
Beiträge: 3.561
ich glaube, dass hat nichts mit dem zeilenvorschub etc zu tun..
wenn du das textfeld mit 'arial' und 14pt erstellst, ergibt
dein check beide male true..
__________________
8bm | join ff@BOINC
formpackage.org | audiohunter.de | problematica.de | 8ball-media.de/blog | taikonauten.cn
the binary ist offline   Mit Zitat antworten
Alt 11-01-2010, 08:58   #3 (permalink)
Neuer User
 
Registriert seit: Mar 2004
Beiträge: 38
Bitte was? Ich verstehe nicht wirklich, was Du damit meinst.

Das Problem ist, dass der Test auf bold, underline oder italic an der Stelle des Zeilenvorschubs immer false ergibt. Da der Rest (ABC) jedoch true ergibt, ergibt der Gesamttest null.

Das heißt im Klartext der Bug tritt nur auf, wenn der Text auch tatsächlich mit bold, underline oder italic formatiert ist.
Agamemnon74 ist offline   Mit Zitat antworten
Alt 12-01-2010, 08:22   #4 (permalink)
Neuer User
 
Registriert seit: Mar 2004
Beiträge: 38
Mmmh. Ich scheine wirklich der einzige zu sein, der mit diesem Bug so seine Probleme hat... verflixt
Agamemnon74 ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Stichworte
flash, gettextformat, htmltext, p align, zeilenvorschub

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


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Align & CSS wangman HTML und CSS 8 10-01-2010 17:18
fla: true. swf: false. exe: true... Zett Flash 8 5 20-04-2007 12:09
getTextFormat Realtimefreak ActionScript 1 8 16-10-2003 21:50
getTextFormat flash bier Flash MX 1 23-09-2003 14:34


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:05 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele