Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.06.13;
Скачать: CL | DM;

Вниз

Вхождение в пустой Set   Найти похожие ветки 

 
hexone   (2004-06-02 10:35) [0]

Подскажите, верна ли конструкция:
if (Shift in []) and (Key = VK_DEL) then что-то.
Почему-то не собирается в код, хотя компилируется без ошибок.
Спасибо.


 
Тимохов ©   (2004-06-02 10:35) [1]


> Почему-то не собирается в код,

это как?


 
hexone   (2004-06-02 10:38) [2]

Это значит, что строка в языке есть, но синенькой точечки напротив нет, и Breakpoint зеленый.


 
Тимохов ©   (2004-06-02 10:39) [3]


> hexone   (02.06.04 10:38) [2]

это значит что оптимизатор посчитал,что до этой строки никогда не дойдет.
приведите полный код места, где есть эта строка...


 
hexone   (2004-06-02 10:42) [4]

{
=====================================
=====================================
}
procedure TMainForm.ValTypesTreeKeyUp(Sender: TObject; var Key: Word;
 Shift: TShiftState);
begin
if (Shift in []) and  (key = VK_DELETE) then DeleteAttr.CLick;
if (Shift in []) and (key = VK_INSERT) then NewAttrCreate.Click;
end;


 
hexone   (2004-06-02 10:42) [5]

P.S. Оптимизация отключена.


 
Тимохов ©   (2004-06-02 10:46) [6]

мое предположение, что у вас весь метод vattypestreekeyup не имеет зеленых точек.
думаю это потому, что вы нигде его не используете.
проверте.


 
hexone   (2004-06-02 10:54) [7]

У меня предположение другое. Если написать Shift = [] то все работает. Т.к в этом случае мы сравниваем два пустых множества. Логично предположить (Shift in []), как вхождение Shift в пустое множество, что само по себе верно только в одном случае, когда Shift является пустым. (Определение: Пустое множество является подмножеством любого множества). В итоге я не очень понимаю, почему мой код считают невыполнимым в любом случае.


 
Тимохов ©   (2004-06-02 11:01) [8]


> hexone   (02.06.04 10:54) [7]

точно, не сообразил сразу...

дельфи понимает, что строка никогда не будет выполнена т.к. s in [] всегда будет вавать false.

подумайте надо логикой.
что вы вообще хотите от shift in []? Если провеерить на пустоту, то надо делать это операцией "=".

вот.


 
Плохиш   (2004-06-02 11:06) [9]

>hexone   (02.06.04 10:54) [7]

Хм, вообще-то в пустое множество не может ни что входить и оно так же не может ни куда входить, т.ч. компилятор прав.


 
hexone   (2004-06-02 11:06) [10]


> дельфи понимает, что строка никогда не будет выполнена т.к.
> s in [] всегда будет вавать false.
>

не всегда, только если s не пустое

> подумайте надо логикой.
> что вы вообще хотите от shift in []? Если провеерить на
> пустоту, то надо делать это операцией "=".

Я не хочу проверять на пустоту я хочу проверить вхождение пустого множества в пустое. В принципе проблема-то решилась, однако выкидывать заведомо правильный код, причем написаный по их правилам - bug!


 
hexone   (2004-06-02 11:07) [11]


> Хм, вообще-то в пустое множество не может ни что входить
> и оно так же не может ни куда входить, т.ч. компилятор прав.

Математику учи.


 
hexone   (2004-06-02 11:08) [12]

Ладно, можно закрываться, не хочу показаться мозгоклюем.


 
Тимохов ©   (2004-06-02 11:09) [13]


> не всегда, только если s не пустое

это гон

bug в другом месте...
догадайтесь где


 
Плохиш   (2004-06-02 11:26) [14]

2hexone

Для особо не понятливых :-)
Заходишь в настройки проекта и включаешь пункт "Выполнять логические операции полностью" и радуешься жизни ;-)

PS. к сведению
http://www.yandex.ru/yandsearch?text=%E2%F5%EE%E6%E4%E5%ED%E8%E5+%EF%F3%F1%F2%EE%E3%EE+%EC%ED%EE%E6%E5%F1%F2%E2%E0&stype =&nl=0


 
hexone   (2004-06-02 11:29) [15]


> Для особо не понятливых :-)
> Заходишь в настройки проекта и включаешь пункт "Выполнять
> логические операции полностью" и радуешься жизни ;-)

))) :-( Мне не нужно этого делать!



Страницы: 1 вся ветка

Текущий архив: 2004.06.13;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.032 c
1-1086124481
SMART_n
2004-06-02 01:14
2004.06.13
MDI с приложениями


1-1085768409
FuTe
2004-05-28 22:20
2004.06.13
dll


1-1086162295
pASkdua
2004-06-02 11:44
2004.06.13
трабл с ListView


8-1080833685
Rentgen
2004-04-01 19:34
2004.06.13
Palette


1-1086061203
User_OKA
2004-06-01 07:40
2004.06.13
String Grid