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

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

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

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 21.08.2009, 20:14   #1
Alexij
Пользователь
 
Регистрация: 27.02.2008
Сообщений: 31
Восклицание Ребята,помогите.

Допустим у меня на форме 3 эдита,1-й эдит ввод переменной "а", 2-й эдит ввод переменной "б", а третий допустим выводит сумму этих переменных, подскажите как в листинге написать исключительную ситуацию,на то что если по ошибке пользователь не введет одну из переменных, чтобы выходило сообщение "введите переменную"?Заранее спасибо!
Alexij вне форума
Старый 21.08.2009, 20:18   #2
Vol666
Гуру Разврата
Форумчанин
 
Аватар для Vol666
 
Регистрация: 29.07.2009
Сообщений: 373
По умолчанию

на кнопку посчитать ставишь такое условие:
if (Length(Edit1.Text)=0) or (Length(Edit2.Text)=0) then
begin
Edit3.Text:='В поля не введены числа';
end
else
begin
//Что должна делать программа...
end;
Фредди вернулся))) И Готов Убивать!!!

Последний раз редактировалось Vol666; 21.08.2009 в 20:29. Причина: :)
Vol666 вне форума
Старый 21.08.2009, 20:22   #3
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Или if Edit1.text=''
puporev вне форума
Старый 21.08.2009, 20:24   #4
Vol666
Гуру Разврата
Форумчанин
 
Аватар для Vol666
 
Регистрация: 29.07.2009
Сообщений: 373
По умолчанию

Цитата:
Сообщение от puporev Посмотреть сообщение
Или if Edit1.text=''
непрокатит если поставлю пробел и ещё надо поставить ввод только числовых данных NumbersOnly:=true;
Фредди вернулся))) И Готов Убивать!!!
Vol666 вне форума
Старый 21.08.2009, 20:27   #5
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Цитата:
непрокатит если поставлю пробел
s=' '; это уже не пустая строка, даже если ты его не видишь.
puporev вне форума
Старый 21.08.2009, 20:32   #6
Vol666
Гуру Разврата
Форумчанин
 
Аватар для Vol666
 
Регистрация: 29.07.2009
Сообщений: 373
По умолчанию

Цитата:
Сообщение от puporev Посмотреть сообщение
Или if Edit1.text=''
была пустая
Фредди вернулся))) И Готов Убивать!!!
Vol666 вне форума
Старый 21.08.2009, 20:34   #7
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Цитата:
была пустая
А я о чем? Если строка пустая, то ее длина равна нулю, т.е. это тоже самое что у тебя, только букаф меньше.
puporev вне форума
Старый 21.08.2009, 20:38   #8
Vol666
Гуру Разврата
Форумчанин
 
Аватар для Vol666
 
Регистрация: 29.07.2009
Сообщений: 373
По умолчанию

Цитата:
Сообщение от puporev Посмотреть сообщение
А я о чем? Если строка пустая, то ее длина равна нулю, т.е. это тоже самое что у тебя, только букаф меньше.
Я говорю если в едит запить пробел то это уже будит считаться символом.
Фредди вернулся))) И Готов Убивать!!!
Vol666 вне форума
Старый 21.08.2009, 20:41   #9
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

До тебя плохо доходит?
Ты написал
if (Length(Edit1.Text)=0) or (Length(Edit2.Text)=0) then
я предложил
if Edit1.Text='' or Edit2.Text='' then
Чего тебе еще надо? Да и не тебе я это писал.
puporev вне форума
Старый 21.08.2009, 20:46   #10
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

А если хочешь разрешить правильный ввод чисел в Эдит, то надо сделать такую процедуру, тогда тебе просто не удастся неправильно ввести переменную.
Код:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
case Key of
  #8,'0'..'9' :  ; // цифры и <Back Space>
       '.',',': // разделитель целой и дробной частей числа
                begin
                  if Key <> DecimalSeparator then
                  Key := DecimalSeparator; // заменим разделитель на допустимый
                  if Pos(DecimalSeparator,StringGrid1.Cells[StringGrid1.Col,0]) <> 0
                  then Key := Chr(0); // запрет ввода второго разделителя
                end;
           '-':    // минус можно ввести только первым символом,
                // т.е. когда ячейка пустая
                if Length(StringGrid1.Cells[StringGrid1.Col,0]) <> 0
                      then Key := Chr(0);

        else   // остальные символы запрещены
               key := Chr(0);
    end;
end;
puporev вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ребята, помогите... irinka123 Паскаль, Turbo Pascal, PascalABC.NET 1 13.04.2009 09:07
Ребята помогите Doctor_iZmail PHP 2 17.02.2008 23:01
Ребята я новичок помогите..... Alex-jr Microsoft Office Excel 5 17.12.2007 07:02