CRIAR PANELs em TEMPO DE EXECUÇÃO

08/07/2015

0

Bom dia,
Pessoal estou com uma duvida aqui, fiz um sistema que controla um abrigo de animais como tese pro meu TCC,

enfim o sistema controla os "quartos" onde estão abrigados os bichos pra adoção. Ai montei uma tela onde mostra

um monte de Panel's cada panel representando um quarto e se estiver ocupado, em higienização, em horario de

veterinario, vai mostrando uma cor diferente. O problema é que começou a me dar serviço demais pra atualizar esta

tela pois o abrigo aumentou de tamanho, e fica adicionando os codigos e select toda hora ta me tomando muito tempo

de vida e deixando o sistema cheio de IF's e ta me dando cancer nos olhos ver aquele codigo. rsssss

Enfim quero reformular o codigo de modo que o usuario passe o parametro de quantos quartos terá o abrigo. E em tempo de execução o sistema adicione a quantidade de panels.

Porém não sei nem por onde começar,,, alguem pode so filtrar um pouco as ideias para me dar uma luz ?!
Geovany Felipeto

Geovany Felipeto

Responder

Post mais votado

08/07/2015

cheguei a gerar este codigo aqui, mas nao esta dando muito certo
var
  Form1: TForm1;
   Panel_teste : array [1..100] of TPanel;

implementation



{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
var I, Panel_left, Panel_top : Integer;
begin
Panel_left := 5;
Panel_top := 5;
  for I := 1 to ADOQuery1QTD_LEITOS.AsInteger do
    begin
       Panel_teste[I]:= TPanel.Create(Self);
       with Panel_teste[I] do begin
         Visible := true;
         Left := Panel_left;
         Top := Panel_top;
         Width := 179;
         Height := 100;
         BevelOuter := bvNone;
         Caption := ADOQuery1QTD_LEITOS.AsString;
         Color := cl3DLight;
         TabOrder := 1;
         Name := 'Panel_'+IntToStr(I);
      //   OnClick := PanelClick;
         ParentBackground := False;
        // Parent := ScrollBox1;
       end;
    Panel_left := Panel_left + 190;
    if Panel_left > Screen.Width then
    begin
      Panel_left := 5;
      Panel_top := Panel_top + 112;
    end;
    end;
end;

Geovany Felipeto

Geovany Felipeto
Responder

Mais Posts

08/07/2015

Randrade

Geovany Felipeto,

Adicione informações sobre seu sistema. Linguagem desenvolvida, banco de dados, Web ou Desktop, o que você se refere exatamente com "Panels", e demais informações.
Responder

08/07/2015

Geovany Felipeto

Randrade,
banco de dados sql server, Dephi xe 7, desktop. Componentes panel do Delphi.
Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar