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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 29.11.2013, 00:02   #1
Mits
Новичок
Джуниор
 
Регистрация: 28.11.2013
Сообщений: 5
По умолчанию [DELPHI] Проблема с командой Goto

Здравствуйте форумчане .
У меня проблема с командой goto
Как я описал
Код:
implementation
 label
  gotolabel,gotolabelwin,gotolabelend;
А сдесь ошибка
Код:
read (z);
      if (z<>4) then goto gotolabel
      else
ошибка label 'gotolabel' is not declared in current procedure
Mits вне форума Ответить с цитированием
Старый 29.11.2013, 00:11   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

судя по ошибке, метку нужно объявить в той процедуре, где Вы её пытаетесь использовать.

А зачем Вам вообще goto ?! Вас не учили, что это не кузявно?!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 29.11.2013, 00:14   #3
Mits
Новичок
Джуниор
 
Регистрация: 28.11.2013
Сообщений: 5
По умолчанию

Учили ,но обойтись без него не могу
Да я понял что обявить нужно, также не получалось .Можно пример как ее обявить правельно
Mits вне форума Ответить с цитированием
Старый 29.11.2013, 00:19   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Учили ,но обойтись без него не могу
пример кода, где Вы не можетесь обойтись дайте, подумаем вместе!


Цитата:
Да я понял что обявить нужно, также не получалось .Можно пример как ее обявить правельно
легко:
Код:
procedure TForm5.Button2Click(Sender: TObject);
label gotolabel;
var
   z : integer;
   f : file of integer;
begin

  gotolabel:
    Read(f, z);
    if (z<>4) then goto gotolabel
    else
       Read(f,z);

end;
Serge_Bliznykov вне форума Ответить с цитированием
Старый 29.11.2013, 00:32   #5
Mits
Новичок
Джуниор
 
Регистрация: 28.11.2013
Сообщений: 5
По умолчанию

Нам задали сделать игру на подобии миллионера. Надо чтобы при правильном ответе игра продолжалась а при неправильном ответе высвечивалось сообщение о то что вы проиграли и программа закрывалась.
Код:
writeln ('2+2= ?');
      read (z);
      if (z<>4) then goto gotolabel
      else

Последний раз редактировалось Mits; 29.11.2013 в 00:38.
Mits вне форума Ответить с цитированием
Старый 29.11.2013, 00:51   #6
type_Oleg
Старожил
 
Аватар для type_Oleg
 
Регистрация: 02.03.2008
Сообщений: 2,499
По умолчанию

Что-то не пойму, у вас оконное или консольное приложение.
Если оконное, то вот так можно
Код:
 if (z<>4) then 
  begin
   ShowMessage(' Hasta la vista, baby  ');
   Close;
  end
else  // продолжение
type_Oleg вне форума Ответить с цитированием
Старый 29.11.2013, 01:25   #7
Mits
Новичок
Джуниор
 
Регистрация: 28.11.2013
Сообщений: 5
По умолчанию

Консольное , но в консоле не интересно .Консольную версию я сделал .
Какая команда аналог консольной команды read .
Mits вне форума Ответить с цитированием
Старый 29.11.2013, 01:59   #8
type_Oleg
Старожил
 
Аватар для type_Oleg
 
Регистрация: 02.03.2008
Сообщений: 2,499
По умолчанию

Цитата:
Сообщение от Mits Посмотреть сообщение
Какая команда аналог консольной команды read .
Полного аналога, наверное нет. Для ввода обычно используют компонент Edit
например
Код:
var otvet:string;
     z:Integer;
begin 
 otvet:=Edit1.Text;        // или так
 z:=StrToInt(Edit1.Text); // или так
// ....
Это имели ввиду ?
type_Oleg вне форума Ответить с цитированием
Старый 29.11.2013, 04:19   #9
Vad33
Участник клуба
 
Аватар для Vad33
 
Регистрация: 24.07.2009
Сообщений: 638
По умолчанию

Цитата:
Сообщение от Mits Посмотреть сообщение
Консольное , но в консоле не интересно .Консольную версию я сделал .
Какая команда аналог консольной команды read .
InputBox, InputQuery ?
** Удача терпелива. **
Vad3333@inbox.ru
Vad33 вне форума Ответить с цитированием
Старый 30.11.2013, 04:55   #10
Mits
Новичок
Джуниор
 
Регистрация: 28.11.2013
Сообщений: 5
По умолчанию

Вот как возможно заменить сдесь read ?
showmessage ('Enter s if you want to start the game');
read (choos);
if (choos = start) then begin
writeln ('2+2= ?');
read (answer);
Mits вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не могу разобраться с командой if FRATER1234 Общие вопросы C/C++ 25 28.09.2011 09:27
Проблема с командой Фильтр tbe Microsoft Office Access 5 04.04.2011 14:42
Проблемы с командой else. docbrain Общие вопросы Delphi 5 28.04.2010 01:53
Проблема с командой CWD в TAsm Mixim Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 1 16.12.2009 13:33
не копирует фаил командой copyfile Dozent Общие вопросы Delphi 3 21.06.2009 00:25