CRIAR PANELs em TEMPO DE EXECUÇÃO

Off Topic

08/07/2015

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

Curtidas 0

Melhor post

Geovany Felipeto

Geovany Felipeto

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;
GOSTEI 1

Mais Respostas

Randrade

Randrade

08/07/2015

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.
GOSTEI 0
Geovany Felipeto

Geovany Felipeto

08/07/2015

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