Jak zmienić ustawienia regionalne aplikacji

0

Witam fachowcy !!

Używam napisanej w delhi 5 aplikacji na komputerach z różnymi ustawieniami regionalnymi, jak ustawić programowo, żeby aplikacja zawsze miała takie same formaty daty i waluty?

Fikus

0

A FormatDateTime i FormatCurr nie działają?

0

Kiedy wpisuje:

edit1.text:=DateToStr(Now);

to po odpaleniu aplikacji na różnych systemach mam 19-08-05 a innym razem
2005-08-19, jak tego uniknąć?

0

??

0

Na jednym windowsie mam ustawienia regionalne daty dd-MM-yy , a na drugim Windowsie mam yyyy-MM-dd. Kiedy odpalam aplikacje zawierającą kod jak przedstawiłem w poprzenim tekście, to edit wypełnia się różnymi formatami daty.
Chciałbym, żeby bez względu na ustawienia regionalne zawsze w tym edicie było dd-MM-yy, czy musze dekodować za każdym razem date, a kiedy user wpisze w edicie nową date to ją enkodować?

0

Unit

SysUtils

Category

date/time routines

function FormatDateTime(const Format: string; DateTime: TDateTime): string;

Description

FormatDateTime formats the TDateTime value given by DateTime using the format given by Format. See Date-Time format strings for more information.

If the string specified by the Format parameter is empty, the TDateTime value is formatted as if a 'c' format specifier had been given.

0

FormatDateTime pomogło i edit wyświetla już zawsze taki sam format daty. Dzięki.
Chciałbym jednak rozszerzyć temat.

Zbudowałem raport za pomocą QRaport. Dane do raportu pobierane są z bazy MSSQL za pomocą komponentu Query. Raport dzięki waszym wskazówkom daje się parametryzować dowolnym formatem daty (takim jaki określiłem w FormatDateTime), ale jedną z kolumn raportu jest data pobierana z bazy danych i ta data nadal jest w formacie takim jak ustawienia regionalne. Czy na to też jest jakaś rada?

Fikus

0

Pewno pomoże Ci zmiana wartości zmiennych LongDateFormat/LongTimeFormat i ShortDateFormat/ShortTimeFormat z modułu SysUtils; ich wartość jest standardowo pobierana z ustawień regionalnych Windows.

0

Właśnie dokładnie o to mi chodziło. Ustawienia systemowe w Windowsie się nie zmieniają, a aplikacja na moje potrzeby przyjmuje opowiednie formaty.

Tylko mam jeszcze pytanie jakie sa nazwy zmiennych odpowiadające za fromat i znak dziesiętny waluty?

Fikus

0

Ja nie wiem, czy ty nie umiesz czytać? Pierwszy mój post w tym wątku...

0

Za pomocą FormatCurr moge ustawiać format waluty, a ja nie chce go ustawiać, tylko przeczytać jakie ustawienia zostały pobrane z systemu.

Znalazłem, że CurrencyFormat pozkazuje cyfrą które ustawienia waluty są wybrane.

Decimalseparator pokazuje czym odzielane są grosze, ale brakuje mi jeszcze zmiennej w której przechowywane są znak waluty i liczba miejsc po przecinku.

0

CurrencyDecimals - wskazuje domyślną liczbę cyfr części ułamkowej przy formatowaniu wartości pieniężnych przez funkcję Format() i funkcje pochodne.
CurrencyString - jest symbolem identyfikującym walutę, takim jak '$' w przypadku dolarów amerykańskich.
Domyślne wartości obu zmiennych są pobierane z ustawień lokalnych Windows.

0

Właśnie o te zmienne mi chodziło. Teraz już mam komplet więc dziękuje za pomoc.

Fikus

1 użytkowników online, w tym zalogowanych: 0, gości: 1