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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.04.2008, 13:56   #1
Airou
Форумчанин
 
Регистрация: 09.04.2008
Сообщений: 151
По умолчанию Алгоритм для поиска max Label.Top

Чего-то все никак не могу придумать оптимальный алгоритм для следующей задачи.

Стоят несколько лейблов один под одним(с одинаковым промежутков по высоте), надо добавить еще один под самый нижний лейбл. Так вот как найти самый нижний лейбл.

Перебор всех компонентов, если лейбл то смотрим высоту, записываем высоту в переменную, смотрим дальше лейблы? Примерно так?
Airou вне форума Ответить с цитированием
Старый 28.04.2008, 14:09   #2
SERG1980
Участник клуба
 
Аватар для SERG1980
 
Регистрация: 28.03.2007
Сообщений: 1,814
По умолчанию

шаг=label2.top-Label1.top
Следующий Label:=Нижний Label.Top+шаг
SERG1980 вне форума Ответить с цитированием
Старый 28.04.2008, 14:16   #3
Airou
Форумчанин
 
Регистрация: 09.04.2008
Сообщений: 151
По умолчанию

Спасибо открыли истину), я имею ввиду как найти нижний лейбл (его Name), а шаг мы там уже присвоим).
Airou вне форума Ответить с цитированием
Старый 28.04.2008, 14:58   #4
SERG1980
Участник клуба
 
Аватар для SERG1980
 
Регистрация: 28.03.2007
Сообщений: 1,814
По умолчанию

procedure TForm2.Button1Click(Sender: TObject);
var i,top,left,shag:integer;
L:TLabel;

begin
shag:=0;
for i := 0 to ComponentCount - 1 do
if Components[i] is TLabel then
begin
if shag=0 then shag:=shag-(Components[i] as TLabel).Top
else if shag<0 then shag:=shag+(Components[i] as TLabel).Top;
left:=(Components[i] as TLabel).Left;
top:=(Components[i] as TLabel).Top;
end;
L:=TLabel.Create(form2);
L.Parent:=form2;
L.Left:=form2.Label1.Left;
L.Top:=top+shag;
L.Caption:='Мой Лабел';
end;
SERG1980 вне форума Ответить с цитированием
Старый 28.04.2008, 15:13   #5
Airou
Форумчанин
 
Регистрация: 09.04.2008
Сообщений: 151
По умолчанию

Большое спасибо.
Airou вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Алгоритм поиска HEX строки в файле Vlad_3310 Общие вопросы Delphi 8 17.06.2008 10:02
Система поиска. R-SER Помощь студентам 0 22.11.2007 18:44
Вопрос по label. Как сделать так чтобы label была прозрачной. Lonix Компоненты Delphi 2 01.04.2007 06:23