Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

with


Страницы:   1 2

100% ©   (2006-11-05 20:45:00) 

Смотрел справку и не понял. Возможноли использовать with  в такой ситуации:

with Edit1, Edit2, Edit3, Memo1, Label1 do
 Enabled := False;


У меня не получается, реагирует только последний контролл (Label1).

?


Германн   (2006-11-07 00:27:00) [1]


> Думаешь в этот раз скажу иначе?

Такая крамольная мысль мне в голову прийти в принципе даже не могла. :-)


Anatoly Podgoretsky   (2006-11-06 23:04:00) [2]

> Германн  (06.11.2006 1:57:31)  [31]

> сейчас Ваш ответ на мой "плач" тут на форуме по поводу "некоей
> ограниченности" функционала оператора case. :-)

Думаешь в этот раз скажу иначе?


Desdechado   (2006-11-06 11:09:00) [3]

> Смотрел справку и не понял.
with всего лишь указывает на то, что далее не нужно писать полное имя свойства объекта, а можно сокращенное.
Но это не избавляет от обращения к свойству как к таковому. И групповые операции не заменяет.
Кстати, такой множественный with чреват ошибками, ибо если свойство есть в нескольких из перечисленных объектах, то использовано будет только одно, какое именно - зависит от порядка перечисления в with.


Германн   (2006-11-06 01:57:00) [4]


> Anatoly Podgoretsky ©   (06.11.06 00:34) [27]
>
> > KilkennyCat  (06.11.2006 0:15:22)  [22]
> > Вот это меня уже давно поражает, почему в Делфи не упростят
> такие штуки... очень уж я ленивый
>
> Я бы тоже не отказался, поскольку постоянно используются
> подобное в коде, но тут Вирт виноват, кроме того раздражает
> не последовательность во многом, например
>
...
> Мне очень не удобно писать многострочные конструкции
> if
> then
> else
>

...
> Ну нет в жизни счастья.
>

Выделено мной.
Если б я не был пофигистом, а был бы злопамятен, я бы сохранил в своё время и воспроизвёл бы здесь и сейчас Ваш ответ на мой "плач" тут на форуме по поводу "некоей ограниченности" функционала оператора case. :-)


Ketmar   (2006-11-06 00:48:00) [5]

>[27] Anatoly Podgoretsky(c) 6-Nov-2006, 00:34
>while Exp do я могу написать только один оператор, а
>repeat statements until Expr много, хотя это одна и таже
>конструкция
ага. в Обероне починили. %-)

>Не нравится равенство всех операторов end
это уже дело вкуса, имо. меня наоборот -- раздражают вещи типа "end if".

>иногда трудно разобраться где не там поставлен end
colorer нас спасёт. %-)

>теперь у него стало регистро чуствительно.
что мне очень нравится, кстати. не надо читать конструкции типа "wHiLe". опять же -- в Обероне, например, я отлично обходился без подсветки синтаксиса. а в Delphi -- опаньки... плюс -- приятные соглашения об именах: переменные -- с маленькой буквы, процедуры -- с большой в "геттерах" слово "Get" опускается, etc, etc...


KilkennyCat   (2006-11-06 00:38:00) [6]

> А там кричал прямо, слюна брызжила


Какой интерактивный форум. Передает громкость и слюни.


Vovan#2   (2006-11-06 00:35:00) [7]

> Написаное мною соответствует, написаное тобой нет.

Вот сейчас уже отвечал спокойно. А там кричал прямо, слюна брызжила. Из-за какого-то with'а умудрённый опытом пожилой человек так напрягся, что выжал 100 кг лёжа. Э-э, не надо так.


Anatoly Podgoretsky   (2006-11-06 00:34:00) [8]

> KilkennyCat  (06.11.2006 0:15:22)  [22]
> Вот это меня уже давно поражает, почему в Делфи не упростят такие штуки... очень уж я ленивый

Я бы тоже не отказался, поскольку постоянно используются подобное в коде, но тут Вирт виноват, кроме того раздражает не последовательность во многом, например

while Exp do я могу написать только один оператор, а repeat statements until Expr много, хотя это одна и таже конструкция, цикл while с пост и пред условием. И почему то решил, что программа на Паскале - это одна строка, в конце строки ставится точка.
Мне очень не удобно писать многострочные конструкции
if
then
else

