AGB  ·  Datenschutz  ·  Impressum  







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

Highlighter

Ein Thema von mb1996 · begonnen am 27. Okt 2012 · letzter Beitrag vom 28. Okt 2012
Antwort Antwort
mb1996

Registriert seit: 30. Dez 2009
243 Beiträge
 
Delphi 2009 Professional
 
#1

AW: Highlighter

  Alt 28. Okt 2012, 15:45
Also versuch mal bitte den Quellcode ins OnKeyDown-Ereignis vom Richedit zu packen. Dann siehst du was ich meine. Bei OnChange kommt sogar ein stackoverflow^^

Das so zu machen gefällt mir mehr als einen Highlighter für Synedit zu schreiben. Wie muss der Quellcode denn richtig aussehen? So dass die Farben in Realtime geändert werden^^ und nicht via Button,...
  Mit Zitat antworten Zitat
Popov
(Gast)

n/a Beiträge
 
#2

AW: Highlighter

  Alt 28. Okt 2012, 16:31
Nun, wenn du dich auf mein Beispiel beziehst, dann habe ich ja auch gesagt, dass es nur eine Idee ist, mehr aber auch nicht. Aber auch zeilenweises parsen sollte nicht das Problem sein, sogar einfacher und schneller. Aber von alleine geht es auch nicht. Vielleicht ist in deinem Fall Synedit besser.
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.993 Beiträge
 
Delphi 12 Athens
 
#3

AW: Highlighter

  Alt 28. Okt 2012, 16:35
SynEdit ist auf jeden Fall deutlich schneller. Insbesondere bei der gezeigten Implementierung, da dort nach jedem Schlüsselwort der komplette Text durchsucht wird.

Gerade so ein Highlighter muss extrem schnell sein. Da geht ohne einen zumindest parserähnlichen Ansatz nicht viel.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Popov
(Gast)

n/a Beiträge
 
#4

AW: Highlighter

  Alt 28. Okt 2012, 22:54
Das klappt auch mit RichEdit einigermaßen, nur muß man das leicht optimieren. So läßt man den Parser nur in der aktuellen Zeile laufen. So muß RichEdit nicht den kompletten Text durchsuchen, und eine Zeile geht schnell. Wobei ich zugeben muß, dass ab einer bestimmten Länge Zeichen in der Zeile, sagen wir mal als Hausnummer 500, könnte die Zeile schon gering flackern. Ich hab mal etwas gemacht wo RichEdit auf jede Taste reagierte. Da fing es nach paar hundert Zeichen zu blinzeln. Auch wenn das in der Praxis kaum vorkommen sollte.

Aber trotzdem, wozu das Rad neu erfinden? Sehr viele Editoren nutzen Synedit.
  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 00:12 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