Grzegorz
( mailto:gg...@friko5.onet.pl )
proponuje w jakims pliku najpierw zapisac takie ustawienia
a nastepnie dane, przy odczycie czytas ustawienia,
ustawiasz obiekt tapplication, czytasz dane
na razie
ustaw w .dpr ponizsze (w uszach daj ten znak, ktory chcesz):
DecimalSeparator:='.';
To nie zmienia nic w Windows a tylko dla potrzeb twojego exe.
--
Z przyjacielskim pozdrowieniem
Dariusz Zygmunt
<star...@inet.com.pl>
Stosowanie filtrów znakomicie wpływa na nerwy.
Grzegorz Góra napisał(a) w wiadomości: <3615d...@news.vogel.pl>...
>Wiadomo że w systemie wykorzystuje się dwóch separatorów dziesiętnych, są
>to: "." i ",".
>Co robić jeżeli w programie wykorzystuję kropkę, a w innym systemie
>separatorem jest przecinek?
>...
>Separator dziesiętny jest jeden i jeśli jest to polska wersja systemu to
>jest to "," i to jest bezdyskusyjne. Dlaczego chcesz w to miejsce wstawiać
>kropkę? Takie postępowanie nie ma żadnego uzasadnienia.
Kropka jest normą międzynarodową i nie sprawia problemów przy wymianie
danych między różnymi komputerami pracującymi pod kontrolą różnych
systemów operacyjnych w różnych krajach. Na komputerach ponad połowy
moich znajomych używających komputerów symbolem dziesiętnym, nawet w
polskich wersjach systemów, jest kropka.
--
Pozdrowienia,
|""""""""""""""""""""""""""""""""""""""""""""""""""""""|
| Radosław Sokół | mailto:rso...@iname.com |
| | http://friko.onet.pl/ka/lizard/ |
| | WinNT FAQ: http://nt.faq.net.pl/ |
\. Microsoft still improves its programs. Bugs too... ./
Grzegorz Góra wrote:
[...]
> Prosty przykład: jeżeli poprawnš liczbę '100.10' zapiszę i odczytam po
> zmianie w systemie separatora z '.' na ',' Delphi uraczy mnie komunikatem że
> moje '100.10' nie jest już 'a valid floating point value'.
Napisz jak zapisujesz tę liczbę? Jako string?
Je li zapisujesz jš jako float to nie ma znaczenia jaki separator jest
aktualnie ustawiony.
Powodzenia
--
---
Krzysztof Ossowski
ko...@pg.gda.pl
------------------------
>>Separator dziesiętny jest jeden i jeśli jest to polska wersja systemu to
>>jest to "," i to jest bezdyskusyjne. Dlaczego chcesz w to miejsce wstawiać
>>kropkę? Takie postępowanie nie ma żadnego uzasadnienia.
>
>Kropka jest normą międzynarodową
jaką ?
>i nie sprawia problemów przy wymianie
>danych między różnymi komputerami pracującymi pod kontrolą różnych
>systemów operacyjnych w różnych krajach. Na komputerach ponad połowy
>moich znajomych używających komputerów symbolem dziesiętnym, nawet w
>polskich wersjach systemów, jest kropka.
co to ma do wprowadzania i wyświetlania jej w postaci przecinka
zgodnie z naszym narodowym standardem ?
I to je to Pane!
(Mała uwaga: coś w .dpr'ze nie chce mi działać, chodzi za to bezpośrednio w
.pas'ie.)
Jest jednak chyba jeden wyjątek (long live Inprise!) - jeżeli systemowym
separatorem jest przecinek i zastosuje się funkcję STR(...) otrzyma się
wtedy znany komunikat (Str po prostu liczbę konwertuje na sztywno - z
kropką). Jedynym rozwiązaniem jest chyba własny STR...
PS. Byłaby to także odpowiedź na uwagę (drzewko niżej) Dariusza Zygmunta:
>Separator dziesiętny jest jeden i jeśli jest to polska wersja systemu to
>jest to "," i to jest bezdyskusyjne. Dlaczego chcesz w to miejsce wstawiać
>kropkę? Takie postępowanie nie ma żadnego uzasadnienia.
Ja nie chcę na siłę wstawiać kropki, chcę po prostu, by mój program robił
to, co ja chcę...
...Odpowiedź iście Microsoft'owska :)
Ile Ci płacą ;)
Z (również) przyjacielskim pozdrowieniem
Grzegorz Góra
>>Kropka jest normą międzynarodową
>jaką ?
Spytaj się pierwszego lepszego naukowca - przecinek nie skojarzy mu się
z symbolem dziesiętnym. Cały świat nauki posługuje się kropkami, a informatyka
to też dziedzina nauki.
>co to ma do wprowadzania i wyświetlania jej w postaci przecinka
>zgodnie z naszym narodowym standardem ?
W plikach i w pamięci (jeżeli stosujemy zapis znakowy) powinna być zawsze kropka.
Natomiast to, co jest na ekranie, powinno zależeć od aktualnego ustawienia systemu,
bo naprawdę denerwujące jest, jeżeli wszystkie programy korzystają z ustawionej
kropki, a jeden z przecinka.
Przykro mi, ale piszesz bzdury - w calej Europie kontynentalnej symbol
dziesietny to przecinek, a u anglosasow kropka.
Jacek
Z cał± pewno¶ci± liczba zapisywana jest jako string. Konwersje typu
FloatToStr i StrToFloat wykonywane s± w oparciu o separator zdefiniowany w
systemie natomiast Val i Str nie (tam jest zawsze kropa).
Je¶li liczba jest zapisywana jako pure float: real czy extended jeszcze
nigdy nie zdarzyl mi sie problem ze znakiem separatora dlatego w pelni
zgadzam sie z Krzysztofem.
Pozostaje jednak problem, ze np. do ini trzeba czasem to jako¶ zapisa¶,
niestety jako string. Wtedy moim zdanie najlepiej jest zdefiniowac sobie
dwie pro¶ciutki procedurki zapisu i odczytu (co¶ jak WriteReal(A:Real) i
A:=ReadReal) operujace na liczbach Real i takie zwracaj±ce. W j±drze
procedur konwersja musi zachodzić w oparciu sztywny, odwracalny schemat np
w oparciu o procedury STR i VAL(nieczule na znak separatora). Wówczas ini
zapisane w różnych systemach będ± się czytać jednakowo pomimo możliwej
różnicy znaku separatora. Sam spotkalaem sie juz dawno z tym problemem i
takie postepowanie jak wyzej zupelnie probem wyeliminowalo
Janusz
Jeśli imponuje Ci stosowanie "." {oraz "," jako separatora tysięcy, chyba
trzymasz się standardu} albo pisanie "and" zamiast "i" {tudzież formy
rodzaju "posdroofka"}, to Twoja prywatna sprawa, ale lepiej żeby tacy ludzie
nie pisali programów dla Polaków.
Z przyjacielskim pozdrowieniem
Dariusz Zygmunt
PS. Nie jestem skinem, nie popieram White Power, ani innych ekstremistów, a
mój podpis jest kalką grzecznościowego zwrotu z języka niemieckiego. ;-)))
Grzegorz Góra napisał(a) w wiadomości: <361c5...@news.vogel.pl>...
>...
>>Separator dziesiętny jest jeden i jeśli jest to polska wersja systemu to
>>...
>...Odpowiedź iście Microsoft'owska :)
>Ile Ci płacą ;)
>
>Z (również) przyjacielskim pozdrowieniem
>...
>Przykro mi, ale piszesz bzdury - w calej Europie kontynentalnej symbol
>dziesietny to przecinek, a u anglosasow kropka.
Jeśli tak, to bardzo sorry, ale pisałem to na podstawie własnych
doświadczeń pochodzących z Polski, Anglii i USA. Wszędzie tam używa się
kropki (zresztą w Japonii chyba też), a to już dość spora część świata.
No i co z tego - ostatnio bylem w Indiach, tam 850 mln ludzi jezdzi lewa
strona, czy i my powinnismy ?
Jacek
>>>Kropka jest normą międzynarodową
>>jaką ?
>
>Spytaj się pierwszego lepszego naukowca - przecinek nie skojarzy mu się
>z symbolem dziesiętnym. Cały świat nauki posługuje się kropkami, a informatyka
>to też dziedzina nauki.
a to ci checa ! i jak oni te kropki na kartkach przez lata stukali, że
im przecinki nie wychodziły ? no powiedz jak długopisem na kartce
napisać autentyczną kropkę ? cyrklem czy może z pistoletu ?!
>>co to ma do wprowadzania i wyświetlania jej w postaci przecinka
>>zgodnie z naszym narodowym standardem ?
>
>W plikach i w pamięci (jeżeli stosujemy zapis znakowy) powinna być zawsze kropka.
powinna ? ale albo jest, albo nie jest i tyle
>Natomiast to, co jest na ekranie, powinno zależeć od aktualnego ustawienia systemu,
>bo naprawdę denerwujące jest, jeżeli wszystkie programy korzystają z ustawionej
>kropki, a jeden z przecinka.
no tak, ale to tylko potwierdza, że istnieje właśnie zwyczaj używania
przecinka a nie kropki
>Jeśli imponuje Ci stosowanie "." {oraz "," jako separatora tysięcy, chyba
To nie jest kwestia imponowania, tylko wygody i kompatybilności. Pokaż mi np.
jakiś stary DOSowy angielski program, który mógłby importować lub
eksportować pliki z przecinkami. Nie ma takich. Nawet niektóre windziane
programy szaleją przy zmianach znaku. Dlatego należy się trzymać jednego
standardu, a przecinek takim standardem na pewno nie jest (kropka na dobrą
sprawę też niezupełnie).
>trzymasz się standardu} albo pisanie "and" zamiast "i" {tudzież formy
>rodzaju "posdroofka"}, to Twoja prywatna sprawa, ale lepiej żeby tacy ludzie
To już jest poważny problem i na pewno nie można przyrównywać tego do
walki między przecinkiem i kropką.
>nie pisali programów dla Polaków.
Program nie ma być dla Polaków, program ma być dla świata i powinien
wykorzystywać na ekranie ustawienia systemu (przecinek dla tych, którzy
chcą przecinka, a kropka dla tych, którzy kropkę), a na dysku albo
zakodowany format zmiennoprzecinkowy, albo format łańcuchowy z kropką.
Z przyjacielskim pozdrowieniem
Dariusz Zygmunt
,,,
Sorry, na prawdę przesadziłem z tym Microsoft'em...
Koligacji z 'B.G. Team' nie życzyłbym nawet... po prostu nikomu, a z
pewnością nie komuś, kto pozdrawia mnie po przyjacielsku.
Grzegorz Góra
PS: Kurcze, pomyślcie, niby kropka, niby przecinek - a jaka dyskusja!
Dobrze, że nikt nie wymyślił jeszcze innego separatora
A jak to wygląda w... Chinach? :-)))
>No i co z tego - ostatnio bylem w Indiach, tam 850 mln ludzi jezdzi lewa
>strona, czy i my powinnismy ?
Oni też pewnie niedługo przestaną. Ruch lewostronny jest powoli wszędzie
wycofywany :)
A co do przecinka, to może trochę przesadziłem, ale myślę, że moje ogólne
zalecenie jest słuszne: na ekranie tak, jak jest ustawione w systemie,
a na dysku albo zwykły float, albo jak już string, to z kropką.
Nawiasem mowiac, kol. Dariusz Zygmunt odkryl genialny sposob
odpowiadania na pytania typu "jak zrobic ...". Uniwersalna odpowiedz
brzmi: "Po co?..."
Gratulacje
--
Michal Calka
(mjc...@pik-net.pl)
P.S. Poniewaz niesluszna odpowiedz juz zostala udzielona
(DecimalSeparator), uprzedzam, ze nie zamierzam dyskutowac o wyzszosci
przecinka nad kropka ani odwrotnie.
Z przyjacielskim pozdrowieniem
Dariusz Zygmunt
Michal Calka napisał(a) w wiadomości: ...
>...
>Nawiasem mowiac, kol. Dariusz Zygmunt odkryl genialny sposob
>odpowiadania na pytania typu "jak zrobic ...". Uniwersalna odpowiedz
>brzmi: "Po co?..."
>...
Z przyjacielskim pozdrowieniem
Dariusz Zygmunt
Grzegorz Góra napisał(a) w wiadomości: <361f5...@news.vogel.pl>...
>...
>A jak to wygląda w... Chinach? :-)))
>...
>Uświadomienie sobie celu {a jeszcze
>lepiej skutków} poczynań jest dość istotne w naszej pracy.
W "naszej pracy" (brzmi jak cytat z Klossa) wazna jest takze rosnaca
konkurencja. Jezeli klient chce miec kropke zamiast przecinka (albo
odwrotnie), a ja mu na to "po co?", to on sobie znajdzie mniej
wymyslatego programiste ... I slusznie, notabene.
--
Michal Calka
(mjc...@pik-net.pl)
>>Ale chyba nie jest to złe pytanie?
>Nie, pod warunkiem, ze najpierw udzielisz odpowiedzi na pytanie
>"jak?...", a pytanie (retoryczne?) "po co?..." opatrzysz wyczerpujaca
>argumentacja. Podkreslam slowo "wyczerpujaca".
po co ?
Z przyjacielskim pozdrowieniem
Dariusz Zygmunt
Michal Calka napisał(a) w wiadomości: ...
>...
>>Ale chyba nie jest to złe pytanie?
>Nie, pod warunkiem, ze najpierw udzielisz odpowiedzi na pytanie
>"jak?...", a pytanie (retoryczne?) "po co?..." opatrzysz wyczerpujaca
>argumentacja. Podkreslam slowo "wyczerpujaca".
>
>>...
>W "naszej pracy" (brzmi jak cytat z Klossa) wazna jest takze rosnaca
>konkurencja. Jezeli klient chce miec kropke zamiast przecinka (albo
>odwrotnie), a ja mu na to "po co?", to on sobie znajdzie mniej
>wymyslatego programiste ... I slusznie, notabene.
>...