Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 05.11.2010, 11:16
Аватар для PaHaNjkee
PaHaNjkee PaHaNjkee вне форума
Начинающий
 
Регистрация: 13.10.2010
Адрес: Ульяновск
Сообщения: 115
Репутация: 10
По умолчанию Помогите с лохотроном

Создаю лотерею, и вот создал онклик на картинке вот код
Код:
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
То если я пишу 15 пишет Вы ошиблись! Попробуйте еще!
Вроде все правильно но нажимаю на ОК и пишет Лотерея закончилась

Помогите исправить думаю может через for to do?
__________________
Начинающий Delphi
Помогаю за Спасибо!
Ответить с цитированием
  #2  
Старый 05.11.2010, 11:57
Аватар для TOJluK
TOJluK TOJluK вне форума
Местный
 
Регистрация: 25.02.2009
Адрес: Минск
Сообщения: 551
Версия Delphi: 2007
Репутация: 110
По умолчанию

Ну потому, что: 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  
Старый 05.11.2010, 12:13
Аватар для PaHaNjkee
PaHaNjkee PaHaNjkee вне форума
Начинающий
 
Регистрация: 13.10.2010
Адрес: Ульяновск
Сообщения: 115
Репутация: 10
По умолчанию

Спасибо=) Я не студент, я школьнЕГГ
__________________
Начинающий Delphi
Помогаю за Спасибо!
Ответить с цитированием
  #4  
Старый 05.11.2010, 12:14
Аватар для PaHaNjkee
PaHaNjkee PaHaNjkee вне форума
Начинающий
 
Регистрация: 13.10.2010
Адрес: Ульяновск
Сообщения: 115
Репутация: 10
По умолчанию

И еще как сделать чтобы число больше 20 нельзя было вводить в эдит а если ввел то пишет типа Нельзя такое число вводить!

И еще просто нажимаю Ответить мне пишет вот такую фигню:

Project Project1.exe raised exception class EConvertError with message "Ваше число...' is not a valid integer value'. Process stopped. Use Step or Run to continue

Я так понял должно быть число как это исправить?
__________________
Начинающий Delphi
Помогаю за Спасибо!

Последний раз редактировалось PaHaNjkee, 05.11.2010 в 12:27.
Ответить с цитированием
  #5  
Старый 05.11.2010, 17:35
Кодер Кодер вне форума
Активный
 
Регистрация: 25.02.2008
Сообщения: 395
Репутация: -599
По умолчанию

Цитата:
И еще как сделать чтобы число больше 20 нельзя было вводить в эдит а если ввел то пишет типа Нельзя такое число вводить!

Код:
if strtoint(edit1.text)>20 then ShowMessage('Больше 20 запрещено');
Ответить с цитированием
Ответ


Delphi Sources

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

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 17:27.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025