Как Упростить Задачу?

NeuroSystem

New member
12.04.2013
3
0
#1
Есть такой код:
Код:
 with TDXVideoPanel(Sender) do
begin
if InFrames(0, 1000) then
begin
LeftTop := Point(0, 0);
lLeftTop := CheckLeftTop(ClientWidth, ClientHeight);
end;
if InFrames(3, 200) then
begin
lHeaderLeftTop := lLeftTop;
lHeaderSize := Point(200, 30);
Result := RenderCell(lHeaderLeftTop, lHeaderSize, DynamicList);
if Failed(Result) then Exit;
end;
if InFrames(7, 200) then
begin
lHeaderTextRect.Left := lLeftTop.X;
lHeaderTextRect.Top := lLeftTop.Y;
lHeaderTextRect.Right := lHeaderTextRect.Left + lHeaderSize.X + 18;
lHeaderTextRect.Bottom := lHeaderTextRect.Top + lHeaderSize.Y + 20;
Result := RenderLabel('ЛИЧНЫЙ КАБИНЕТ', lHeaderTextRect, lLabel);
if Failed(Result) then Exit;
end;
if InFrames(9, 200) then
begin
lBodyMove.X := Min(lHeaderSize.X + (Frame - 9) * 8, 660);
lBodyMove.Y := Min((Frame - 9) * 4, 200);
lBodyLeftTop.X := lLeftTop.X;
lBodyLeftTop.Y := lLeftTop.Y + lHeaderSize.Y + 20;
lBodySize.X := lBodyMove.X;
lBodySize.Y := lBodyMove.Y;
Result := RenderCell(lBodyLeftTop, lBodySize, DynamicList);
if Failed(Result) then Exit;
end;
if InFrames(30, 200) then
begin
lTimeSize.X := 280;
lTimeSize.Y := 35;
lTimeLeftTop.X := lBodyLeftTop.X + 16;
lTimeLeftTop.Y := lBodyLeftTop.Y + 16;
if InFrames(30, 50) then
begin
Result := RenderDynamicLabel('', lTimeLeftTop, @lTimeSize, HeaderLabel, ActiveString);
end
else if InFrames(50, 200) then
begin
Result := RenderDynamicLabel('Выполнен запуск приложения:', lTimeLeftTop, @lTimeSize, HeaderLabel, ActiveString);
end;
if Failed(Result) then Exit;
if InFrames(80, 200) then
begin
lTimeLeftTop.X := lBodyLeftTop.X + 16 + 320;
lTimeLeftTop.Y := lBodyLeftTop.Y + 16;
if InFrames(80, 100) then
begin
Result := RenderDynamicLabel('', lTimeLeftTop, @lTimeSize, HeaderLabel, ActiveString);
end
else if InFrames(100, 200) then
begin
Result := RenderDynamicLabel(DateToStr(StartLocal) + ' в ' + TimeToStr(StartLocal), lTimeLeftTop, @lTimeSize, HeaderLabel, ActiveString);
end;
end;
if Failed(Result) then Exit;
end;
if InFrames(60, 200) then
begin
lTimeSize.X := 280;
lTimeSize.Y := 40;
lTimeLeftTop.X := lBodyLeftTop.X + 16;
lTimeLeftTop.Y := lBodyLeftTop.Y + 16 + 55;
if InFrames(60, 70) then
begin
Result := RenderDynamicLabel('', lTimeLeftTop, @lTimeSize, HeaderLabel, ActiveString);
end
else if InFrames(70, 200) then
begin
Result := RenderDynamicLabel('Состояние счетчика процессора:', lTimeLeftTop, @lTimeSize, HeaderLabel, ActiveString);
end;
if Failed(Result) then Exit;
if InFrames(100, 200) then
begin
lTimeLeftTop.X := lBodyLeftTop.X + 16 + 320;
lTimeLeftTop.Y := lBodyLeftTop.Y + 16 + 55;
if InFrames(80, 100) then
begin
Result := RenderDynamicLabel('', lTimeLeftTop, @lTimeSize, HeaderLabel, ActiveString);
end
else if InFrames(100, 200) then
begin
Result := RenderDynamicLabel(IntToStr(StartTickCounter) + ' тактов.', lTimeLeftTop, @lTimeSize, HeaderLabel, ActiveString);
end;
end;
if Failed(Result) then Exit;
end;
Такого кода много.
Как его упросить? Или может быть рисовать можно как-то иначе. Подскажите мне что-нибудь.