Delphi-PRAXiS
Seite 1 von 2  1 2      

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 1000000 zu 1.000.000 (https://www.delphipraxis.net/25583-1000000-zu-1-000-000-a.html)

Doctor 8. Jul 2004 23:07


1000000 zu 1.000.000
 
Hallo !!!

Ich habe folgendes kleines Problem:

Ich habe ein Edit-Feld.
In diesem Edit-Feld werden Euro-Werte ausgegeben.

Jetzt möchte ich für die bessere Darstellung folgende Ausgabe haben:
Anstatt "1000000" möchte ich in dem Edit-Feld "1.000.000" stehen haben.
Und das soll so bis in unvorstellbare möglich sein ...

Kann mir da jemand weiterhelfen ???


MfG
Doctor

Luckie 8. Jul 2004 23:09

Re: 1000000 zu 1.000.000
 
Zitat:

Zitat von Doctor
Kann mir da jemand weiterhelfen ???

Ja. Die Delphi Hilfe. ;)

-> Format.

gmarts 8. Jul 2004 23:10

Re: 1000000 zu 1.000.000
 
...oder nimm anstatt eines Edits ein MaskEdit.

Doctor 8. Jul 2004 23:13

Re: 1000000 zu 1.000.000
 
Zitat:

Zitat von gmarts
...oder nimm anstatt eines Edits ein MaskEdit.


Mask Edit ... und dann welche Eigenschaft muss ich verändern ?

DP-Maintenance 8. Jul 2004 23:14

DP-Maintenance
 
Dieses Thema wurde von "Luckie" von "Programmieren allgemein" nach "VCL-Komponenten und Controls" verschoben.
Ist ja ein Delphi-Problem. ;)

gmarts 8. Jul 2004 23:22

Re: 1000000 zu 1.000.000
 
Du musst die Taste rechts neben Escape drücken.

Luckie 8. Jul 2004 23:26

Re: 1000000 zu 1.000.000
 
Also ich habe da jetzt auf die schnelle nichts gefunden, was ihm helfen könnte.

Mal kurz was in den Editor gehauen:
Delphi-Quellcode:
procedure TForm1.Edit1Change(Sender: TObject);
var
  dummy: double;
  s: String;
begin
  s := StringReplace(Edit1.Text, ThousandSeparator, '', [rfReplaceAll]);
  dummy := StrToFloat(s);
  Edit1.Text := Format('%.0n', [dummy]);
end;

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
  Edit1.SelStart := length(Edit1.Text);
end;
Manko: Der Cursor steht nach dem das Tausendertrennzeichen das erstemal gesetzt wurde am Anfang.

Luckie 8. Jul 2004 23:35

Re: 1000000 zu 1.000.000
 
So sieht es "richtig" aus:
Delphi-Quellcode:
procedure TForm1.Edit1Change(Sender: TObject);
var
  dummy: double;
  s: String;
begin
  s := StringReplace(Edit1.Text, ThousandSeparator, '', [rfReplaceAll]);
  dummy := StrToFloat(s);
  Edit1.Text := Format('%.0n', [dummy]);
  SendMessage(Edit1.Handle, WM_KEYDOWN, VK_END, 0);
  SendMessage(Edit1.Handle, WM_KEYUP, VK_END, 0);
end;
Nur Kommazahlen gehen noch nicht.

NicoDE 8. Jul 2004 23:37

Re: 1000000 zu 1.000.000
 
Zitat:

Zitat von Luckie
So sieht es "richtig" aus:
Delphi-Quellcode:
  SendMessage(Edit1.Handle, WM_KEYDOWN, VK_END, 0);
  SendMessage(Edit1.Handle, WM_KEYUP, VK_END, 0);

Und wenn ich nun was in der Mitte ändern will? ...
(Hat TEdit kein SelStart/SelLength?)

Doctor 8. Jul 2004 23:39

Re: 1000000 zu 1.000.000
 
Zitat:

Zitat von Luckie
So sieht es "richtig" aus:
Nur Kommazahlen gehen noch nicht.


jo, das is das, was ich wollte :-)
thx a lot !!!

beim MaskEdit denke ich mal, das es die Eigenschaft "EditMask" wäre, jedoch komm ich damit nicht zurecht.


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:32 Uhr.
Seite 1 von 2  1 2      

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