Autor Beitrag
colaka
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 200
Erhaltene Danke: 4

Win XP, W7
Delphi 2005 Prof.
BeitragVerfasst: Sa 22.03.14 19:55 
Hallo,

ich habe ein Editfeld, in das der Benutzer einen Währungsbetrag eingeben soll. Da ich die Systemeinstellungen nicht kenne, soll der eingegebene Betrag automatisch in die Form "Euro Dezimalseparator Cent" umgewandelt werden, unabhängig davon, ob der Benutzer den Betrag mit Punkt oder mit Komma eingegeben hat. Im Prinzip soll das Ganze ungefähr so funktionieren: Stringreplace(Edit1.text, ',' oder '.', Decimalseparator).

Geht das irgendwie?

_________________
Mit 2 Stunden Ausprobieren kann man sich oft 5 Minuten Nachdenken ersparen


Zuletzt bearbeitet von colaka am Sa 22.03.14 20:06, insgesamt 1-mal bearbeitet
Tranx
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 648
Erhaltene Danke: 85

WIN 2000, WIN XP
D5 Prof
BeitragVerfasst: Sa 22.03.14 20:00 
Wie wär's mit der Routine?

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
Interface

Type
  CharSet = Set of Char;


implementation

function StringReplace(psText: string; pcWas : CharSet; pcDurch: Char = DecimalSeparator): string;
var
  i: Integer;
begin
  for i := 1 to Length(psText) do
  begin
    if psText[i] in pcWas then
         psText[i] := pcDurch;
  end;
  Result := psText;
end;



Aufruf z.B. wie folgt:

ausblenden Delphi-Quelltext
1:
   WertStr := StringReplace(Edit1.Text,['.',','][, DecimalSeparator]);    // [, DecimalSeparator] nicht notwendig, da Vorgabewert.					

_________________
Toleranz ist eine Grundvoraussetzung für das Leben.

Für diesen Beitrag haben gedankt: colaka