Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Mehr zeiliger Text(Ansi-String) in Richedit (https://www.delphipraxis.net/114517-mehr-zeiliger-text-ansi-string-richedit.html)

Gr0by 26. Mai 2008 20:15


Mehr zeiliger Text(Ansi-String) in Richedit
 
Hallo erstmal,

ich habe folgendes Problem:
Ich schreibe gerade ein Programm,welches die Zeoslib Componente(mysql) benutzt.
Nun habe ich ein Richedit wo der User einen "Comment" scheiben soll... das einlesen in einen string
funzt,da hab ich schon etwas gefunden,aber beim auslesen der Datenbank und Formatiert(nur zeilenumbruch und einrücken) in einen Richedit einfühgen,dort komme ich nicht weiter...zb.mir fehlt komplett der Ansatz :wall: Ich habe auch schon daran gedacht eine Textdatei zu erstellen und dann über loadfromfile ,den Text einzulesen.Aber das wäre zu unsicher!

Ich hoffe ihr könnt mir helfen mfg Gr0by.

ps:Mir ist kein besser Titel eingefallen :gruebel:

michaelg 27. Jun 2008 03:56

Re: Mehr zeiliger Text(Ansi-String) in Richedit
 
Probier mal das:

Delphi-Quellcode:
  const //oder "var", je nach Delphi-Version
    StdRichFont:String='Arial';
    StdRichSize:Integer=11;
    StdRichStyle:tFontStyles=[];
    StdRichColor:tColor=clBlack;

  procedure SetRichEditText(RichEdit:tRichEdit; Text:String);
    var
      ms:tMemoryStream;
    begin
      if comparetext('{\RTF',copy(text,1,5))<>0 then begin
        RichEdit.Text:=Text;
        RichEdit.SelectAll;
        RichEdit.SelAttributes.Name:=StdRichFont;
        RichEdit.SelAttributes.Size:=StdRichSize;
        RichEdit.SelAttributes.Style:=StdRichStyle;
        RichEdit.SelAttributes.Color:=StdRichColor;
        RichEdit.Paragraph.FirstIndent:=0;
        RichEdit.Paragraph.LeftIndent:=0;
        RichEdit.Paragraph.Numbering:=nsNone;
        RichEdit.Paragraph.RightIndent:=0;
        RichEdit.Paragraph.TabCount:=0;
      end else begin
        ms:=tMemoryStream.Create;
        ms.Write(Text[1],Length(Text));
        ms.Position:=0;
        RichEdit.PlainText:=False;
        RichEdit.Lines.LoadFromStream(ms);
        ms.Free;
      end;
      RichEdit.SelStart:=0;
      RichEdit.SelLength:=0;
    end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:21 Uhr.

Powered by vBulletin® Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf