Słuchajcie,
mam taka funkcję zapisu do drukarki fiskalnej:
function ReceiptItem (const Name: WideString; const TaxRate: WideString; Price: Currency; Qtty: Double; const QttyUnit: WideString; ItemValue: Currency): WordBool
gdzie:
Name: nazwa towaru (string)
TaxRate: stawka podatku VAT w formacie litery A,B,C,D,E,F,G (string)
Price: cena (double z kropką oddzielającą część dziesiętną)
Qtty: ilość (double z kropką oddzielającą część dziesiętną)
QttyUnit: jednostka miary (string)
ItemValue: suma (double z kropką oddzielającą część dziesiętną)
w bazie danych zapis mam zgodnie z ustawieniami lokalnymi Windows czyli oddzieleniem części dziesiętnej jest przecinek.
Jednak funkcja wymaga aby wysyłać dane liczbowe z separatorem dziesiętnym w postaci kropki, oto przykład:
ReceiptItem('Jakiś towar', 'A', 1.50, 2.5, 'jm', 3.75);
No i teraz pytanie, jak przekonwerterować przecinek na kropkę abym mógł zapisać dane do drukarki?
Nie może to być zwykła zamiana znaku poprzez StringReplace ponieważ dane muszą być w formacie double a nie string, nie mogę też na stałe zamienić znaku w lokalizacjach bo jest to co najmniej nieeleganckie.
Jakieś pomysły?
Pozdrawiam
Robert