AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte BBCode-Parser für TRichEdit
Thema durchsuchen
Ansicht
Themen-Optionen

BBCode-Parser für TRichEdit

Ein Thema von Codewalker · begonnen am 3. Jan 2009 · letzter Beitrag vom 21. Apr 2010
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Codewalker
Codewalker
Registriert seit: 18. Nov 2005
Hallo zusammen.

Ich möchte hier gerne eine kleine Unit/Bibliothek/Klassemsammlung vorstellen, die im Rahmen eines Projektes entstanden ist. Hintergrund war, dass für ein Tool ein vernünftiges Logbuch mit Formatierung implementiert werden sollte. Wer sich schonmal mit TRichEdit und Formatierungen rumgeschlagen hat, wird wissen wie nervtötend das sein kann. Bei einem Glas Wein und der Idee, den einfach BBCode dafür nutzen zu wollen ist dann mein BBCodeToRichEdit entstanden.

Das ganze Funktioniert so:
Für jeden BBCode entwickelt man eine kleine Klasse. Aufwand sind ~ 20 Zeilen, von denen aber ~15 per Copy&Paste übernommen werden können. Eigene BBCodes sind so in wenigen Minuten umgesetzt. Ich habe die Klassen mittlerweile ein gutes Stück weiterentwickelt und so viele Formatierungen wie ich gefunden habe implementiert. Da das alles bisher auf der JVCL aufsetzt (die meisten Formatierungen bringt das normale TRichEdit nicht direkt mit), muss außerdem die JVCL installiert sein. Für alle, die keine JVCL nutzen möchten sei auf Beitrag #14 von himitus verwiesen.

Letzte Änderungen:
  • Generics werden nur noch verwendet, wenn Delphi 2009 zur Verfügung steht, ansonsten wird eine TObjectList verwendet
  • Verschachtelte Tags und Tags mit gleichen Anfängen funktionieren jetzt auch korrekt
  • Deutlich mehr Tags werden unterstützt
  • Beispielprogramm erweitert
  • Einfache Tags ohne CloseTag werden jetzt auch unterstützt

Was noch fehlt:
  • Andere Arten von Aufzählungen
  • Gliederungsebenen bei Aufzählungen
  • Einbinden von Grafiken
  • Tabellen
  • neue, vollständige Dokumentation

Bin wie immer auf Meinungen und Kommentare gespannt.

Grüße
Angehängte Dateien
Dateityp: zip libbb_109.zip (11,1 KB, 87x aufgerufen)
Dateityp: exe demo_175.exe (707,0 KB, 79x aufgerufen)
 
Benutzerbild von arne99
arne99

 
Turbo Delphi für Win32
 
#2
  Alt 16. Jan 2009, 09:52
Finde ich super, ich möchte es nutzen um eine Abwandlung von BB vorzunehmen, denn es gibt schon andere Standards für best. Seiten die ich dann implementiere, ich zeige wenns fertig ist. Danke!
Arne
  Mit Zitat antworten Zitat
Benutzerbild von Codewalker
Codewalker

 
Delphi XE2 Professional
 
#3
  Alt 11. Jun 2009, 14:32
Habe die Bibliothek nochmal komplett überarbeitet und ein paar alte Einschränkungen entfernt. Außerdem sind jetzt etliche mehr Formatierungen möglich und in BBCodes implementiert. Würde mich über Feedback sehr freuen
Thomas
  Mit Zitat antworten Zitat
danu1104

 
Delphi 2006 Personal
 
#4
  Alt 21. Apr 2010, 07:26
Ich bekomme immer diesen Error: "[DCC Fehler] LibBB.pas(17): F1026 Datei nicht gefunden: 'Contrns.dcu'" mit Delphi 2007

Kann mir da jemand helfen woran das liegt?
Daniel
  Mit Zitat antworten Zitat
Benutzerbild von s.h.a.r.k
s.h.a.r.k
 
#5
  Alt 21. Apr 2010, 07:32
Probier mal die Unit Contnrs in ein nacktes Projekt einzubinden und zu compilieren. Wenn es nicht klappen sollte, dann hat D2007 scheinbar diese Unit nicht
  Mit Zitat antworten Zitat
danu1104

 
Delphi 2006 Personal
 
#6
  Alt 21. Apr 2010, 07:37
Delphi sagt aber das die unit bereits in rtl vorhanden ist.

Edit:

Ok mit der unit war wohl ein schreibfehler vom Autor:

Ich bekomme aber jetzt andere Fehler:

Delphi-Quellcode:

[DCC Fehler] LibBB.pas(82): E2003 Undefinierter Bezeichner: 'TKlasse'
[DCC Fehler] LibBB.pas(97): E2003 Undefinierter Bezeichner: 'TCustomBBCode'
[DCC Fehler] LibBB.pas(112): E2003 Undefinierter Bezeichner: 'TCustomBBCode'
[DCC Fehler] Unit1.pas(8): F2063 Verwendete Unit 'LibBB.pas' kann nicht compiliert werden
Daniel
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

 
Delphi 12 Athens
 
#7
  Alt 21. Apr 2010, 07:41
Contrns wird in D2010 auch nicht physisch gefunden, wobei sie bei Delphi 7 und 2006 ebenfalls nicht existiert.

Kommentiere die Unit einfach mal aus und schau was (Funktionen, Konstanten und So.) nun nicht gefunden werden.
  Mit Zitat antworten Zitat
danu1104

 
Delphi 2006 Personal
 
#8
  Alt 21. Apr 2010, 07:43
TObjectList wird dann nicht gefunden

Delphi-Quellcode:
[DCC Fehler] LibBB.pas(55): E2003 Undefinierter Bezeichner: 'TObjectList'
[DCC Fehler] LibBB.pas(55): E2021 Klassentyp erwartet
Daniel
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

 
Delphi 12 Athens
 
#9
  Alt 21. Apr 2010, 07:48
Joar, das Copy&Paste Contrns wurde hier natürlich wirklich nicht gefunden.

Contrns
Contnrs

Ist aber auch ein seltendemlischer und unaussprächlicher Name.
Ich weiß nichmal ob man den mit ein bissl Groß-/Kleinschreibung aussprechbarer machen könnte,
so wie z.B. bei
Sysutils > SysUtils
Designintf > DesignIntf

Ich denk mir mal, das soll womöglich die mißlungenste Abkürzung für Containers darstellen.
  Mit Zitat antworten Zitat
danu1104

 
Delphi 2006 Personal
 
#10
  Alt 21. Apr 2010, 07:53
Zitat von himitsu:
Joar, das Copy&Paste Contrns wurde natürlich wirklich nicht gefunden.

Contrns
Contnrs
Naja ich habe mir ja nur die Libs runtergeladen und dachte es funktioniert sofort ^^
Aber auch wenn ich es richtig hinschreibe kommen andere weitere fehler :confused:

bin ich evtl zu unfähig um units einzubinden ^^
Daniel
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 07:54 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