Модераторы: Snowy, MetalFan, bems, Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Сложное условие в If ... then не хочет работать 
:(
    Опции темы
dimavit
Дата 6.8.2012, 10:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 3.8.2012

Репутация: нет
Всего: нет



Столкнулся с тем что сложное условие в операторе if ... then отказывается работать. А именно, в одной из процедур класса был у меня оператор
 if (довольно громоздкие вычисления) then begin ........ end; 
Возникла необходимость добавить новое условие. Казалось бы все просто - изменяю на 
if ((довольно громоздкие вычисления) and (Свойство класса<Константы)) then begin ........ end; 
И не работает, пишет что данный оператор тут неуместен. Если разбиваю это условие на 2, т.е. 
if (Свойство класса<Константы) Then if (довольно громоздкие вычисления) then begin ........ end; 
то работает. С чего бы это?
PM MAIL   Вверх
AndreyIQ
Дата 6.8.2012, 10:50 (ссылка) |    (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 185
Регистрация: 5.2.2007

Репутация: 1
Всего: 8



У меня тоже Ваш код не компилируется
user posted image
PM MAIL   Вверх
dimavit
Дата 6.8.2012, 11:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 3.8.2012

Репутация: нет
Всего: нет



Цитата(AndreyIQ @ 6.8.2012,  10:50)
У меня тоже Ваш код не компилируется
user posted image

Да я просто не могу сейчас воспроизвести код, поскольку он находится на другой машине, но можете поверить, что ifы по раздельности работают, а после их объединения с помощью and - нет.
PM MAIL   Вверх
Чучмек
Дата 6.8.2012, 11:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


НЭТ БИЛЭТ
**


Профиль
Группа: Участник
Сообщений: 841
Регистрация: 11.5.2008
Где: СССР

Репутация: 7
Всего: 41



Цитата(dimavit @  6.8.2012,  10:11 Найти цитируемый пост)
С чего бы это? 

Скобок где то не поставил. 



--------------------
умную мысль держи при себе, а дурной - поделись с другими 
PM MAIL   Вверх
Poseidon
Дата 19.8.2012, 10:00 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphi developer
****


Профиль
Группа: Комодератор
Сообщений: 5273
Регистрация: 4.2.2005
Где: Гомель, Беларусь

Репутация: 9
Всего: 133



Цитата(dimavit @  6.8.2012,  11:12 Найти цитируемый пост)
но можете поверить, что ifы по раздельности работают, а после их объединения с помощью and - нет.
В тм и дело, что поверить сложно. Какую ошибку выдает компилятор?



--------------------
Если хочешь, что бы что-то работало - используй написанное, 
если хочешь что-то понять - пиши сам...
PM MAIL ICQ   Вверх
gesper
Дата 19.8.2012, 11:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


"Shарфик"
*


Профиль
Группа: Участник
Сообщений: 183
Регистрация: 23.2.2005

Репутация: 1
Всего: 2



Цитата(dimavit @ 6.8.2012,  11:12)
Цитата(AndreyIQ @ 6.8.2012,  10:50)
У меня тоже Ваш код не компилируется

Да я просто не могу сейчас воспроизвести код, поскольку он находится на другой машине, но можете поверить, что ifы по раздельности работают, а после их объединения с помощью and - нет.

Чушь, постоянно через and условия задаю.

Если считаешь, что проблема в твоем вычислении "громоздком", то загони его в функцию с булевым результатом.

Код

function CheckSomebody:Boolean;
begin
(довольно громоздкие вычисления) 
Result:=True\False;
end;

procedure ........
begin
if CheckSomebody and (Свойство класса<Константы) then 
begin 
........ 
end; 
end;

--------------------
...И приколется обломившийся и oбломится приколовшийся...
PM MAIL   Вверх
DYUMON
Дата 20.8.2012, 13:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 321
Регистрация: 17.6.2006
Где: Новосибирск

Репутация: нет
Всего: 3



у меня работает
user posted image

Это сообщение отредактировал(а) DYUMON - 20.8.2012, 13:29

Присоединённый файл ( Кол-во скачиваний: 12 )
Присоединённый файл  массиы.jpg 33,16 Kb


--------------------
Всех программистов надо посадить на целероны, что бы впредь головой думали что пишут.
user posted image
PM MAIL ICQ Skype   Вверх
gesper
Дата 20.8.2012, 19:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


"Shарфик"
*


Профиль
Группа: Участник
Сообщений: 183
Регистрация: 23.2.2005

Репутация: 1
Всего: 2



Цитата(DYUMON @ 20.8.2012,  13:27)
у меня работает
user posted image

Сценарий кино не читал?)) Оно не может работать))))
--------------------
...И приколется обломившийся и oбломится приколовшийся...
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Для новичков"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0496 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.