Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.02.2013, 12:53   #1
Alkatras
Пользователь
 
Регистрация: 25.05.2010
Сообщений: 24
По умолчанию запятая вместо точки в InputQuery

Добрый вечер! Извиняюсь, но поиск результатов не дал.
Необходимо чтобы вместо точки в InputQuery вводилась запятая.
Код:
// цикл ввода концентрации пробы
        repeat
          if not InputQuery('Проба','Введите концентрацию', s) then
            Showmessage('Необходимо ввести данные');
        until s <> '';
Заранее спасибо!
Alkatras вне форума Ответить с цитированием
Старый 04.02.2013, 13:13   #2
Delphi_ProGer
Форумчанин
 
Регистрация: 30.10.2010
Сообщений: 524
По умолчанию

Так как вы хотите - невозможно(наверное), а вот после ввода заменить все точки на запятую - можно
Delphi_ProGer вне форума Ответить с цитированием
Старый 04.02.2013, 13:27   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

так. стоп. Что значит - "чтобы вместо точки в InputQuery вводилась запятая" ??!
Через InputQuery вводится СТРОКА (текст).
Там можно ввести не только точку, запятую, точку с запятой, но и даже буквы, пробелы и знаки препинания!
Что Вы с этим делать собираетесь?!

p.s. либо обрабатывайте строчку после ввода, либо меняйте процедуру ввода данных (используйте специальные контролы)

Последний раз редактировалось Serge_Bliznykov; 04.02.2013 в 13:36.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 04.02.2013, 13:30   #4
Alkatras
Пользователь
 
Регистрация: 25.05.2010
Сообщений: 24
По умолчанию

Цитата:
Сообщение от Delphi_ProGer Посмотреть сообщение
Так как вы хотите - невозможно(наверное), а вот после ввода заменить все точки на запятую - можно
ну мне любая информация будет полезной)
Alkatras вне форума Ответить с цитированием
Старый 04.02.2013, 13:42   #5
Delphi_ProGer
Форумчанин
 
Регистрация: 30.10.2010
Сообщений: 524
По умолчанию

Заменить символы в строке можно с помощью функции Replace() - подробно смотрите в справке.
Delphi_ProGer вне форума Ответить с цитированием
Старый 04.02.2013, 13:59   #6
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Код:
        s := StringReplace(s, '.', ',', [rfReplaceAll]);
или, лучше, так:
Код:
        s := StringReplace(s, '.', DecimalSeparator, [rfReplaceAll]);
        s := StringReplace(s, ',', DecimalSeparator, [rfReplaceAll]);
Serge_Bliznykov вне форума Ответить с цитированием
Старый 04.02.2013, 13:59   #7
Alkatras
Пользователь
 
Регистрация: 25.05.2010
Сообщений: 24
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
так. стоп. Что значит - "чтобы вместо точки в InputQuery вводилась запятая" ??!
Через InputQuery вводится СТРОКА (текст).
Там можно ввести не только точку, запятую, точку с запятой, но и даже буквы, пробелы и знаки препинания!
Что Вы с этим делать собираетесь?!

p.s. либо обрабатывайте строчку после ввода, либо меняйте процедуру ввода данных (используйте специальные контролы)
В InputQuery вводится дробное значение. Delphi обрабатывает значения с разделителем ','. Поэтому я и хочу её получить. Пробовал использовать DecimalSeparator, не помогло.
Alkatras вне форума Ответить с цитированием
Старый 04.02.2013, 14:00   #8
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

смотрите мой пример с кодом постом выше.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 05.02.2013, 05:59   #9
Alkatras
Пользователь
 
Регистрация: 25.05.2010
Сообщений: 24
По умолчанию

Большое спасибо!
Alkatras вне форума Ответить с цитированием
Старый 05.02.2013, 17:36   #10
ДралсяСошибками
Форумчанин
 
Аватар для ДралсяСошибками
 
Регистрация: 31.05.2011
Сообщений: 301
По умолчанию

Может в Dialog.pas дописать событие OnKeyDown к создаваемому Edit в InputQuery и заменять точки на запятые при вводе)))
ДралсяСошибками вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Запятая вместо точки в форме VBA OLEGIK1974 Microsoft Office Excel 3 26.08.2012 22:50
InputQuery в модуле QDialogs _SERGEYX_ Общие вопросы Delphi 2 03.12.2010 17:44
Имеются координаты точки. Как проверить какого цвета соседние точки на форме? Rin Мультимедиа в Delphi 2 10.11.2009 22:47
даны две точки. организовать движение из точки А в точку Б окружности! Wi1D Помощь студентам 6 23.05.2009 19:55
Отбражение чисел - точки, это точки, а не запятые, обозначающие дробную часть Дикий Помощь студентам 7 12.05.2008 17:57