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 Formatieren von Text während der Ausgabe (https://www.delphipraxis.net/8604-formatieren-von-text-waehrend-der-ausgabe.html)

mandumoal 8. Sep 2003 17:38


Formatieren von Text während der Ausgabe
 
Hi!
(weis nicht ob ich jetzt die richtige Rubrik getroffen habe)
Ich möchte einen Text formatieren der in einer Variable gespeichert ist und zwar erst während der Ausgabe.
Das sieht jetzt ungefär so aus:
Delphi-Quellcode:
Form.Memo.Lines.Add (Variable + 'text' + Variable)
und zwar will ich das Textformat der Variable ändern, möglichst in dieser Programmzeile

weiss jemand wie das geht?

mfg mandumoal

jbg 8. Sep 2003 18:10

Re: Formatieren von Text während der Ausgabe
 
Vielleicht sitze ich auch auf der Leitung, aber ich komme nicht dahinter, was du genau willst. Was verstehst du unter Textformat?

mandumoal 8. Sep 2003 18:16

Re: Formatieren von Text während der Ausgabe
 
mit textformat meine ich zum beispiel die Farbe Größe ob kursiv oder fett oder underline...

jbg 8. Sep 2003 18:23

Re: Formatieren von Text während der Ausgabe
 
Das ist mit einem Memo nicht möglich. Du kannst auf RichEdit ausweichen oder die bei www.torry.net eine passende Komponente suchen.

mandumoal 8. Sep 2003 18:27

Re: Formatieren von Text während der Ausgabe
 
ok wenn ich jetzt ein Trichedit habe was muss ich dann machen um den text zu formatieren der in der variable steht?

fkerber 8. Sep 2003 19:07

Re: Formatieren von Text während der Ausgabe
 
Hi!

Du kannst den Text der Variable nicht direkt formatieren. In der Variable steht nur der reine Text!

Du musst den Text nach dem "Einfügen" mit SelAttributes (siehe Hilfe) bearbeiten!

Ciao fkerber

mschaefer 8. Sep 2003 20:50

Re: Formatieren von Text während der Ausgabe
 
Liste der Anhänge anzeigen (Anzahl: 1)
Moin Moin, zusammen

Mandumoal, na das geht schon mit der Variabel, aber dann mußt Du Dich mit der RTF-Formatierung rumschlagen. Da Delphi ehedem nur einen Substet vom allgemeinen RTF versteht kannst Du Dich mit einigen Beispielen an die Sache herantasten.

Im Anhang ist ein kleines Programm, was Dir helfen könnte,
probier mal aus und kommentier mal...

Grüße aus der Stadt an der "Leine"

// Martin




:coder: :coder: :coder: = Mein TriCoder

fkerber 8. Sep 2003 21:03

Re: Formatieren von Text während der Ausgabe
 
Hi!

@mschaefer:

Stimmt, diese Möglichkeit habe ich vernachlässigt, da Sie mir unpraktisch erscheint. Sollte man die Variable mal anderweitig (Messagebox etc.) brauchen, hat man ja immer die Steuerbefehle drin!

Außerdem verursacht dein Anhang beim Starten der DPR und beim Kompilieren folgenden Fehler:

Zitat:

Zitat von Application Error
Exception EReadError in module Project1.exe at 00017993
Error reading Richedit1.Lines.Strings: RichEdit line insertion error.

Benutze Version Delphi7 auf XP SP1

Ciao fkerber

mschaefer 8. Sep 2003 21:27

Re: Formatieren von Text während der Ausgabe
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo

Ok, hatte meine Delphi 4 Prsonal-Version in Arbeit und da
sind die dfm - Files noch andres kodiert. Ok dann halt cohmal mit Attachment.


Grüße // Martin

fkerber 8. Sep 2003 21:38

Re: Formatieren von Text während der Ausgabe
 
Hi!

Leider immer noch der selbe Fehler!

ciao fkerber

mschaefer 12. Sep 2003 11:55

Re: Formatieren von Text während der Ausgabe
 
Moin, moin,

diesmal ohne dfm-s und dafür mit Lösung. Dafür brauchen wir aus unserern Kochecke ein Richedit und einen einsamen Button auf einem Formular. Der folgende Quelltext kann dann in das OnClick - Ereignis des Buttons gelget werden. Denke, dass dann auch der Schritt die Formatierung in die Variable zu legen ein lösbares Problem ist:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);

