![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
||||
|
||||
|
Создаю лотерею, и вот создал онклик на картинке вот код
Код:
var
Form1: TForm1;
i: integer=0;
procedure TForm1.Image2Click(Sender: TObject);
begin
i:=i+1;
if strtoint(edit1.text)=i then
ShowMessage('Вы ошиблись! Попробуйте еще!') else
ShowMessage('Вы выиграли!!!!! ПОЗДРАВЛЯЕМ! Возьмите свой приз!');
if i=20 then
ShowMessage('Лотерея окончена!');
Application.Terminate;
end;Вопрос: Почему когда я компилирую ввожу число в эдит нажимаю на имэйдж1(картинку) и пишет Вы выиграли, даже если 15 ввожу, а если ввожу вместо этого Код:
if i=20 then Вот это: Код:
if i<>20 then Вроде все правильно но нажимаю на ОК и пишет Лотерея закончилась Помогите исправить думаю может через for to do? |
|
#2
|
||||
|
||||
|
Ну потому, что: 15 не равно 1, значит отрабатывает то что в блоке else.
Вообщем так напишите: Код:
i:=i+1;
if i=20 then begin
ShowMessage('Лотерея окончена!');
Application.Terminate;
end
else
if strtoint(edit1.text) = i then
ShowMessage('Вы выиграли!!!!! ПОЗДРАВЛЯЕМ! Возьмите свой приз!');
else
ShowMessage('Вы ошиблись! Попробуйте еще!');ЗЫ Что- то не пойму, студенты if - else как раз сейчас начали изучать или что? |
|
#3
|
||||
|
||||
|
Спасибо=) Я не студент, я школьнЕГГ
![]() |
|
#4
|
||||
|
||||
|
И еще как сделать чтобы число больше 20 нельзя было вводить в эдит а если ввел то пишет типа Нельзя такое число вводить!
И еще просто нажимаю Ответить мне пишет вот такую фигню: Project Project1.exe raised exception class EConvertError with message "Ваше число...' is not a valid integer value'. Process stopped. Use Step or Run to continue Я так понял должно быть число как это исправить? Последний раз редактировалось PaHaNjkee, 05.11.2010 в 12:27. |
|
#5
|
|||
|
|||
|
Цитата:
Код:
if strtoint(edit1.text)>20 then ShowMessage('Больше 20 запрещено'); |