Модераторы: Poseidon, Snowy, bems, MetalFan

Поиск:

Закрытая темаСоздание новой темы Создание опроса
> Запятая вместо точки, Как это реализовать 
:(
    Опции темы
ivan219
Дата 18.12.2005, 09:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1121
Регистрация: 19.11.2005
Где: Планета земля

Репутация: 2
Всего: 12



Здравствуйте.

Есть компонент Edit1 мне внего нужно писать только цифры и запятую преобразование из знаков в цифры делаю препомощи (R1:=StrToFloat(Edit1.Text);) так вот если в водить число (12,23) то всё ОК а если (12.23) то вознекает ошибка.

Вопрос: как зделать так чтоб при нажатии на ( . ) в окне Edit1 поевлялась ( , ) и ошибки небыло.
PM MAIL ICQ   Вверх
Albinos_x
Дата 18.12.2005, 10:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Evil Skynet
****


Профиль
Группа: Комодератор
Сообщений: 3288
Регистрация: 28.5.2004
Где: X-6120400 Y-1 4624650

Репутация: 26
Всего: 108



Код

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if not (key in ['0'..'9',#8,',','.']) then
   key:=#0
   else
   begin
   if key='.' then
      key:=',';
   end;
end;


Это сообщение отредактировал(а) Albinos_x - 18.12.2005, 10:13


--------------------
"Кто владеет информацией, тот владеет миром"    
Уинстон Черчилль
PM MAIL ICQ   Вверх
Демо
Дата 18.12.2005, 14:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1278
Регистрация: 3.11.2005

Репутация: 30
Всего: 50



Albinos_x

Подправлю.

Код

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
    case Key of
      '0'..'9',#8: ;
      ',','.': Key := DecimalSeparator;
      else key := #0;
    end;
end;



--------------------
    
PM MAIL ICQ Skype   Вверх
Albinos_x
Дата 18.12.2005, 15:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Evil Skynet
****


Профиль
Группа: Комодератор
Сообщений: 3288
Регистрация: 28.5.2004
Где: X-6120400 Y-1 4624650

Репутация: 26
Всего: 108



тот же икс, только вид сбоку smile


--------------------
"Кто владеет информацией, тот владеет миром"    
Уинстон Черчилль
PM MAIL ICQ   Вверх
Snowy
Дата 18.12.2005, 15:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 192
Всего: 484



Цитата(Albinos_x @ 18.12.2005, 15:23)
тот же икс, только вид сбоку

За исключением
Цитата(Albinos_x @ 18.12.2005, 15:23)
DecimalSeparator;

Это правильнее.
PM MAIL   Вверх
Albinos_x
Дата 18.12.2005, 15:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Evil Skynet
****


Профиль
Группа: Комодератор
Сообщений: 3288
Регистрация: 28.5.2004
Где: X-6120400 Y-1 4624650

Репутация: 26
Всего: 108



Цитата(Snowy @ 18.12.2005, 15:25)
Это правильнее.

единственное.... но результат будет тот же...


--------------------
"Кто владеет информацией, тот владеет миром"    
Уинстон Черчилль
PM MAIL ICQ   Вверх
DeadSoul
Дата 18.12.2005, 16:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1217
Регистрация: 25.9.2005
Где: Москва

Репутация: 1
Всего: 11



А если я вставлю эту запятую\точку нажав Ctrl+v? ;) Код будет работать?
По мне наилучший вариант - замена . на , при получение текста данного едита

P.S. Я знаю, что я зануда.


--------------------
 Если Вы получили ответ на Ваш вопрос, то нажмите на "Вопрос решен". 

Бьем спамеров их же оружием. Пусть весь спам сыпется им
[email protected] 
PM   Вверх
Демо
Дата 18.12.2005, 16:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1278
Регистрация: 3.11.2005

Репутация: 30
Всего: 50



Цитата(Albinos_x @ 18.12.2005, 16:58)
единственное.... но результат будет тот же...


Если только в системе разделитель тот же самый. А если нет, то результат будет другой ;)

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


--------------------
    
PM MAIL ICQ Skype   Вверх
Albinos_x
Дата 18.12.2005, 16:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Evil Skynet
****


Профиль
Группа: Комодератор
Сообщений: 3288
Регистрация: 28.5.2004
Где: X-6120400 Y-1 4624650

Репутация: 26
Всего: 108



Цитата
А если нет,

ет точно, но если честно, то я с этим не разу не сталкивался...



--------------------
"Кто владеет информацией, тот владеет миром"    
Уинстон Черчилль
PM MAIL ICQ   Вверх
Romikgy
Дата 19.12.2005, 15:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 26
Всего: 146



Цитата(DeadSoul @ 18.12.2005, 16:11)
А если я вставлю эту запятую\точку нажав Ctrl+v?
Здеся нужен обработчик onChanged (кажется так правильно), а выше приведенный код только для нажитий на батоны клавы!



--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
Guest
Дата 20.12.2005, 18:32 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Всем спасибо smile
  Вверх
TwisT_X
Дата 20.12.2005, 18:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


It's works!
**


Профиль
Группа: Участник
Сообщений: 293
Регистрация: 15.2.2005
Где: Earth

Репутация: нет
Всего: 4



А я вообще не догнал что такое DecimalSeparator подскажите..


--------------------
Если ты упадешь я буду рядом. (с) Асфальт
PM MAIL WWW   Вверх
Snowy
Дата 20.12.2005, 18:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 192
Всего: 484



Цитата(TwisT_X @ 20.12.2005, 18:50)
что такое DecimalSeparator подскажите..

Это точка, запятая или что угодно, что явняется разделителем целой и дробной части, согласно настроек системы.

Добавлено @ 18:56
Я могу установить в качестве разделителя слово "хвост" и у меня не будет работать ни точка не запятая, а вот DecimalSeparator будет.
PM MAIL   Вверх
TwisT_X
Дата 20.12.2005, 19:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


It's works!
**


Профиль
Группа: Участник
Сообщений: 293
Регистрация: 15.2.2005
Где: Earth

Репутация: нет
Всего: 4



Snowy спосибо надо будет запомнить..?.


--------------------
Если ты упадешь я буду рядом. (с) Асфальт
PM MAIL WWW   Вверх
Alex
Дата 20.12.2005, 20:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4147
Регистрация: 25.3.2002
Где: Москва

Репутация: 80
Всего: 162



Цитата(Snowy @ 20.12.2005, 18:55)
Я могу установить в качестве разделителя слово "хвост" и у меня не будет работать ни точка не запятая, а вот DecimalSeparator будет.

Горячиться не нужно DecimalSeparator - это Char. Так, что можно только 1 символ поставить.


--------------------
Написать можно все - главное четко представлять, что ты хочешь получить в конце. 
PM Skype   Вверх
Закрытая темаСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0625 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.