Такая вот проблема, есть поле куда пользователь вводит вещественные числа, проблема в том, что на разных операционках, в зависимости от настройки, разные знаки разделения либо . либо , из-за этого прога просто вылетает.
Как можно узнать какой знак нужно ставить для разделения дробной части?
Или как можно заблокировать вывод этой ошибки, и просто поправить на противоположный знак?
Error, string is not float!
Модераторы: Duncon, Naeel Maqsudov, Игорь Акопян, Хыиуду
-
- Сообщения: 407
- Зарегистрирован: 13 сен 2004, 12:05
- Откуда: Курган
- Контактная информация:
Чем проще - тем оригинальней, а значит гениально, т.к. все гениальное - просто!
Да! Кстати! Ctrl+V реально вставляет!!! ХDD

В Sysutils есть переменная с именем DecimalSeparator. В начале приложения задай ей нужный символ. Должно помочь.
Даже самый дурацкий замысел можно воплотить мастерски
Более аскетичный вариант: считывать из строки посимвольно в некий буфер символы, пока они числовые, потом пропустить все нечисловые, потом в другой буфер считать снова числовые. Получим отдельно целую и дробную часть. Правда, дробную еще надо разделить на 10 в соответствующей степени
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
-
- Сообщения: 340
- Зарегистрирован: 22 ноя 2004, 19:15
- Откуда: Минск
- Контактная информация:
ДА делай так допустим в cretaeformAiK писал(а):В Sysutils есть переменная с именем DecimalSeparator. В начале приложения задай ей нужный символ. Должно помочь.
DecimalSeparator:='.';
Просто набрать исходники может и любая обезьяна, а придумать и отладить не каждый человек.
-
- Сообщения: 407
- Зарегистрирован: 13 сен 2004, 12:05
- Откуда: Курган
- Контактная информация:
Отлично! А вот и решение:
на OnKeyPress пишем:
If key=',' or '.' then
key:=DecimalSeparator;
Гы, и тот и другой вариант в одном
на OnKeyPress пишем:
If key=',' or '.' then
key:=DecimalSeparator;
Гы, и тот и другой вариант в одном

Чем проще - тем оригинальней, а значит гениально, т.к. все гениальное - просто!
Да! Кстати! Ctrl+V реально вставляет!!! ХDD
