![]() |
Re: BBCode-Parser für TRichEdit
Ohne genaue Angaben kann dir keiner helfen. Wir können im Moment nur raten...
// edit Zitat:
|
Re: BBCode-Parser für TRichEdit
Zitat:
Ich habe die units Runtergeladen und wie in der Demo eingebunden, dazu habe ich mir ganz einfach die Main.pas angeschaut da ich das Project nicht öffnen kann (warum auch immer) So wie du bereits in den Anderen Posts entnehmen kannst habe ich die Unit nun geändert und bekomme nicht mehr den fehler wie o.g. So, jetzt bekomme ich aber andere Fehler und zwar: [delphi][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[/delphi |
Re: BBCode-Parser für TRichEdit
klingt alles sehr merkwürdig. Ich schaue mir das heute nachmittag an, vorher werde ich da leider nicht zu kommen.
|
Re: BBCode-Parser für TRichEdit
Liste der Anhänge anzeigen (Anzahl: 1)
Ja, hier hat einer vergessen zu sagen, daß hierfür die JEDI installiert sein muß, da vieles auf das TJvRichEdit ausgelegt wurde und nicht nur, wie erwähnt auf das TRichEdit.
Außerdem hat derjenige wohl auch nicht die Codeteile für die Abwärtskompatibilität getestet. Hier mal die Codes ohne TJvRichEdit. Einige BBCodes, z.B. für die speziellen Unterstreichungen und die Hintergrundfarbe konnte ich jetzt nicht übersetzen und hab sie weggelassen. Zitat:
|
Re: BBCode-Parser für TRichEdit
Ne, ich erhalte die gleichen Fehler.
Wenn ich das so ändere, parst es bei mir BBCodes. Ob die Verschachtelung etc. noch funktioniert, kann ich dir aber nicht sagen. :stupid: Original-Code:
Delphi-Quellcode:
Die Änderungen:
Result := TKlasse(inherited Items[Index]); // LibBB.pas, Zeile 82
Result := inherited TCustomBBCode(First()); // LibBB.pas, Zeile 97 Result := inherited TCustomBBCode(Last()); // LibBB.pas, Zeile 112
Delphi-Quellcode:
Woher "TKlasse" kommt, weiß ich auch nicht.
Result := TCustomBBCode(inherited Items[Index]); // LibBB.pas, Zeile 82
Result := TCustomBBCode(First()); // LibBB.pas, Zeile 97 Result := TCustomBBCode(Last()); // LibBB.pas, Zeile 112 Edit: Ok meinen Beitrag dürft ihr nun ignorieren. Der von himi ist sicher inhaltlich besser. *g* |
Re: BBCode-Parser für TRichEdit
Wenn ich mich noch recht erinner, dann hab ich es so geändert. :-D
Delphi-Quellcode:
Result := TCustomBBCode(inherited Items[Index]); // LibBB.pas, Zeile 82
Result := TCustomBBCode(inherited First()); // LibBB.pas, Zeile 97 Result := TCustomBBCode(inherited Last()); // LibBB.pas, Zeile 112 |
Re: BBCode-Parser für TRichEdit
Mit JEDI wird doch JCL / JVCL gemeint oder ? Wenn ja das ist eigentlich das erste was ich installieren für delphi :)
Der geändete code geht auch von dir mir fehlt nur das [ b ] [ /b ] :/ Edit: Mein fehler, habe es vergessen dabei zu schreiben! Danke @all functioniert wunderbar!
Delphi-Quellcode:
BBCodes := GenerateStdBBCodes([bbBold,bbFontColor]);
|
Re: BBCode-Parser für TRichEdit
Ja, JEDI = JCL (JEDI Code Library) und JVCL (JEDI Visual Code Library)
Zitat:
@Codewalker: Wenn du keinen alten Compiler hast, dann ändere einfach mal die Deklarationen von {$IFDEF VER120} z.B. in {$IFDEF VER120xx}, solange du es testest, dann werden auch in deinem neuen Delphi die alten Codes zumindestens auf die "Rechtschreibung" getestet. Und vielleicht ist es nicht schlecht, wenn in die Units sowas wie {$DEFINE UseJEDI} {$IFDEF UseJEDI} aufgenommen wird, womit der Code dann für das TJyRichEdit und etwas abgespeckt auch für's TRichEdit liefe. PS: {$IFDEF VER120] ist nicht so praktisch, dann in Delphi 2010 (VER140) würden keine Generics verwendet. :zwinker: Nimm besser dieses,
Delphi-Quellcode:
oder verwende wenigstens die Versions-.INC, welche den JEDI doch irgendwo beiliegt, da gibt es sowas wie {$IFDEF Delphi2009Up} oder wie es da heißt.
{$IF CompilerVersion >= 12} {$IFEND}
|
Re: BBCode-Parser für TRichEdit
Kleiner verbesserungs vorschlag:
Delphi-Quellcode:
statt dieses:
RichEdit.SelAttributes.Color := StringToColor('cl'+Data.DynamicValue);
Delphi-Quellcode:
da sonst [ COLOR=clred ] statt [ COLOR=red ] steht, und nicht viele foren was damit anfangen können. Aber ansonsten ein fettes Lob.
RichEdit.SelAttributes.Color := StringToColor(Data.DynamicValue);
{Hier meckert er wenn ich nur [ COLOR=red ] schreibe} |
Re: BBCode-Parser für TRichEdit
Wenn, dann bitte diese Funktion verwenden.
Delphi-Quellcode:
Denn sonst kann man nur noch die Farbkonstanten und keine direkten Farbwerte (aka [color=$0000FF] ) mehr verwenden.
function MyStringToColor(const S: string): TColor;
var LColor: LongInt; begin if IdentToColor('cl' + S, LColor) or IdentToColor(S, LColor) then Result := TColor(LColor) else Result := TColor(StrToInt(S)); end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:47 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 by Thomas Breitkreuz