AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

RichEdit Format

Ein Thema von Ykcim · begonnen am 26. Feb 2013 · letzter Beitrag vom 26. Feb 2013
Antwort Antwort
Ykcim

Registriert seit: 29. Dez 2006
Ort: NRW
831 Beiträge
 
Delphi 10.4 Sydney
 
#1

RichEdit Format

  Alt 26. Feb 2013, 14:24
Hallo Zusammen,

Ich habe zum RichEdit zwei Fragen:
1. Gibt es eine Möglickeit, wie ich den Zeilenumbruch verhindern kann? Ich möchte, dass immer nur eine Zeile verwendet wird.
2. Gibt es eine einfache Möglichkeit, wie ich RichEdit formatieren kann (z.B. das Zahlen mit Tausendertrennzeichen, oder mit zwei Kommastellen angezeigt werden)? Ich meine nicht mitten im Text, sondern wenn dort nur eine Zahl eingetragen wird.

Vielen Dank
Patrick
Patrick
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#2

AW: RichEdit Format

  Alt 26. Feb 2013, 14:26
Zu 1: WordWrap auf false stellen, oder meinst Du etwas anderes?
Zu 2: Ist mir nichts bekannt.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Ykcim

Registriert seit: 29. Dez 2006
Ort: NRW
831 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: RichEdit Format

  Alt 26. Feb 2013, 14:41
Zu1: Wenn ich auf die ENTER Taste drücke, dann springt er in die zweite Zeile - die nicht sichtbat ist... Das möchte ich verhindern.
Patrick
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#4

AW: RichEdit Format

  Alt 26. Feb 2013, 14:49
If frage mich wofür das gut sein soll.
Richedit ist eigentlich eine verkappte (und kastrierte) Textbearbeitung, die dafür gedacht ist auszudruckenden Text zu erfassen. D.h. die "Zeile" ist nur eine sehr vergängliche Möglichkeit der Textstrukturierung, da je nach Font(größe) und Papierformat die Zeile unterschiedlich lang ist.

Wenn Du Wert auf Fett, Kursiv und unterschiedliche Textfarben legst, solltest Du vllt. synedit verwenden.

Für Deine zweite Anforderung gibt es Format oder falls Du gerne selbst bastelst xxxtostr mit nachträglicher Aufhübschung.

Gruß
K-H
Zu1: Wenn ich auf die ENTER Taste drücke, dann springt er in die zweite Zeile - die nicht sichtbat ist... Das möchte ich verhindern.
Zum besseren Verständnis:
Du hast einen RichEdit von dem nur eine Zeile sichtbar ist?

Warum nutzt Du nich TEdit?
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector

Geändert von p80286 (26. Feb 2013 um 14:52 Uhr)
  Mit Zitat antworten Zitat
Popov
(Gast)

n/a Beiträge
 
#5

AW: RichEdit Format

  Alt 26. Feb 2013, 15:10
@Ykcim

Ich hab mich mal mit dem Thema näher beschäftigt und kann behaupten, dass es das was du suchst nicht in der Form gibt oder ich es nicht gefunden habe.

Was ich letztendlich gemacht habe und du es auch machen kannst ist Tricksen.

Dein erstes Problem kannst du so lösen:

Delphi-Quellcode:
procedure TForm1.RichEdit1KeyPress(Sender: TObject; var Key: Char);
begin
  if Key = #13 then Key := #0;
end;
Damit fängst du das Enter an. Wenn du den Zeilenumbruch komplett abfangen willst, also auch den durch Einfügen von Text, dann mußt du auch das abfangen.

Dein zweites Problem ist etwas komplexer, aber auch nicht unmöglich. Nur mußt du dann das machen was du eigentlich mit Delphi machen willst: programmieren. Einfach die Texteingabe überwachen. Bei der ersten Eingabe einer Zahl den Startpunkt merken, dann auch den Endpunkt merken, also die erste Nichtzahl. Schon hast du die letzte Zahl die eingegeben wurde. Jetzt das ganze formatieren und den Cursor anpassen.
  Mit Zitat antworten Zitat
Benutzerbild von lbccaleb
lbccaleb

Registriert seit: 25. Mai 2006
Ort: Rostock / Bremen
2.037 Beiträge
 
Delphi 7 Enterprise
 
#6

AW: RichEdit Format

  Alt 26. Feb 2013, 15:24
Zu 2.

Du kannst die Zahl vorher formatieren, und dann in das RichEdit als Text einfügen:
Delphi-Quellcode:
function PointDelimiter(Argument: string; TrennChar: char): string;
var n,i: integer;
begin
  Result := Argument;
  n := Length(Result);
  if n > 3 then begin
    i := 0;
    While n > 0 do begin
      inc(i);
      if (i >= 3) and (n > 1) then begin
        Insert(TrennChar, Result, n);
        i := 0;
      end;
      dec(n);
    end;
  end;
end;


RichEdit1.Text := PointDelimiter('1234567890', '.');

Edit:
Zu 1.:
Du kannst mit stringreplace (http://www.delphibasics.co.uk/RTL.as...=StringReplace) die #13 im gesamten String austauschen gegen zB. ein Leerzeichen. Oder auch gar nichts..
Martin
MFG Caleb
TheSmallOne (MediaPlayer)
Die Dinge werden berechenbar, wenn man die Natur einer Sache durchschaut hat (Blade)

Geändert von lbccaleb (26. Feb 2013 um 15:31 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:33 Uhr.
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