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

Вниз

Можно ли использовать with   Найти похожие ветки 

 
}|{yk ©   (2004-07-04 19:59) [0]

внутри другого with ? Т.е. допускается ли вложеность with ?


 
Vlad ©   (2004-07-04 20:08) [1]


> }|{yk ©   (04.07.04 19:59)  

Лучшее средство запутать компилятор.


 
GuAV ©   (2004-07-04 20:14) [2]


> Можно ли использовать with
>
> }|{yk ©   (04.07.04 19:59)  
> внутри другого with ?

Можно, если осторожно.


 
Anatoly Podgoretsky ©   (2004-07-04 20:14) [3]

Можно


 
jack128 ©   (2004-07-04 20:20) [4]


> Лучшее средство запутать компилятор.
себя - может быть, но не компилятор ;-)


 
Ihor Osov'yak ©   (2004-07-04 21:48) [5]

2 [4] jack128 ©   (04.07.04 20:20)

> себя - может быть, но не компилятор ;-)

А себя, то почему?

Ps - в особо клиничных случаях и при наличия бардака в коде - Ctrl+левый лап мыши - внесут ясность.
Зы2. Я не говорил, что пользоваение "Ctrl+левый лап мыши" подразумевает наличие бардака в коде.


 
Vlad ©   (2004-07-04 22:20) [6]

Ну естественно, компилятор отработает четко, но общая путаница все равно может возникнуть, а каждый раз делать >"Ctrl+левый лап мыши" извините, задолбаться можно. Поэтому лично я стараюсь избегать вложенных with. Уж если делать, то нагляднее будет так: with a,b do ... хотя тоже не люблю.


 
jack128 ©   (2004-07-04 22:37) [7]


> А себя, то почему?
ну.. Кто поймет, что у человека в голове.. А вот компилятор - его запутать в принципе невозможно.

> в особо клиничных случаях и при наличия бардака в коде -
> Ctrl+левый лап мыши - внесут ясность.
это годится только если имеются одноименные свойства/методы в различных классах.
А вот в таких случаях помогут тотлько ясные мозги:

with Form1 do
begin
.... // тут много кода

 with Button do
 begin
   ... // тут много кода
   Top := intSameValue; // к чему относится Top?
 end;
....
end;


 
Ihor Osov'yak ©   (2004-07-04 23:21) [8]

2 [7] jack128 ©   (04.07.04 22:37)

Имхо, код в таком стиле и ясные мозги (у автора кода) - вещи немного несовметимые..

А относительно "к чему относится Top?"  -  к ближайшему "подходящему" with, то есть в даном случае к "with Button do" (если  Button - экземпляр  TButton)..


 
GuAV ©   (2004-07-05 00:00) [9]

jack128 ©   (04.07.04 22:37) [7]

И без вложенных with можно налажать и одним with.
Например заполняя виндозные структуры. может быть hInstance<>SysInit.hInstance. это самый частый случай. Еще сегодня с Тэгом запарывался. он-то все равно есть в методе формы, тк. self всегда присоединен.
<off>
Ihor Osov"yak
хотелось бы посмотреть что получилось до среды,
в среду я уезжаю в теплые края...
</off>


 
TUser ©   (2004-07-05 02:39) [10]

Я использую. Бывают ошибки, но довольно редко. Я бы не сказал, что это особо "глюкородное" место - во многих других случаях вероятность посадить ошибку выше.


 
GuAV ©   (2004-07-05 03:20) [11]


> во многих других случаях вероятность посадить ошибку выше.

и такое часто бывает.
зы - про with уже трепались, не так давно.


 
Григорьев Антон ©   (2004-07-05 08:17) [12]

Можно даже делать двойной with:

with Form1, Button1 do
Top:=0; // Top относится к Button1

with Button1, Form1 do
Top:=0; // Top относится к Form1


 
vecna ©   (2004-07-05 10:16) [13]

имхо with чисто на любителя, хотя код более приятный скомпиляется, но реального выигрыша нет. так что если есть сомнения, то ну его (with) нафик.

еще замечал ляпы вроде такого:

if a>b
then
 if a > c then
   // do something (a>b, a>c)
else
   // do something (a<=b)

и человек, написавший это никак не мог понять, почему "do something (a<=b)" никогда не выполнится.

мораль проста: сомневаешься - пиши понятным, однозначным, выражением =)



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

Форум: "Потрепаться";
Текущий архив: 2004.07.25;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.031 c
3-1088954462
Солер
2004-07-04 19:21
2004.07.25
Что почитать про Blob


1-1089726188
nastya
2004-07-13 17:43
2004.07.25
печать списков


14-1089025452
Dmitriy O.
2004-07-05 15:04
2004.07.25
А вот вам приходилось сокращать людей ?


10-1019900005
Denis_1
2002-04-27 13:33
2004.07.25
DCOM


1-1089762117
Алексей
2004-07-14 03:41
2004.07.25
Необходимо вычислять довольно сложные математические выражения.





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский