Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.08.13;
Скачать: CL | DM;

Вниз

Построение элементов   Найти похожие ветки 

 
doddoindan   (2006-06-30 17:34) [0]

Вообщем создаю динамически элементы, создаются они на разных панелях, потом пишу процедуру для их выравнивания, однако получается так, что на последней панели первые несколько элементов пропадают, никак немогу найтьи ошибку(на одной панеле размещаются 2 столбца по 14 элементов)

for x:=1 to i-1 do

begin

cb.items[x].Top:=cb.items[x-1].Top+16;
cb.items[x].Left:=cb.items[x-1].Left;
if (x mod 14 =0) and (y>=2) then
begin
  cb.items[x].Top:=5;
  cb.items[x].Left:=5;
  y:=1;
end
else
 if (x mod 14 =0) and (y<=2) then
begin
  cb.items[x].Top:=5;
  cb.items[x].Left:=170;
  y:=y+1;
end;

end;


 
Palladin ©   (2006-06-30 18:03) [1]

надеюсь ты Y инициализируешь перед циклом


 
doddoindan   (2006-06-30 18:21) [2]

естессно, проблема не в этом , проблема в логике... я её понимаю недоконца


 
Palladin ©   (2006-06-30 18:58) [3]

значит ты тут так напутал что сам неразберешься? :)
молодца



cb.Items[0].Left:=5;
for x:=1 to i-1 do
begin
cb.items[x].Top:=cb.items[x-1].Top+16;
cb.items[x].Left:=cb.items[x-1].Left;
if (x=14)  Then
 begin
  cb.items[x].Top:=5;
  cb.items[x].Left:=170;
 end
end;



 
Palladin ©   (2006-06-30 19:00) [4]

или еще лучше



cb.Items[0].Left:=5;
For x:=1 to i-1 Do
 If (x=14)  Then
  Begin
   cb.items[x].Top:=5;
   cb.items[x].Left:=170;
  End Else
 Begin
   cb.items[x].Top:=cb.items[x-1].Top+16;
   cb.items[x].Left:=cb.items[x-1].Left;
 End;




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

Текущий архив: 2006.08.13;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.124 c
15-1152772402
Василий
2006-07-13 10:33
2006.08.13
Требуется программист


3-1149768298
fuckman
2006-06-08 16:04
2006.08.13
Ошибка "Multiple record found, but only one was expected"


6-1143620055
Std
2006-03-29 12:14
2006.08.13
Определение IP


2-1153835783
WolfRamm
2006-07-25 17:56
2006.08.13
Zeos


2-1153854290
men-hen
2006-07-25 23:04
2006.08.13
процессы