AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Memo -> RichEdit mit FormatÜbergabe

Ein Thema von Tyler · begonnen am 6. Sep 2004 · letzter Beitrag vom 13. Sep 2004
 
Benutzerbild von Tyler
Tyler

Registriert seit: 19. Jun 2003
Ort: Berlin
241 Beiträge
 
#7

Re: Memo -> RichEdit mit FormatÜbergabe

  Alt 13. Sep 2004, 18:00
Danke Stevie!

Mich in den Artikel einzuarbeiten, dazu war ich dann doch zufaul... lieber ne Nacht drüber schlafen, und folgendes produziert

Jetzt muss ich nur noch die Farben und Formate einpflegen, und der Parser steht... in seinen Grundzügen

Delphi-Quellcode:
procedure Tf_main.Button1Click(Sender: TObject);
var
eingabe, format, temp : String;
begin
// abc[COLOR=BLUE]TEsdfdsXT[/COLOR]abc[COLOR=RED]TE3432332rsdfXT[/COLOR]
  repeat
    // IF-SCHLEIFE UM UNFORMARTIERTEN TEXT DIREKT AN DIE RICHEDIT-K WEITER ZU GEBEN
    if Copy(memo.Text, 1, 1) = '[then
    begin
      eingabe := Copy( memo.Text, Pos(']', memo.Text) + 1, Pos('/', memo.Text) - (Pos(']', memo.Text) + 2));
      temp := richVorschau.Text;
      richVorschau.lines.Add(eingabe);
      richVorschau.SelStart := length(temp);
      richVorschau.SelLength := length(eingabe);

      format := Copy(memo.Text, Pos('[', memo.Text) + 1, 1);
      if format = 'Cthen
      begin
        format := Copy(memo.Text, Pos('=', memo.Text) + 1, Pos(']', memo.Text) - 8);
        if format = 'BLUEthen richVorschau.SelAttributes.Color := clBlue;
        if format = 'RED'  then richVorschau.SelAttributes.Color := clRed;
      end;

      temp := memo.Text;
      Delete(temp, Pos('[', temp), Pos(']',temp) + Length(eingabe));
      Delete(temp, Pos('[', temp), Pos(']', temp));
      memo.Text := temp;
      i := i + Length(Eingabe);
      Caption := Format;
  end else
  // HIER WIRD DER UNFORMATIERTE TEXT BEHANDELT (IM BEISPIEL OBEN: ABC-TEIL VORNE UND MITTIG)
  begin
    eingabe := Copy(memo.Text, 0, Pos('[', memo.Text) - 1);
    richVorschau.Lines.Add(eingabe);
    temp := memo.Text;
    Delete(temp, 1, length(eingabe));
    memo.Text := temp;
  end;
  until Length(temp) < 1;
end;
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

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

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:29 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz