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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.11.2015, 18:31   #1
Raina97
Пользователь
 
Регистрация: 06.11.2014
Сообщений: 37
По умолчанию Вывод ошибки при большем значении в нескольких Edit

Нужно чтобы выводилась ошибка если в Edit1 или Edit2 значение превышает:4
Мой код работает только для одного Edit,не могу никак додуматься чтобы работал и на 1-й и на 2-й едит..
помогите пожалуйста

Код:
Var s: string [5];
    t, i, j: integer;
begin

 s:= edit1.text;
 t:= StrToInt (s);
 m:= t;


   if not(m>4) then
begin



 StringGrid1.RowCount:= t;
 StringGrid1.Height:= 23*t+7;
 s:= edit2.text;
 t:= StrToInt (s)*2 +2;
 n:= StrToInt (s)+m+1;


 StringGrid1.ColCount:= t;
 StringGrid1.Width:= StringGrid1.DefaultColWidth*t+7;
 StringGrid2.ColCount:= t-2;
 StringGrid2.Width:= StringGrid2.DefaultColWidth*(t-2)+7;
 StringGrid3.ColCount:= t-2;
 StringGrid3.Width:= StringGrid3.DefaultColWidth*(t-2)+7;
 For i:=0 to StringGrid1.RowCount-1 do
  StringGrid1.Cells [StringGrid1.ColCount-2, i]:= '<=';
 j:=1;
 While j<StringGrid1.ColCount-2 do
 Begin
  For i:=0 to StringGrid1.RowCount-1 do
   StringGrid1.Cells [j, i]:= 'x'+IntToStr((j+1) div 2);
  j:= j+2;
 End;
 j:=1;
 While j<StringGrid2.ColCount do
 Begin
  StringGrid2.Cells [j, 0]:= 'x'+IntToStr((j+1) div 2);
  j:= j+2;
 End;
 j:=0;
 While j<StringGrid3.ColCount do
 Begin
  StringGrid3.Cells [j, 0]:= 'x'+IntToStr((j+2) div 2)+'=';
  j:= j+2;
 End;
 Button3.Enabled:=false ;
 end
 else
    MessageDlg('Максимальное кол-во переменных:5'+#13+'Введите значение меньше',mtError, mbOKCancel, 0);
end;

Последний раз редактировалось Stilet; 12.11.2015 в 19:03.
Raina97 вне форума Ответить с цитированием
Старый 12.11.2015, 19:07   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Я бы так не делал, ну да ладно...
Код:
Var s: string [5];
    t, i, j,Ed1,Ed2,: integer;
begin

 s:= edit1.text;  Ed1:= StrToInt (s);
 s:= edit2.text;  Ed2:= StrToInt (s);

   if (Ed1<=4) and (Ed2<=4) then begin

    t:= Ed2*2 +2;
    n:= Ed2+Ed1+1;
    StringGrid1.RowCount:= t;
    StringGrid1.ColCount:= t;
    StringGrid1.Height:= 23*t+7;
....
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 12.11.2015, 19:18   #3
FaTaL
Участник клуба
 
Аватар для FaTaL
 
Регистрация: 09.11.2007
Сообщений: 1,759
По умолчанию

Не помню как в D7, но в последних версиях у TEdit есть свойство MaxLength
FaTaL вне форума Ответить с цитированием
Старый 13.11.2015, 00:09   #4
northener
ПШП
Участник клуба
 
Регистрация: 15.07.2013
Сообщений: 1,859
По умолчанию

Цитата:
Сообщение от FaTaL Посмотреть сообщение
Не помню как в D7, но в последних версиях у TEdit есть свойство MaxLength
Не знаю как в последних версиях Дельфи, но начиная с истоков MaxLength ограничивал число вводимых в TEdit символов. И ничего более.
northener вне форума Ответить с цитированием
Старый 13.11.2015, 07:53   #5
Andrei
Форумчанин
 
Регистрация: 20.06.2007
Сообщений: 270
По умолчанию

Повесить на событие OnExit Ваших Edit-ов обработчтик ошибки, что-то на подобии такого:

Код:
procedure TForm1.OnExitEdit(Sender: TObject);
begin
 if Sender.ClassType = TEdit then
   if StrToInt((Sender as TEdit).Text) > 4 then
    begin
      messageDlg('Значение превышает 4', mtInformation, [mbOk],0);
      (Sender as TEdit).SetFocus;
     end;
end;
Об остальных возможных ошибках ввода и их обработках подумайте сами.
-Кукушка, кукушка! Накукуй мне сто лет!
-А накукуй тебе столько?

(с) Библия. Вольный перевод с древнееврейского.

Последний раз редактировалось Andrei; 13.11.2015 в 08:10. Причина: более информативное наименование процедуры
Andrei вне форума Ответить с цитированием
Старый 13.11.2015, 15:23   #6
FaTaL
Участник клуба
 
Аватар для FaTaL
 
Регистрация: 09.11.2007
Сообщений: 1,759
По умолчанию

northener, извиняюсь. Смысл вопроса не так понял.
FaTaL вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вывод сообщения при совпадении нескольких критериев Your hostel Microsoft Office Excel 11 10.01.2014 01:17
Звук ошибки при KeyDown в Edit sanjokfefelov C++ Builder 0 14.10.2013 04:14
Вывод ошибки при недостаче товара pr1nc1k БД в Delphi 0 04.06.2013 22:25
Вывод ошибки при условии.... Arinka Помощь студентам 8 05.06.2010 14:54
Вывод ошибки при вводе цифры 1..5 в поле Edit prikolist Общие вопросы C/C++ 2 16.03.2009 00:22