![]() |
AW: QuoteText parsen?
Die Syntax ist aber soweit ich verstanden habe vorgegeben (BBCode).
|
AW: QuoteText parsen?
Zitat:
|
AW: QuoteText parsen?
BBCParser, das klingt für mich nach "BBCode-Parser".
|
AW: QuoteText parsen?
Liste der Anhänge anzeigen (Anzahl: 2)
Zitat:
Deshalb hab ich's so gemacht.
Delphi-Quellcode:
FBBCParser := TBBCParser.Create;
FBBCParser.List.AddFont('_Delphi', 'Courier New', 10, clNavy, [fsBold]); FBBCParser.List.AddPicture('ATHENA', 'C:\Delphi2007\Abel2007\Sonstige\ATHENA.BMP'); FSL := TStringList.Create; FSL.Add('Test'); FSL.Add('[_Delphi]inherited[/_Delphi]'); FSL.Add('f[fsSub]d[/fsSub] = 10 N/mm[fsSup]2[/fsSup]'); FSL.Add('Picture: [ATHENA]0,5[/ATHENA] very nice '); // 0,5 = Zoom (StrechDraw); FSL.Add('Hier geht''''s weiter'); |
AW: QuoteText parsen?
:thumb:
|
AW: QuoteText parsen?
Zitat:
Ich finde die Stelle schon mal nicht. Bitte erleuchte mich ... ... denn dann müssten wir den TE auch darauf hinweisen, dass
Code:
nicht so wirklich BBCode ist.
[clRed]in rot[/clRed]
|
AW: QuoteText parsen?
In
![]() |
AW: QuoteText parsen?
Seh' ich auch so. Siehe z.B. auch Wikipedia: BBCode ist nicht offiziell reglementiert. Anyway. Für mich ist das auf alle Fälle ein "richtiger" BBCode Parser. :wink: Die BBCodes werden vorher beim Parser angemeldet und können dann (kumulativ) verwendet werden. Ich hab' zum Beispiel eine an Delphi TFont class angelehnte Syntax verwendet AddFontStyle('fsBold', [fsBold]), die kann aber auch völlig andere sein AddFontStyle('b', [fsBold]). Und, man kann z.B. die Konstanten cFirst und cLast in < bzw. > ändern. Dann hätte man <b>Text</b>.
|
AW: QuoteText parsen?
Liste der Anhänge anzeigen (Anzahl: 1)
Wollte jetzt noch Blocksatz einbauen. Mach ich da was falsch? Der Unterschied zu rechtsbündig ist ziemlich groß?
Delphi-Quellcode:
procedure TBBCItem.JustifiedTextOut(Canvas: TCanvas; MMX, MMY, ppMM: double); // Blocksatz;
var TextMMWidth, DeltaMMX: double; I: integer; SL: TStringList; begin SL := TStringList.Create; try TextMMWidth := Canvas.TextWidth(Text) / ppMM; SplitString(Text, SL); if SL.Count > 1 then DeltaMMX := Max((GetTextAlign.MMWidth - TextMMWidth) / (SL.Count - 1), 0) else DeltaMMX := 0; for I := 0 to SL.Count - 1 do begin Canvas.TextOut(Round(MMX * ppMM), Round(MMY * ppMM), SL[I]); MMX := MMX + Canvas.TextWidth(SL[I]) / ppMM + DeltaMMX; end; finally SL.Free; end; end; |
AW: QuoteText parsen?
Auf die Schnelle gefunden, allerdings nur überflogen (Screenshots sehen aber gut aus):
![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:46 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