AGB  ·  Datenschutz  ·  Impressum  







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

SynEdit Highlighter

Ein Thema von Störtebeker · begonnen am 1. Aug 2007 · letzter Beitrag vom 2. Aug 2007
Antwort Antwort
Benutzerbild von Störtebeker
Störtebeker

Registriert seit: 9. Jul 2007
398 Beiträge
 
#1

SynEdit Highlighter

  Alt 1. Aug 2007, 23:43
Ich arbeite für meinen HTML-Editor mit SynEdit und einem HTMl Highlighter. Soweit so gut. Nun ist es aber so, dass SynEdit immer nur einen Highlighter anzeigt. Also entweder HTML oder JavaScript.

Zum einen, ist das richtig, dass SynEdit nur einen Highleiter zulässt?
Und zweitens, dachte ich, dem Benutzer die Möglichkeit zu geben, zwischen verschiedenen Highlightern zu wählen.

Dafür würde ich die verschiedenen Highlighter in eine ComboBox laden und je nach Auswahl verändert sich der Text "farblich"

Leider, habe ich keine Idee, wie ich das (wenn es überhaupt möglich ist) realisieren könnte. Wäre nett, wenn ihr mir da helfen könntet.

Danke im Voraus.

P.S.: TSynWebSyn habe ich schon probiert. Nur, falls einer von euch einen Tipp in diese Richtung geben wollte.
"And he piled upon the whale´s white hump - a sum of all the rage and hate felt by his whole race.
If his chest had been a cannon, he would have shot his heart upon it."
  Mit Zitat antworten Zitat
uwewo

Registriert seit: 14. Jul 2004
Ort: Karlsruhe
479 Beiträge
 
Delphi 2006 Professional
 
#2

Re: SynEdit Highlighter

  Alt 2. Aug 2007, 07:18
Hi,

so ganz verstehe ich Dein Problem nicht!
Du musst doch nur zur Laufzeit SynEdit einen neuen Highlighter zuweisen, und diese vorher in die ComboBox laden.

z.Bsp.

Delphi-Quellcode:
procedure TForm1.ComboBox1Change(Sender: TObject);
begin
   case ComboBox1.ItemIndex of
    0 : SynEdit.HighLighter :=
    1 : SynEdit.HighLighter :=
    ...
   end;
end;
Uwe
  Mit Zitat antworten Zitat
Benutzerbild von hincapie
hincapie

Registriert seit: 24. Mär 2005
200 Beiträge
 
Delphi 5 Professional
 
#3

Re: SynEdit Highlighter

  Alt 2. Aug 2007, 07:19
Du kannst den entsprechenden Highlighter doch auch dynamisch zuweisen.
Liste einfach alle gewünschten Highlighter in der ComboBox auf und bei der Auswahl wird der entsprechende dann zugewiesen, z. B. so:
Delphi-Quellcode:
ComboBox1Change(Sender: TObject)
begin
  if ComboBox1.Items.IndexOf('JavaScript') > -1
    then SynEdit1.Highlighter := SynJScriptSyn1;
  ...
end;
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#4

Re: SynEdit Highlighter

  Alt 2. Aug 2007, 09:43
Zitat von Störtebeker:
Zum einen, ist das richtig, dass SynEdit nur einen Highleiter zulässt?
Und zweitens, dachte ich, dem Benutzer die Möglichkeit zu geben, zwischen verschiedenen Highlightern zu wählen.
Zum ersten: Nein, ist falsch. SynEdit ist in der Lage, mehrere Highlighter zu verwenden. Stichwort hierbei ist TSynMultiSyn. Mit dem funktioniert das.

Zum zweiten:

Aufbau der Combobox (Items)
HTML
PHP
JavaScript


Delphi-Quellcode:
procedure TForm1.ComboBox1Change(Sender: TObject);
begin
  if (SynEdit1.Highlighter <> nil) then
    SynEdit1.Highlighter.Free;

  case Combobox1.ItemIndex of
    0: SynEdit1.Highlighter := TSynHTMLSyn.Create(SynEdit1);
    1: SynEdit1.Highlighter := TSynPHPSyn.Create(SynEdit1);
    2: SynEdit1.Highlighter := TSynJScriptSyn.Create(SynEdit1);
  end;
end;
Dazu die entsprechenden Uses:
Delphi-Quellcode:
SynEdit,
  {Highlighters}
  SynEditHighlighter, SynHighlighterHtml, SynHighlighterPHP,
  SynHighlighterJScript;
  Mit Zitat antworten Zitat
Antwort Antwort


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 20:08 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz