| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Neuer User Registriert seit: Mar 2004
Beiträge: 38
|
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"); 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:
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 |
| | |
| | #2 (permalink) |
| Neuer User 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 |
| | |
| | #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. |
| | |
![]() |
| Lesezeichen |
| Stichworte |
| flash, gettextformat, htmltext, p align, zeilenvorschub |
| Themen-Optionen | |
| Ansicht | |
| |
Ä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 |