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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.03.2016, 10:03   #11
Evil_Net
Пользователь
 
Регистрация: 04.08.2015
Сообщений: 48
По умолчанию

Цитата:
Сообщение от min@y™ Посмотреть сообщение
Хотелось бы глянуть, как на самом деле выглядит функция. Ведь существование приведённого кода - бред жэж.
Код:

Check(UserInfo: Integer): Boolean;
var
  n : Integer;
begin
  n := 5;
  if UserInfo = n then
    Result := True;
end;
Немного ошибся в коде примера, вместо 5 нужно n. Но код подобный в примере.
Evil_Net вне форума Ответить с цитированием
Старый 11.03.2016, 10:06   #12
Evil_Net
Пользователь
 
Регистрация: 04.08.2015
Сообщений: 48
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Не может код из #6 всегда True возвращать. Вернее не так - если UserInfo<>5 он вернет чего угодно, в том числе и 0 может
Согласен, вернет что угодно. Но почему тогда всегда выполнялся if, если функция допустим возвращала 0
Код:
if Check(UserInfo) then
if 0 then // должно выполниться?
Evil_Net вне форума Ответить с цитированием
Старый 11.03.2016, 10:16   #13
northener
ПШП
Участник клуба
 
Регистрация: 15.07.2013
Сообщений: 1,872
По умолчанию

Цитата:
Сообщение от Evil_Net Посмотреть сообщение
Согласен, вернет что угодно. Но почему тогда всегда выполнялся if, если функция допустим возвращала 0
Код:
if Check(UserInfo) then
if 0 then // должно выполниться?
Вероятность ноля очень маленькая по сравнению с не нулем.
northener вне форума Ответить с цитированием
Старый 11.03.2016, 10:51   #14
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от Filka Посмотреть сообщение
Код:
function Check(UserInfo: Integer): Boolean;
begin
  Result := UserInfo = 5;
end;
Всё. Ошибка найдена.
Корректный код функции дан.
Тема исчерпана.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 11.03.2016, 10:54   #15
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
Согласен, вернет что угодно. Но почему тогда всегда выполнялся if, если функция допустим возвращала 0
Потому, что Boolean от не нуля True, и да, вероятность появления нуля
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 11.03.2016, 11:21   #16
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

Цитата:
Но код подобный в примере.
Ты реальный код покажь. Чо, секретный штоли?
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 11.03.2016, 15:10   #17
IvaniuS
Форумчанин
 
Аватар для IvaniuS
 
Регистрация: 16.04.2007
Сообщений: 225
По умолчанию

+1 за реальный код, интересно же!
а вообще в подобных вещай компилятор ругается что результат должен быть определен. По крайней мере у меня так.
IvaniuS вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопрос насчет исключений cooljedi Общие вопросы C/C++ 10 23.03.2015 10:23
Вопрос насчет издания игр koljsch Gamedev - cоздание игр: Unity, OpenGL, DirectX 14 15.08.2013 08:08
VBA вопрос насчет ComboBox qert Microsoft Office Excel 11 09.12.2009 17:20
Вопрос насчет функции sort TOLIK111 Общие вопросы C/C++ 1 06.12.2009 15:57
Важный вопрос насчет окон Windows HWork Общие вопросы C/C++ 15 15.09.2009 10:00