{ Formatierte Textausgabe über ein Richedit  }
{ mit RTF-Formaten                           }
{ Grüße aus Hannover, Martin at calres.de    }
var
  tmpString : string;
  tmpStream : TStringStream;
begin
    tmpString := tmpString + '{    \rtf1                                                  ';
    tmpString := tmpString + '      {   \fonttbl                                        ';
    tmpString := tmpString + '           {    \f0\fswiMeinStream MS Sans Serif;         ';
    tmpString := tmpString + '           }                                               ';
    tmpString := tmpString + '     }                                                     ';

    tmpString := tmpString + '    {  \colortbl\red0\green0\blue0;\red0\green0\blue255;  ';

    tmpString := tmpString + '    }                                                      ';

    tmpString := tmpString + '    \f0\cf1\fs16 . . . und es geht doch !!!  \f0\fs16      ';
    tmpString := tmpString + '}                                                           ';

    tmpStream := TStringStream.Create(tmpString);
    try
      RichEdit1.PlainText := False;
      RichEdit1.Lines.LoadFromStream(tmpStream) ;
    finally
      tmpStream.Free
    end;
end;
Kennt jemand eine Übersicht über den RTF-Satz den Delpi-Richedit versteht. Vielleicht könnte man so wirklich eine Formatierte Textausgabe mit verschiednenen Variablenbelegungen ermöglichen.....
Mandumoal, Deine Idee mit der Funktion gefällt mir übrigens, denn die Formatierung über Selektierung ist wirklich leidlich elend ...

Grüße aus der Stadt an langen "Leine"
// Martin


:coder: :coder: :coder:

[edit=Daniel B]Delphi-Tags korrigiert. Mfg, Daniel B[/edit]

mschaefer 12. Sep 2003 14:26

Re: Formatieren von Text während der Ausgabe
 
Hallo fkerber

Du, der Fehler bei Dir liegt daran, das das beigelegte Fieli ini.rtf
wahrscheinlich vom Server gefiltert wurde. Hab nicht aufgepasst, dass
der Server nur bestimmte Dateierweiterungen durchläßt. Du kannst
aber einfach eine leere ini.rtf mit Notepad erstellen

So long // Martin

mandumoal 12. Sep 2003 16:30

Formatieren von Text während der Ausgabe
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hi mschaefer!

Ich habe jetzt mal nachvollzogen was dein Programm was ich nicht benutzen konnte machen hätte sollen und selbst eins gemacht.
(Ich denke das ist was du auch gemacht hast)
Anhand solch eines Programmes kannst du doch sämtliche RTF-Formatierungsmöglichkeiten ausprobieren!

mfg mandumoal

fkerber 12. Sep 2003 19:33

Re: Formatieren von Text während der Ausgabe
 
Hi mschaefer!

Nee, die init.rtf war im Archiv dabei! Habe jetzt nochmal mit Delphi 6 probiert. Aber immer noch das selbe!
Das Formular wird mir gar nicht angezeigt (in der Entwicklungsumgebung)! Nur der Quellcode!
Da ist wohl irgendwas schief gelaufen!

Vielleicht kann ja mal noch jemand anders das Teil runterladen und ausprobieren!

Ciao fkerber

mschaefer 13. Sep 2003 11:04

Re: Formatieren von Text während der Ausgabe
 
Hallo Fkerber,

nimm das von Mandumoal, das mach genau das, was ich auch wollte.
Weiss der Geier wo da der Haken war.
Denke das Problem ist vom Prinzip her gelöst.


Hi Mandumoal,

Genau das mit dem Nachforschen habe ich auch für die Beispielroutine
gemacht. Aber vielleicht gibt es da auch noch eine Übersicht, denn RTF-ist kein Firmeneigenes Format. Das wird doch schon recht lange auch unter Unix eingesetzt.

Vielleich weiß jemand anderes noch eine Quelle für die RTF-Formatierung?


Grüße and so long // Martin


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:38 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-2025 by Thomas Breitkreuz