mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Mi 24.04.2024 19:33 Benutzername: Passwort: Auto-Login

Thema: WYSIWYG Editor in Flash vom 03.03.2008


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Multimedia -> WYSIWYG Editor in Flash
Seite: 1, 2  Weiter
Autor Nachricht
Clay
Threadersteller

Dabei seit: 04.12.2006
Ort: München
Alter: 37
Geschlecht: Männlich
Verfasst Mo 03.03.2008 17:07
Titel

WYSIWYG Editor in Flash

Antworten mit Zitat Zum Seitenanfang

Hallo zusammen,

ich soll einen reduzierten WYSIWYG Editor in Flash basteln. Schrifart, Bold, Italic, Kursiv, Hyperlink, mehr nicht.
String wird dann rausgeschickt und von aspx + csharp weiterverbaeitet.

So, jetzt fehlt mir leider der Ansatzpunkt.

Wie kann ich auslesen welcher Textteil markiert wurde? Ist es die richtige rangehensweiße einen string zu spliten um z.b.: aus meinstring, meinsubstring zu extrahieren, diesen dann in <b>meinsubstring</b> umzuwandeln und am ende wieder in meinstring zu dingsen?

hat flex vllt so etwas intigriert?

Vielen Dank schonmal *zwinker* - ihr seid die besten *Thumbs up!*


Zuletzt bearbeitet von Clay am Mo 03.03.2008 17:07, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
therapiekind

Dabei seit: 14.03.2006
Ort: In deinem Kopf
Alter: -
Geschlecht: -
Verfasst Di 04.03.2008 00:22
Titel

Antworten mit Zitat Zum Seitenanfang

Hilfe bemühen: Für AS 2.0 "Selection" und "replaceSel". AS 3.0 hat, soweit ich weiß, identische Methoden in die TextField-Klasse verlegt.

