Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Закрытая тема
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 28.09.2009, 20:38
Аватар для Лунтик-Некрофил
Лунтик-Некрофил Лунтик-Некрофил вне форума
Начинающий
 
Регистрация: 28.09.2009
Сообщения: 165
Репутация: 12
Печаль Символы в Edit

Как можно сделать, чтобы Edit не писал определённые символы? Например мне надо сделать чтобы в Edit можно было писать только цифирные знаки, а все остальные удалялись.
Как я это сделал:
Код:
const Ex : set of ansichar = [тут приходится перебирать все знаки кроме цифер]; 
var i : integer;
begin

  for i := 1 to length(edit1.text) do
    if edit1.text[i] in Ex then begin
        ShowMessage('Неверное число');
        Edit1.text:=''; end;
Подскажите пожалуйста, как можно облегчить работу? Иначе 5+ за такую массивную прогу и не светит
Заранее благодарен, Лунтик
  #2  
Старый 28.09.2009, 20:39
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,037
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Код:
procedure TForm1.Edit1KeyPress(Sender : TObject; var Key : Char)
begin
  If Not (Key In ['0'..'9']) Then Key := #0;
end;

пропустит только цифры.
  #3  
Старый 28.09.2009, 20:41
Аватар для Лунтик-Некрофил
Лунтик-Некрофил Лунтик-Некрофил вне форума
Начинающий
 
Регистрация: 28.09.2009
Сообщения: 165
Репутация: 12
По умолчанию

Спасибо, попробуем=)
  #4  
Старый 28.09.2009, 20:41
Аватар для Yurk@
Yurk@ Yurk@ вне форума
Специалист
 
Регистрация: 07.09.2007
Адрес: Украина, г. Днепропетровск
Сообщения: 892
Версия Delphi: 7 + ОгнеПтица
Репутация: выкл
По умолчанию

в событии OnKeyPress твоего Edit:
Код:
case Key of 
'1'..'9' :;
else Key:=#0
end;
__________________
Поживу - увижу, Доживу - узнаю, Выживу - учту.
[P.S.]->Выражая благодарность за помощь - Вы получаете шанс на помощь в следующий раз
  #5  
Старый 14.10.2009, 21:46
DungeonLords DungeonLords вне форума
Активный
 
Регистрация: 21.07.2008
Сообщения: 257
Репутация: 14
По умолчанию

Hi all!

Открываю старую тему чтобы испросить решения проблемы. Есть Edit1, в него записываются программой некие значения ('!!!!!!') при этом, если пользователь нажмёт "f", "g" или др. клавишу, она введётся в этот Edit. Как избавится от этого?

Кстати, если Enabled:=False, то этого не происходит, но цвет шрифта становится серым. Мне нужно красным.
__________________
Делаем'c разные игры. Искать на glscene.ru
  #6  
Старый 14.10.2009, 22:37
ApxaHGe1 ApxaHGe1 вне форума
Активный
 
Регистрация: 08.04.2008
Адрес: Нижний новгород
Сообщения: 311
Репутация: 38
По умолчанию

ReadOnly:=True ?
  #7  
Старый 15.10.2009, 16:05
DungeonLords DungeonLords вне форума
Активный
 
Регистрация: 21.07.2008
Сообщения: 257
Репутация: 14
По умолчанию

спасибо большое.
__________________
Делаем'c разные игры. Искать на glscene.ru
Закрытая тема


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 12:19.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter