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

Delphi Sources



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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 19.12.2013, 15:18
snr93 snr93 вне форума
Прохожий
 
Регистрация: 10.10.2012
Сообщения: 11
Репутация: 10
По умолчанию Сравнение значений 2 переменных

Добрый день. Такая проблема. Нужно сравнить 2 переменные. c1 и c2. Но сделать нужно это одновременно. Оба эти числа никогда не могут принять значение >=5. Но если использовать мой код, который ниже, то он смотрит на c1, а про c2 забывает. Как сравнить эти 2 переменные и в зависимости от того, какое из них равно 5(а они так же могут быть меньше 5 оба) выполнить определенное действие? В данном случае прыжки на метки yzi5 и yzi6

Код:
if c1>=5 then
begin
GoTo yzi5;
end
else
 ShowMessage('Здоров');
 GoTo quit;  //жив, цел, орел. Выходим из программы
if c2>=5 then
begin
GoTo yzi6;
end
else
begin
 ShowMessage('Здоров');
  GoTo quit;  //жив, цел, орел. Выходим из программы
Ответить с цитированием
  #2  
Старый 19.12.2013, 15:25
Аватар для poli-smen
poli-smen poli-smen вне форума
Профессионал
 
Регистрация: 06.08.2012
Адрес: Кривой Рог
Сообщения: 1,791
Версия Delphi: Delphi 7, XE2
Репутация: 4415
По умолчанию

Цитата:
Сообщение от snr93
Добрый день. Такая проблема. Нужно сравнить 2 переменные. c1 и c2. Но сделать нужно это одновременно.
Одновременно не получится. Только последовательно
Цитата:
Сообщение от snr93
Оба эти числа никогда не могут принять значение >=5. Но если использовать мой код, который ниже, то он смотрит на c1, а про c2 забывает. Как сравнить эти 2 переменные и в зависимости от того, какое из них равно 5(а они так же могут быть меньше 5 оба) выполнить определенное действие? В данном случае прыжки на метки yzi5 и yzi6

Код:
if c1>=5 then
begin
GoTo yzi5;
end
else
 ShowMessage('Здоров');
 GoTo quit;  //жив, цел, орел. Выходим из программы
if c2>=5 then
begin
GoTo yzi6;
end
else
begin
 ShowMessage('Здоров');
  GoTo quit;  //жив, цел, орел. Выходим из программы
Как-то так:
Код:
if c1 >= 5 then
begin
  GoTo yzi5;
end
else
if c2 >= 5 then
begin
  GoTo yzi6;
end;

ShowMessage('Здоров');
GoTo quit;  //жив, цел, орел. Выходим из программы
Ответить с цитированием
Этот пользователь сказал Спасибо poli-smen за это полезное сообщение:
snr93 (19.12.2013)
  #3  
Старый 20.12.2013, 21:12
Lord_Vlad Lord_Vlad вне форума
Прохожий
 
Регистрация: 28.11.2013
Адрес: Москва
Сообщения: 19
Версия Delphi: Delphi 10
Репутация: 10
По умолчанию

А если использовать запись вида примерно такого:

Код:
if ((c1 >=5) or (c2 >= 5)) then
begin
  if c1 >= 5 then GoTo yzi5;
  if c2 >= 5 then GoTo yzi6;
end
else
begin
  ShowMessage('Здоров');
  GoTo quit;  //жив, цел, орел. Выходим из программы
end;

И вполне резонный вопрос: а зачем использовать уже везде нерекомендуемый оператор безусловного перехода GoTo?
Ответить с цитированием
Ответ


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

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

ВКонтакте   Facebook   Twitter