Also angenommen, man geht es so an, wie du es dir vorstellst (ich würd's auch so machen).

Ich habe mal irgendwo 'nen superguten Word-ähnlichen Editor für Flash gesehen, für lau gab's den auch noch. Frag mich nur nicht, wo. * Keine Ahnung... *


Zuletzt bearbeitet von therapiekind am Di 04.03.2008 00:23, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Anzeige
Anzeige
phihochzwei
Moderator

Dabei seit: 08.06.2006
Ort: Mülheim an der Ruhr
Alter: 46
Geschlecht: Männlich
Verfasst Di 04.03.2008 07:26
Titel

Antworten mit Zitat Zum Seitenanfang

@Mein Lieblingsbayer: Schau im Adobe Exchange mal nach "Rich Text" Komponenten. Mit denen kriegst Du den Text schonmal bearbeitet. Und speichern würd ich das einfach als HTML-Text. Geht am unkompliziertesten. Ich hab auf die Weise für die alte Firma 3 WYSIWYG´s gemacht und hat gut geklappt Lächel
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Clay
Threadersteller

Dabei seit: 04.12.2006
Ort: München
Alter: 37
Geschlecht: Männlich
Verfasst Di 04.03.2008 11:03
Titel

Antworten mit Zitat Zum Seitenanfang

Vielen Dank für die schnellen Antworten ihr beiden!
Stimmt, an Adobe Exchange hab ich garnicht gedacht. is auch sehr brauchbar was sich da finden lässt.
Zum selbermachen ist replaceSel n guter tip Lächel

Merci eich,

LG, Clay
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Clay
Threadersteller

Dabei seit: 04.12.2006
Ort: München
Alter: 37
Geschlecht: Männlich
Verfasst Mi 05.03.2008 16:31
Titel

Antworten mit Zitat Zum Seitenanfang

Hallo zusammen,

habe es jetzt geschafft die Grundlegenden Buttons zu erstellen und die auch zum Funktionieren zu bringen.

Bei druck auf den Button "b" wird jetzt der "Beispieltext" zu "<b>Beispieltext</b>"

Sodala.

Jetzt habe ich das Problem das ich auch Tags verschachteln kann: "<b>Beispieltext</b>" kann auch zu "<b>Bei<b>spiel</b>text</b>" gemacht werden.

Das ist natürlich, wie soll ich sagen, unvorteilhaft *zwinker*
Allerdings fehlt mir leider komplett der Ansatz wie man das problem lösen kann -___-

AS:
Code:

this.createTextField("wysiwygTextField", this.getNextHighestDepth(), 10, 40, 300, 200);
wysiwygTextField.multiline = true;
wysiwygTextField.wordWrap = true;
wysiwygTextField.border = true;
wysiwygTextField.type = "input";
wysiwygTextField.text = "";

var myformat:TextFormat = new TextFormat();
myformat.font = "Arial";
wysiwygTextField.setTextFormat(myformat);

var Text:String = wysiwygTextField.text;
var SelectionArray:Array = new Array();
var TextWithBoldTags:Array = new Array();
TextWithBoldTags[0] = "Test"

wysiwygTextField.onSetFocus = function(changedField:TextField) {
   CheckSelection = setInterval(getSelection, 500);
};
wysiwygTextField.onKillFocus = function(changedField:TextField) {
   clearInterval(CheckSelection);
};
wysiwygTextField.onChanged = function(textfield_txt:TextField) {
   UpdateText();
};
var ButtonLoader:MovieClipLoader = new MovieClipLoader();

//Button BOLD
var ButtonBold:MovieClip = this.createEmptyMovieClip("ButtonBold", 0);
var ButtonBoldIMG:MovieClip = ButtonBold.createEmptyMovieClip("ButtonBoldIMG", 100);
ButtonLoader.loadClip("buttons/buttonBold.swf", ButtonBoldIMG);
ButtonBoldIMG._x = 10
ButtonBoldIMG._y = 5
ButtonBold.onPress = function():Void  {
   setTag("<b>","</b>")
   }
//Button ITALIC
var ButtonItalic:MovieClip = this.createEmptyMovieClip("ButtonItalic", 10);
var ButtonItalicIMG:MovieClip = ButtonItalic.createEmptyMovieClip("ButtonItalicIMG", 110);
ButtonLoader.loadClip("buttons/buttonItalic.swf", ButtonItalicIMG);
ButtonItalicIMG._x = 50
ButtonItalicIMG._y = 5
ButtonItalic.onPress = function():Void  {
   setTag("<i>","</i>")
   }
//Button UNDERLINE
var ButtonUnderline:MovieClip = this.createEmptyMovieClip("ButtonUnderline", 20);
var ButtonUnderlineIMG:MovieClip = ButtonUnderline.createEmptyMovieClip("ButtonUnderlineIMG", 120);
ButtonLoader.loadClip("buttons/buttonUnderline.swf", ButtonUnderlineIMG);
ButtonUnderlineIMG._x = 90
ButtonUnderlineIMG._y = 5
ButtonUnderline.onPress = function():Void  {
   setTag("<u>","</u>")
   }
   
function getSelection():Void {
   var selectionStart:Number = Selection.getBeginIndex();
   var selectionEnd:Number = Selection.getEndIndex();
   var selectionText:String = wysiwygTextField.text.substring(selectionStart, selectionEnd);
   var popSelectionArray:Object = SelectionArray.pop();
   var popSelectionArray:Object = SelectionArray.pop();
   var popSelectionArray:Object = SelectionArray.pop();
   var pushSelectionArray:Number = SelectionArray.push(selectionStart);
   var pushSelectionArray:Number = SelectionArray.push(selectionEnd);
   var pushSelectionArray:Number = SelectionArray.push(selectionText);
}

function setTag(a, b) {
   var tagOpen:String = a;
   var tagClose:String = b;
   var selectionStart = SelectionArray[0];
   var selectionEnd = SelectionArray[1];
   var selectionText = SelectionArray[2].toString();
   var selectionToBold:String = tagOpen+wysiwygTextField.text.substring(selectionStart, selectionEnd)+tagClose;
   var isStringAllreadyBoldStart = selectionText.slice(0, 3);
   var selectionTextTagClosePosition = selectionText.length-3;
   var isStringAllreadyBoldEnd = selectionText.slice(selectionTextTagClosePosition, selectionText.length);

   if (SelectionArray[0] == undefined || SelectionArray[2] == "") {
      //alert here
   } else if (isStringAllreadyBoldStart == tagOpen || isStringAllreadyBoldEnd == tagClose) {
      var selectionToUnBold:String = wysiwygTextField.text.substring(selectionStart+3, selectionEnd-4);
      wysiwygTextField.replaceText(selectionStart, selectionEnd, selectionToUnBold);
      UpdateText();
   } else {
      var selectionToBold:String = tagOpen+wysiwygTextField.text.substring(selectionStart, selectionEnd)+tagClose;
      wysiwygTextField.replaceText(selectionStart, selectionEnd, selectionToBold);
      UpdateText();
   }
}

function UpdateText(selectionToBold) {
   var Text:String = wysiwygTextField.text;
   wysiwygTextHTMLField.text = Text;
}


Hat irgendwer eine Idee?

Vielen Dank für die Hilfe Lächel

LG, Clay


Zuletzt bearbeitet von Clay am Mi 05.03.2008 16:33, insgesamt 2-mal bearbeitet
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
phihochzwei
Moderator

Dabei seit: 08.06.2006
Ort: Mülheim an der Ruhr
Alter: 46
Geschlecht: Männlich
Verfasst Mi 05.03.2008 18:29
Titel

Antworten mit Zitat Zum Seitenanfang

Was genau is dein Problem eigentlich jetzt grad Grins ??
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Clay
Threadersteller

Dabei seit: 04.12.2006
Ort: München
Alter: 37
Geschlecht: Männlich
Verfasst Mi 05.03.2008 18:55
Titel

Antworten mit Zitat Zum Seitenanfang

FlamingArt hat geschrieben:
Was genau is dein Problem eigentlich jetzt grad Grins ??


Naja ich möchte das ich wenn ich ein "<b>text</b>" hab, das ich nicht das: "<b>t<b>ex<b/>t</b>" daraus machen kann.
Also ich möchte kein bold tag in einem bereitsbestehenden bold tag erlauben.


Zuletzt bearbeitet von Clay am Mi 05.03.2008 18:59, insgesamt 2-mal bearbeitet
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
l'Audiophile

Dabei seit: 16.09.2004
Ort: Berlin
Alter: 43
Geschlecht: Männlich
Verfasst Mi 05.03.2008 19:01
Titel

Antworten mit Zitat Zum Seitenanfang

Frag’ die Tags mit ’ner Stringfunktion ab. * Keine Ahnung... *

Zuletzt bearbeitet von l'Audiophile am Mi 05.03.2008 19:01, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
 
Ähnliche Themen WYSIWYG Editor
WYSIWYG Editor
einzeiliger WYSIWYG-Editor
MediaWiki 1.6 + WYSIWYG-Editor
Online Wysiwyg-Editor
WYSIWYG-Editor für absolute Anfänger
Neues Thema eröffnen   Neue Antwort erstellen Seite: 1, 2  Weiter
MGi Foren-Übersicht -> Multimedia


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.