IPB
ЛогинПароль:

> ВНИМАНИЕ!

Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

> Порядок выполнения команд, какие же строки кода выполняются в дэльфе?
сообщение
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 12
Пол: Мужской

Репутация: -  0  +


Имеется следующий фрагмент кода на кнопке:

Код
procedure TForm1.Button2Click(Sender: TObject);
begin

if flag=1 then
  begin
    flag:=0;
    button2.Caption := 'Начать игру';
    kredit:=0;
  end;

if flag=0 then
  begin
    flag:=1;{игра началась}
    button2.Caption := 'Остановить';
    kredit:=100;
  end;
Label1.Caption := 'Кредит: '+IntToStr(kredit);
end;

end.


Задумывалось так: изначально при старте флаг сброшен. При нажатии на кнопку "типа игра пошла", флаг устанавливается, выводится текст, инициализируются переменные. При повторном нажатии (значение флага-то сменилось и по идее дельфя должна проигнорировать условие if flag=0, а на if flag=1 обратить внимание) флаг сбрасывается и выводятся сообщения.

Что-то слабо верится в то, что пример корректно работает.
:(
Считал, что дэльфя выполняет строки одна за другой, т.е.:
Код
if flag=1 then действие1
if flag=2 then действие2
if flag=3 then действие3
if flag=n then действие n


Чтобы уж точно отделиться от других операторов, даже заключил выполнение в кармашек
Код
begin-end


В реальности выполняется тока первая команда, а как быть с остальным содержимым проверочного блока?. Блин, даже на асме такого глюка нет.
:)))
Смех-смехом, а курсовик надо как-то сделать, жаль что прогу нельзя сдать на асме.
:(
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


просто человек
******

Группа: Пользователи
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

Репутация: -  55  +


во-первых, что за странная конструкция?
if flag=0 then

это условие будет выполняться всегда? (flag может быть равен только 0 или 1?)

Что получается у тебя:
заходим в процедуру. flag=1
идем в соотв. условие.
делаем
flag:=0;

как думаешь, что после этого произойдет на
if flag=0 then
?

если не хочешь такого, вместо 2 if-ов делай if... then ... else...


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 24.04.2024 6:50
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name