![]() |
Summenzeichen (Σ) in Courier in TRichEdit anzeigen
Hallo zusammen!
Ich versuche das Summenzeichen in einem String in einem TRichEdit anzuzeichen. Das funktioniert auch, aber die ganze Zeile wird dann statt in Courier in einer TrueType-Schrift angezeigt, was mit die komplette Formatierung durcheinander bringt. Gibt es das Zeichen unter Courier nicht oder wie kann ich es schafften, dass wenigstens die Formatierung für den Rest der Zeile erhalten bleibt, falls es das Zeichen unter Courier nicht geben sollte!? Vielen Dank für die Hilfe! |
AW: Summenzeichen (Σ) in Courier in TRichEdit anzeigen
Ich habe eben bei mir auf dem Rechner mit einem FontViewer nachgesehen, es scheint nicht Teil des Zeichensatzes zu sein. Daher wirst du mit Courier alleine nicht glücklich werden.
Entweder eine alternative Schriftart nehmen (Tante Google!) oder das einzelne Zeichen in einer anderen Schriftart verwenden, während der Rest in Courier gesetzt wird. Füllst du das RichEdit vom Programm aus oder muss der Benutzer den Text alleine eingeben? |
AW: Summenzeichen (Σ) in Courier in TRichEdit anzeigen
Symbol-Zeichensatz sollte auf jedem Windows-PC installiert sein.
Sollte dann das große 'S' sein, wenn ich mich nicht irre.
Delphi-Quellcode:
RichEdit1.SelAttributes.Name := 'Courier';
RichEdit1.Lines.Text := 'Text mit S (Summenzeichen)'; RichEdit1.SelStart := 9; RichEdit1.SelLength := 1; RichEdit1.SelAttributes.Name := 'Symbol'; |
AW: Summenzeichen (Σ) in Courier in TRichEdit anzeigen
Ich generiere die Ausgaben für das RichEdit aus dem Programm heraus.
Die Zeilen landen zuerst in 'ner StringList und werden dann entweder per RichEdit angezeigt oder als Datei gespeichert - deshalb wird die Idee von IwoAsnet so wohl direkt funktionieren. Da müßte ich dann vor'm Anzeigen die "S" oder wie auch immer die vorher kodiert sind, rausfiltern. |
AW: Summenzeichen (Σ) in Courier in TRichEdit anzeigen
Hallo zusammen!
Irgendwie stehe ich auf dem Schlauch! Ich probiere nun Folgendes, um das Summenzeichen (als "°S" kodiert) anzuzeigen, aber es klappt nicht:
Delphi-Quellcode:
Eintraege ist die StringList, in der ich die Ausgabe anlege.
with Memo1 do
begin Lines := Eintraege; with Lines do for i := 0 to Count - 1 do begin Start := 1; repeat o := PosEx('°S',Lines[i],Start); if (o > 0) then begin Start := o; Eintrag := Lines[i]; System.Delete(Eintrag,o,1); Lines[i] := Eintrag; SelStart := o; SelLength := 1; SelAttributes.Name := 'Symbol'; end; until (o = 0); end; end; Seltsamerweise werden, wenn ich z.B. SelLength = 10 habe, einige Zeichen in den oberen Zeilen umgewandelt, obwohl das Summenzeichen erst ca. 50 Zeilen später auftaucht! Ich hoffe, das sagt Euch etwas... Vielen Dank! |
AW: Summenzeichen (Σ) in Courier in TRichEdit anzeigen
Ja klar, weil o relativ zum Zeileanfang ist, jedoch SelStart nen absoluten Wert verlangt...
Hau die For i Schleife raus und arbeite mit Lines.Text.. (Da man dieses Property nicht einfach wie ein String behandeln kann, wäre es angebracht, den Inhalt zuerst in ne temp. String Variable zu kopieren...) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:56 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