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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 05.02.2011, 23:24   #1
CAMOBAP
Форумчанин
 
Регистрация: 07.12.2010
Сообщений: 115
По умолчанию Case(Delphi)

Код:
i:integer; 
edit1.text:=inttostr(i);
case not i of 
1:showmessage('Ошибка');
2:showmessage('Ошибка');
3:showmessage('Ошибка');
4:showmessage('Ошибка');
else
...
как по другому можно передать ?не совсем робота способно.
CAMOBAP вне форума Ответить с цитированием
Старый 05.02.2011, 23:28   #2
veniside
Старожил
 
Регистрация: 03.01.2011
Сообщений: 2,508
По умолчанию

Да переделать по-разному можно. Только задача-то в чём состоит?
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
veniside вне форума Ответить с цитированием
Старый 05.02.2011, 23:41   #3
CAMOBAP
Форумчанин
 
Регистрация: 07.12.2010
Сообщений: 115
По умолчанию

если в edit введены не те числа - выводиться ошибка.
CAMOBAP вне форума Ответить с цитированием
Старый 05.02.2011, 23:51   #4
ArtGrek
DelphiProger
Участник клуба
 
Аватар для ArtGrek
 
Регистрация: 14.11.2010
Сообщений: 1,023
По умолчанию

если я правелно понял, вводим в едит 1,2,3,4 , если другие числа то ошибка
Код:
var
  i:integer; 
begin
  i := StrToInt(Edit1.Text);

  case  i of 
    1: ...
    2: ...
    3: ...
    4: ...
  end
  else showmessage('Ошибка');
VirusN13
ArtGrek вне форума Ответить с цитированием
Старый 05.02.2011, 23:51   #5
veniside
Старожил
 
Регистрация: 03.01.2011
Сообщений: 2,508
По умолчанию

Код:
i := StrToIntDef(Edit1.Text, -1);
case (i) of

  -1: ShowMessage('Мы ожидали число, а вы ввели херню (или -1, что тоже плохо).');
   0: ShowMessage('Ну и зачем вы ввели 0? Мы были о вас лучшего мнения.');
   1: ShowMessage('Молодец, возьми с полки пирожок.');
  2..100: ShowMessage('Вас слишком много.');
  else
     ShowMessage('Вы ввели такой чудовищный бред, что даже анализировать его лень.');
end;
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
veniside вне форума Ответить с цитированием
Старый 05.02.2011, 23:59   #6
CAMOBAP
Форумчанин
 
Регистрация: 07.12.2010
Сообщений: 115
По умолчанию

спасибо) veniside твой вариант порадовал)
ArtGrek твой подходит больше, но не совсем работает. ругается на
Код:
 i := StrToInt(Edit1.Text);
Код:
[Error] Unit5.pas(64): Incompatible types: 'String' and 'Integer'

Последний раз редактировалось CAMOBAP; 06.02.2011 в 00:06.
CAMOBAP вне форума Ответить с цитированием
Старый 06.02.2011, 00:19   #7
a9N2k
Заблокирован
 
Регистрация: 01.02.2011
Сообщений: 44
Радость

Цитата:
Сообщение от CAMOBAP Посмотреть сообщение
спасибо) veniside твой вариант порадовал)
ArtGrek твой подходит больше, но не совсем работает. ругается на
Код:
 i := StrToInt(Edit1.Text);
Код:
[Error] Unit5.pas(64): Incompatible types: 'String' and 'Integer'
StrToInt(число->строка)
IntToStr(cтрока->число)
a9N2k вне форума Ответить с цитированием
Старый 06.02.2011, 00:29   #8
ArtGrek
DelphiProger
Участник клуба
 
Аватар для ArtGrek
 
Регистрация: 14.11.2010
Сообщений: 1,023
По умолчанию

Код:
var
  i:integer; 
 i := StrToInt(Edit1.Text);
не реально
Цитата:
[Error] Unit5.pas(64): Incompatible types: 'String' and 'Integer'
иши ошибку у себя
VirusN13
ArtGrek вне форума Ответить с цитированием
Старый 06.02.2011, 00:40   #9
CAMOBAP
Форумчанин
 
Регистрация: 07.12.2010
Сообщений: 115
По умолчанию

нашел .поправил.спасибо большое)

как можно ограничить нажатия клавиш? только что бы 1-4 нажимались.

Последний раз редактировалось Stilet; 06.02.2011 в 12:00.
CAMOBAP вне форума Ответить с цитированием
Старый 06.02.2011, 10:48   #10
GetMax
Форумчанин
 
Регистрация: 21.10.2010
Сообщений: 588
По умолчанию

Цитата:
как можно ограничить нажатия клавиш? только что бы 1-4 нажимались.
Примерно так
Код:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
   If Not ( Key in ['1'..'4']) then Key:=Chr(0)
end;

end.
Пользователь не знает, чего он хочет, пока не увидит то, что он получил.
Для благодарностей WMR R145235935681
GetMax вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
case (Delphi) BaseKick Помощь студентам 8 25.04.2013 22:40
сделать в Delphi 7 c помощью case ilnar Помощь студентам 2 16.12.2009 14:08