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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.05.2008, 19:29   #1
akasex
Форумчанин Подтвердите свой е-майл
 
Аватар для akasex
 
Регистрация: 31.03.2008
Сообщений: 179
По умолчанию Controls in TScrollBar

Kak mne udalit control iz scrollbara ???? u menya vot sdes problema:

var
g: TControl;

begin

for j:=0 to ScrollBox1.ControlCount-1 do
begin
g:=ScrollBox1.Controls[j];
ScrollBox1.RemoveControl(g);
end;

......pishet "List out of bounds"....kak pravilno nado ???
akasex вне форума Ответить с цитированием
Старый 13.05.2008, 20:18   #2
Witaliy
Форумчанин Подтвердите свой е-майл
 
Регистрация: 27.04.2008
Сообщений: 179
По умолчанию

У мня все идет???
www.programmer.uaforums.net - Український форум програмістів.

www.satellite.ipsys.net - Український форум супутникового телебачення.
Witaliy вне форума Ответить с цитированием
Старый 13.05.2008, 20:30   #3
Airou
Форумчанин
 
Регистрация: 09.04.2008
Сообщений: 151
По умолчанию

Я бы так написал

for j:=0 to ScrollBox1.ControlCount-1 do
begin
ScrollBox1.Controls[j].Destroy;
end;
Airou вне форума Ответить с цитированием
Старый 13.05.2008, 20:37   #4
Witaliy
Форумчанин Подтвердите свой е-майл
 
Регистрация: 27.04.2008
Сообщений: 179
По умолчанию

Но ошибка "List out of bounds" ???
www.programmer.uaforums.net - Український форум програмістів.

www.satellite.ipsys.net - Український форум супутникового телебачення.
Witaliy вне форума Ответить с цитированием
Старый 13.05.2008, 21:04   #5
akasex
Форумчанин Подтвердите свой е-майл
 
Аватар для akasex
 
Регистрация: 31.03.2008
Сообщений: 179
По умолчанию

delay toje no cherez RemoveComponent.....prohodit.....no ne udalaet ne chego.....
akasex вне форума Ответить с цитированием
Старый 13.05.2008, 21:13   #6
Witaliy
Форумчанин Подтвердите свой е-майл
 
Регистрация: 27.04.2008
Сообщений: 179
По умолчанию

Попробуй ScrollBox1.DestroyComponents ( но без for j :...)
www.programmer.uaforums.net - Український форум програмістів.

www.satellite.ipsys.net - Український форум супутникового телебачення.
Witaliy вне форума Ответить с цитированием
Старый 13.05.2008, 21:15   #7
Jeni
Форумчанин
 
Регистрация: 31.05.2007
Сообщений: 486
По умолчанию

Цитата:
Сообщение от akasex Посмотреть сообщение
u menya vot sdes problema:

for j:=0 to ScrollBox1.ControlCount-1 do
begin
g:=ScrollBox1.Controls[j];
ScrollBox1.RemoveControl(g);
end;

pishet "List out of bounds"....kak pravilno nado ???
Всё правильно пишет, ведь при RemoveControl все элементы "сдвигаются вверх" и их общее количество становится меньше на единицу, а цикл идет до первоначального количества. И даже если бы ошибки не было, то тогда не все элементы бы удалились. Нужно либо удалять с конца списка, либо использовать цикл while
Код:
for j:=ScrollBox1.ControlCount-1 downto 0 do
  begin
    g:=ScrollBox1.Controls[j];
    ScrollBox1.RemoveControl(g);
  end;
или
Код:
while ScrollBox1.ControlCount > 0 do
  begin
    g:=ScrollBox1.Controls[0];
    ScrollBox1.RemoveControl(g);
  end;
Jeni вне форума Ответить с цитированием
Старый 13.05.2008, 21:35   #8
akasex
Форумчанин Подтвердите свой е-майл
 
Аватар для akasex
 
Регистрация: 31.03.2008
Сообщений: 179
По умолчанию

Spasibo !!! Vse rabotaet !!!
akasex вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Alpha Controls v3.56 Михаил Юрьевич Компоненты Delphi 3 01.05.2008 15:52
пропала панель Controls MFS Ceprey Свободное общение 6 23.03.2008 09:29
как с помощью TScrollBar перемещать содержимое TMemo вверх или вниз Sanprof Общие вопросы Delphi 3 04.03.2008 00:39