Не нравится равенство всех операторов end, а ведь претендовал на очень строгий язык, который не позволит делать грубые ошибки, равноправный end еще как позволяет и иногда трудно разобраться где не там поставлен end

Позже он понял, что так неправильно и в новых языках сделал как положено, но зато увлекся религией Юникса, теперь у него стало регистро чуствительно.

Ну нет в жизни счастья.


Anatoly Podgoretsky   (2006-11-06 00:25:00) [9]

> Vovan#2  (06.11.2006 0:00:19)  [19]
Написаное мною соответствует, написаное тобой нет.


koha   (2006-11-06 00:22:00) [10]

> KilkennyCat ©   (06.11.06 00:15) [22]
> Да я не спорю про необходимость...

Сорри... просто я немного нерасчитал сил. Хотел как лучше, а получилось - завел закорягу.


Ketmar   (2006-11-06 00:18:00) [11]

>[22] KilkennyCat(c) 6-Nov-2006, 00:15
>Вот это меня уже давно поражает, почему в Делфи не
>упростят такие штуки... очень уж я ленивый :)))
достаточно было бы сделать ":=" функцией. %-)


koha   (2006-11-06 00:17:00) [12]

> Percent   (05.11.06 23:48) [16]
> (form1.Controls[i] as TControl)..Enabled:=false;

- сдесь ляпус я имел это: (form1.Components[i] as TControl).Enabled:=false


KilkennyCat   (2006-11-06 00:15:00) [13]

> koha ©   (06.11.06 00:01)

Да я не спорю про необходимость...
If a = b then c := true намного логичнее выглядит как c := a = b;
Это так, к примеру.
Читать легче, ибо в первом варианте я предполагаю свершения определенного действия, а во втором я сразу вижу смену логического состояния.
Кроме того, существуют еще and, or, not...


> [21] Anatoly Podgoretsky ©   (06.11.06 00:06)


Вот это меня уже давно поражает, почему в Делфи не упростят такие штуки... очень уж я ленивый :)))


Anatoly Podgoretsky   (2006-11-06 00:06:00) [14]

> Суслик  (05.11.2006 23:40:13)  [13]
И правильно бы поступил, тем более что в коде они явно перечислены, но к сожалению язык то не PLM, каждое действие надо делать отдельно, в PLM бы я написал так

Button1.Enabled, Button2.Enabled, Button2.Enabled := True


koha   (2006-11-06 00:01:00) [15]

> Я не против проверок. Я против таких проверок.

в данном случае такая проверка была необходима, но кто-то был прав: "для конкретного случия конкретный код"


Vovan#2   (2006-11-06 00:00:00) [16]

>Anatoly Podgoretsky ©   (05.11.06 20:51) [1]
Возможно, но голову такую дурную надо, какие в природе не встречаются.

А диагноз простой, у тебя дырка в голове. Все работает в соответствии с
написаным и в соответствии с документацией.


Озверел на старости лет?


Leonid Troyanovsky   (2006-11-05 23:58:00) [17]


> Суслик ©   (05.11.06 23:40) [13]

> придумать какое-то обобщение - каким-то образом задавать
> все контролы, у которых


Все уже украдено до нас: TActionList & etc

Раньше же, для согласованного изменения состояния
групп контролов, у формы или панели делалось свойство,
сеттер которого и выполнял требуемое.

--
Regards, LVT.


KilkennyCat   (2006-11-05 23:52:00) [18]

> [15] koha ©   (05.11.06 23:47)
> Потому как не каждый компонент есть контрол - проверять
> надо...


Я не против проверок. Я против таких проверок.


Percent   (2006-11-05 23:48:00) [19]

[12] koha ©   (05.11.06 23:36)
> Percent   (05.11.06 23:28) [11]
> Душевно...

Можно было и явно:

(form1.Controls[i] as TControl)..Enabled:=false;

И сверавно работало бы


Можно было бы вообще никак, и тоже работало бы:

Form1.Controls[i].Enabled := false;


koha   (2006-11-05 23:47:00) [20]

Потому как не каждый компонент есть контрол - проверять надо...
например, ImageList - не котрол, а на форме лежит.


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо