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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.05.2012, 20:21   #1
BastAngel
Пользователь
 
Аватар для BastAngel
 
Регистрация: 02.06.2010
Сообщений: 53
По умолчанию Комбобох

Можно ли сделать так, что бы при выборе в одном комбобоксе допустим XX век, в эдите можно было бы ввести год только от 1900 до 1999, и если бы мы вводили 1899 то выбивалось бы сообщение что "год указан не верно"?
BastAngel вне форума Ответить с цитированием
Старый 02.05.2012, 20:38   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Почему бы нет? пропиши условие
Код:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
var i:integer;
begin
 if Key=#13 then begin
   i:=StrToIntDef(TEdit(Sender).Text,0);
   if (ComboBox1.Text='XX век')and((i<1900)or(i>2000)) then ShowMessage('Неверно вводишь');
 end;
end;
Это в КейПрессе эдита
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 02.05.2012, 21:53   #3
BastAngel
Пользователь
 
Аватар для BastAngel
 
Регистрация: 02.06.2010
Сообщений: 53
По умолчанию

Не работает(
BastAngel вне форума Ответить с цитированием
Старый 02.05.2012, 23:18   #4
Алекс!
 
Регистрация: 03.11.2011
Сообщений: 9
По умолчанию

Можно так:
PHP код:
procedure TForm1.Edit1KeyPress(SenderTObject; var KeyChar);
var 
i:integer;
begin
 
if Key=#13 then begin
   
i:=StrToInt(edit1.text);
   if (
ComboBox1.Text='XX век')and((i>1900)or(i<2000)) then ShowMessage('Неверно вводишь');
 
end;
end
Алекс! вне форума Ответить с цитированием
Старый 02.05.2012, 23:32   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Не работает(
Не удивительно )
Это реализация. Только код события. Событие еще нужно назначить контроллу (В объекте инспекторов например мышкой), чего ты скорее всего не сделал.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 02.05.2012, 23:52   #6
BastAngel
Пользователь
 
Аватар для BastAngel
 
Регистрация: 02.06.2010
Сообщений: 53
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Не удивительно )
Это реализация. Только код события. Событие еще нужно назначить контроллу (В объекте инспекторов например мышкой), чего ты скорее всего не сделал.
Если не трудно можешь расписать?*
BastAngel вне форума Ответить с цитированием
Старый 03.05.2012, 00:01   #7
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А книжки почитать? С Иллюстрациями, где показано куда кликать?
Как я словами опишу? Может у тебя Делфи настроено не так как у меня.
Узнай как создавать в инспекторе объектов событие и поймешь что делать.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 03.05.2012, 00:13   #8
BastAngel
Пользователь
 
Аватар для BastAngel
 
Регистрация: 02.06.2010
Сообщений: 53
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
А книжки почитать? С Иллюстрациями, где показано куда кликать?
Как я словами опишу? Может у тебя Делфи настроено не так как у меня.
Узнай как создавать в инспекторе объектов событие и поймешь что делать.
Смотри, у меня получается идет форма, на ней расположены два комбобокса и три эдита, "Тип, зал, название, автор, год создания" после заполнения нажимаем на кнопку и эти данные вносятся в таблицу БД. Так вот при выборе в комбобоксе "Зал" XX век, и если я в едите "год создания" внесу 1899 год(и тп.) нажму на кнопку и вот тогда что бы вылетело сообщение.

Как-то так.

Может теперь сможешь помочь?
BastAngel вне форума Ответить с цитированием
Старый 03.05.2012, 07:52   #9
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Тем кто цурается книг уже ничем не помочь.
Вот:
Код:
var i:integer;
begin
   i:=StrToIntDef(EditГодаСоздания.Text,0);
   if (ComboBox1.Text='XX век')and((i<1900)or(i>2000)) then ShowMessage('Неверно вводишь');
end;
Внесешь это в обработчик клика кнопки.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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

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

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как вывести в комбобох столбцы таблицы? MeTeOpA БД в Delphi 4 18.05.2010 03:31