Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.12.2010, 13:42   #1
MyLastHit
Очень суровый
Участник клуба
 
Аватар для MyLastHit
 
Регистрация: 17.12.2009
Сообщений: 1,988
По умолчанию with ... do - не пойму почему ошибка

Глаза уже все протер об код... Скажите пожалуйста в чем ошибка...
Код:
for i:=1 to 25 do
  begin
    ok[i]:=TImage.Create(Self);
    okdown[i]:=TImage.Create(Self);
    okmove[i]:=TImage.Create(Self);
    with (ok[i]) and (okdown[i]) and (okmove[i]) do   ///вот тут... No Enough 
    begin                 ///если только ok[i] то все отлично, а если с оператором and то ошибка.. 
      Parent:=Form4;
      Height:=73;
      Width:=81;
      Top:=401;
      Left:=921;
      Hide;
    end;
  end;
Ненавижу быть как все, но люблю, чтобы все были как я.
MyLastHit вне форума Ответить с цитированием
Старый 23.12.2010, 14:10   #2
MyLastHit
Очень суровый
Участник клуба
 
Аватар для MyLastHit
 
Регистрация: 17.12.2009
Сообщений: 1,988
По умолчанию

Ой, все, разобрался - вместо аnd запятые должны быть. Снова проблемма... Почему действуя оператором with do на несколько обьектов, действия производятся только с последним из указаных?
Код:
 with ok[i],okmove[i],okdown[i] do //with действует только на okdown
    begin
      Parent:=Form4;
      Height:=73;
      Width:=81;
      Top:=401;
      Left:=921;
      Show;
      //Hide;
end;
Ненавижу быть как все, но люблю, чтобы все были как я.

Последний раз редактировалось MyLastHit; 23.12.2010 в 14:34.
MyLastHit вне форума Ответить с цитированием
Старый 23.12.2010, 15:26   #3
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

внимательно читаем F1 with

Цитата:
When multiple objects or records appear after with, the entire statement is treated like a series of nested with statements. Thus

with obj1, obj2, ..., objn do statement

is equivalent to

with obj1 do
with obj2 do
...
with objn do
statement
программа — запись алгоритма на языке понятном транслятору
evg_m на форуме Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
не пойму почему так (comm32) yuta_86 Общие вопросы Delphi 11 15.12.2010 16:07
Не пойму почему сбрасывается значение. ZBEP Общие вопросы Delphi 3 29.10.2010 12:25
Изучаю javascript не пойму почему не работает скрипт 4e4en JavaScript, Ajax 8 11.09.2010 19:17
Не пойму почему ошибка... ImmortalAlexSan Общие вопросы Delphi 13 22.08.2010 20:26
не пойму почему. spaun88 Общие вопросы Delphi 8 09.06.2010 17:26