Delphi-PRAXiS
Seite 3 von 4     123 4      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   QuoteText parsen? (https://www.delphipraxis.net/182623-quotetext-parsen.html)

DeddyH 11. Nov 2014 10:30

AW: QuoteText parsen?
 
Die Syntax ist aber soweit ich verstanden habe vorgegeben (BBCode).

Sir Rufo 11. Nov 2014 10:38

AW: QuoteText parsen?
 
Zitat:

Zitat von DeddyH (Beitrag 1279352)
Die Syntax ist aber soweit ich verstanden habe vorgegeben (BBCode).

Aus welchen Aussagen des TE liest du das heraus?

DeddyH 11. Nov 2014 10:54

AW: QuoteText parsen?
 
BBCParser, das klingt für mich nach "BBCode-Parser".

Bjoerk 11. Nov 2014 10:56

AW: QuoteText parsen?
 
Liste der Anhänge anzeigen (Anzahl: 2)
Zitat:

Zitat von Sir Rufo (Beitrag 1279351)
Zitat:

Zitat von Bjoerk (Beitrag 1279329)
[Picture]c:\...\.jpg[/Picture]

Das solltest du aber so nicht machen, logischer (und einfacher zu integrieren) wäre das
Code:
[font="Arial"]blabla[/font]
text [image="c:\...\foo.jpg"] text

Richtig. Und DeddyH ebenso.

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');

Jens01 11. Nov 2014 11:44

AW: QuoteText parsen?
 
:thumb:

Sir Rufo 11. Nov 2014 14:16

AW: QuoteText parsen?
 
Zitat:

Zitat von DeddyH (Beitrag 1279359)
BBCParser, das klingt für mich nach "BBCode-Parser".

Ja, das ist so betrachtet richtig. Zeige mir jedoch bitte eine Stelle im Thread wo der TE irgendetwas darüber sagt, dass er einen BBCParser haben möchte.

Ich finde die Stelle schon mal nicht.

Bitte erleuchte mich ...

... denn dann müssten wir den TE auch darauf hinweisen, dass
Code:
[clRed]in rot[/clRed]
nicht so wirklich BBCode ist.

DeddyH 11. Nov 2014 14:24

AW: QuoteText parsen?
 
In #24 hat er es bestätigt. Wollen wir uns jetzt noch länger daran hochziehen?

Bjoerk 11. Nov 2014 15:51

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>.

Bjoerk 12. Nov 2014 13:18

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;

DeddyH 12. Nov 2014 13:28

AW: QuoteText parsen?
 
Auf die Schnelle gefunden, allerdings nur überflogen (Screenshots sehen aber gut aus): http://parnassus.co/drawing-fully-ju...t-to-a-canvas/


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:07 Uhr.
Seite 3 von 4     123 4      

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