Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.08.21;
Скачать: [xml.tar.bz2];

Вниз

Разделитель целой и дробной части   Найти похожие ветки 

 
Oleg   (2003-08-06 18:39) [0]

Для определения сабжа использую:

DecimalSeparator:=",";

и дальше уже перевожу стринги с , в веществ. числа.
всегда это работало без проблем, но сегодня попался мне слабенький аппарат с вин2000, так вот на нем разделитель подменялся не всегда, а со 2 - 3-го раза.


 
clickmaker   (2003-08-06 18:45) [1]

слабенький аппарат с вин2000

Процессор разгонять не пробовал? Или винт пошустрее поставить?


 
Oleg   (2003-08-06 19:32) [2]

не пробовал, поскольку это аппарат клиента, да вобщем-то и программа должна быть вездеходной.


 
dataMaster   (2003-08-06 19:48) [3]

Идея бредовая, но все же... Может системе нужна задержка во времени, чтобы успеть в себе переключить значение DecimalSeparator"а? Или хотя бы выполнить ProcessMessages после DecimalSeparator:=",";


 
ZrenBy   (2003-08-06 19:52) [4]

Для вездеходности вообще нужно избегать
использования перевода стринги с , в веществ. числа

Например, число, при желании,
можно представлять в виде 123456E-4
или вообще использовать ф-ии DoubleToHex и HexToDouble или
DoubleToInt64 и Int64ToDouble

А если какая-нибудь прога меняет мой любимый
DecimalSeparator (не точка и не запятая) - дольше минуты
она не проживет


 
Anatoly Podgoretsky   (2003-08-06 20:03) [5]

Oleg (06.08.03 19:32)
Вездеходный говоришь, а сам творишь беспредел на машине пользователя, ему виднее какой разделитель использовать.
Да пользователь давно тебе должен кое что начистить, что бы было неповадно и близко тебя не подпускать к компьютеру, а то машинка виновата, лучше в зеркало посмотри.


 
Vladymir   (2003-08-07 00:36) [6]

А вот так, что нельзя:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if (Key in [".", ","]) then Key:= DecimalSeparator;
end;
Здесь о сепараторах несколько лет возня поднимается на ровном месте...


 
Bel   (2003-08-07 09:26) [7]

Ты не должен подменять разделитель, ты должен использовать использующийся системой разделитель. Вот это будет правильно.


 
Reindeer Moss Eater   (2003-08-07 09:38) [8]

Vladymir
Не все так просто. Попадись тебе строка с разделителем тысяч - и привет.


 
Е-моё имя   (2003-08-07 09:40) [9]

иногда нужно использовать свой разделитель
пример
с сервера приезжают строки, там числа с точками
на клиенте надо эти числа обработать как числа


 
Anatoly Podgoretsky   (2003-08-07 09:57) [10]

Е-моё имя © (07.08.03 09:40)
Не надо использовать свой разделитель, надо просто привести строку к должному формату. Не следует забывать, что DecimalSeparator не Thread Safе (до версии 7)


 
Сергеич   (2003-08-07 11:28) [11]

Могу предложить компоненты, которые автоматически отслеживают эти пробл-ы
abc@aeroflot.ru


 
Oleg.   (2003-08-07 15:56) [12]

Anatoly Podgoretsky © (06.08.03 20:03)
Для выплеска эмоций лучше по чатам пройди, а в форуме они не украшают.
А вот реальная задача: сохранять и считывать вещественные числа на разных компьютерах в обычном текстовом файле, чтобы можно было легко увидеть и оценить параметры даже без программы.
Конечно можно при записи в файл всегда вместо системного разделителя подставлять свой символ(хотя бы и точку) и затем его при чтении заменять этот символ на системный разделитель, но как-то коряво это выглядит.


 
Anatoly Podgoretsky   (2003-08-07 16:43) [13]

Oleg. (07.08.03 15:56)
Никаких реальных проблем твоя реальная ситуация не представляет. Но руки требуется прикладывать, конечно можно играться разделителем, но только так, что бы это не затрагивало пользователя и при этом не нарваться на проблемы, из его глобальности.



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2003.08.21;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.008 c
7-68559
Kirill_S
2003-06-06 18:03
2003.08.21
как получить список программ свернутых в SysTray?


1-68355
Yuraz
2003-08-08 13:08
2003.08.21
Мастера, как после trunc(Date) обратно получить дату?


4-68578
Igor__
2003-06-15 23:04
2003.08.21
Иконки в XP


14-68467
clickmaker
2003-08-06 13:15
2003.08.21
Дешевые гостиницы в Москве


14-68451
Best Gun
2003-08-04 15:49
2003.08.21
Эволюция





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский