Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.06.13;
Скачать: [xml.tar.bz2];

Вниз

Вхождение в пустой 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.05 c
14-1085552086
NailMan
2004-05-26 10:14
2004.06.13
Что за фигень с русским языком?


6-1082888713
Khvalera
2004-04-25 14:25
2004.06.13
NMStrmServ и NMStrm


14-1085206733
<skipped>
2004-05-22 10:18
2004.06.13
Где скачать Delphi 7 Personal???


4-1083526677
Tuman
2004-05-02 23:37
2004.06.13
Flash &amp; Desktop


1-1086214858
Win64
2004-06-03 02:20
2004.06.13
Как скомпилить проэкт без запуска Дельфей?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский