Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi GetCurrencyFormat eine Währung vorgeben (https://www.delphipraxis.net/64110-getcurrencyformat-eine-waehrung-vorgeben.html)

bennle 27. Feb 2006 17:31


GetCurrencyFormat eine Währung vorgeben
 
Hallo
Wie kann ich mit der Funktion GetCurrencyFormat eine Währung bzw Format vorgeben?

MfG
Bennle

Klaus01 27. Feb 2006 17:52

Re: GetCurrencyFormat eine Währung vorgeben
 
Hallo ich denke mit GetCurrencyFormat kann keine Formatierung vorgenommen werden.
Sie gibt Dir nur die Systemeinstllungen für das Wüährungsformat.

Anbei ein Beispiel:
von http://www.alpha-factory.de/Hilfe/prog.htm

Währungen korrekt formatieren
Dieser Tipp zeigt, wie Sie per Windows-Funktion die Anzeige von Währungen gestalten.
Benutzen Sie die Windows-Funktion [I]GetCurrencyFormat[I], um Geldbeträge korrekt zu formatieren und anzuzeigen. Indem Sie auf diese Funktion zugreifen, vermeiden Sie eigenen Programmieraufwand. Denn im angelsächsischen Sprachraum bedeutet eine Zahl wie 12,000 zwölftausend und nicht, wie bei uns, zwölf komma null:
Delphi-Quellcode:
procedure TForm1.Button1Click(
Sender: TObject);
var
x : integer; s : string;
begin
  setlength(s, 255);
  for x := 0 to
    memo1.Lines.Count -1 do
  begin
   GetCurrencyFormat(LOCALE_SYSTEM_DEFAULT, 0,pchar((memo1.Lines[x])),nil,PChar(s),Length(s));
   memo2.lines.add(s);
  end;
end;
Grüße
Klaus

bennle 27. Feb 2006 17:58

Re: GetCurrencyFormat eine Währung vorgeben
 
Zitat:

Zitat von Klaus01
Hallo ich denke mit GetCurrencyFormat kann keine Formatierung vorgenommen werden.
Sie gibt Dir nur die Systemeinstllungen für das Wüährungsformat.

Anbei ein Beispiel:
von http://www.alpha-factory.de/Hilfe/prog.htm


Währungen korrekt formatieren
Dieser Tipp zeigt, wie Sie per Windows-Funktion die Anzeige von Währungen gestalten.
Benutzen Sie die Windows-Funktion [I]GetCurrencyFormat[I], um Geldbeträge korrekt zu formatieren und anzuzeigen. Indem Sie auf diese Funktion zugreifen, vermeiden Sie eigenen Programmieraufwand. Denn im angelsächsischen Sprachraum bedeutet eine Zahl wie 12,000 zwölftausend und nicht, wie bei uns, zwölf komma null:
Delphi-Quellcode:
procedure TForm1.Button1Click(
Sender: TObject);
var
x : integer; s : string;
begin
  setlength(s, 255);
  for x := 0 to
    memo1.Lines.Count -1 do
  begin
   GetCurrencyFormat(LOCALE_SYSTEM_DEFAULT, 0,pchar((memo1.Lines[x])),nil,PChar(s),Length(s));
   memo2.lines.add(s);
  end;
end;
Grüße
Klaus

Hallo,
Danke, das habe ich schon so! Nur mein Problem ist das ich ein Programm habe bei welchem ich eine andere Währung möchte! Allerdings schreibt er das Format dann immer mit Euro! Kann man das "LOCALE_SYSTEM_DEFAULT" evtl definieren?

MfG
Bennle

Klaus01 27. Feb 2006 18:48

Re: GetCurrencyFormat eine Währung vorgeben
 
Es gibt da noch einen API Aufruf SetLocalInfo, der könnte das machen was Du so vorhast.
Habe aber noch keine weiteren Infos dazu gefunden.

Aber warum implementierst Du nicht das Währungsformat für verschieden Währungen selber
anstatt in den Systemeinstellungen herumzuwerkeln?

Grüße
Klaus

bennle 28. Feb 2006 11:56

Re: GetCurrencyFormat eine Währung vorgeben
 
Zitat:

Zitat von Klaus01
Es gibt da noch einen API Aufruf SetLocalInfo, der könnte das machen was Du so vorhast.
Habe aber noch keine weiteren Infos dazu gefunden.

Aber warum implementierst Du nicht das Währungsformat für verschieden Währungen selber
anstatt in den Systemeinstellungen herumzuwerkeln?

Grüße
Klaus

Hallo,
Habs nun ganz anderes gemacht! (FormatFloat)
Trotzdem Danke!

MfG
Bennle


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:24 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