Ir para conteúdo
Fórum Script Brasil
  • 0

Problema em Consulta com TEdit em Tempo de Execução


robinhocne

Pergunta

Estou montando uma tabela em tempo de execução:

procedure TFrmTeoricas.FormCreate(Sender: TObject);
begin

 // Criando total de alunos
  for CA :=1 to 15  do
   for CAC := 1 to 50 do // criando colunas
      begin
        CodAlu            := TEdit.Create(nil);
        CodAlu.Name       := 'Alu';
        CodAlu.Left       := -4+(CAC*92);
        CodAlu.Height     := 25;
        CodAlu.Width      := 60;
        CodAlu.AutoSize   := false;
        CodAlu.Font.Size  := 10;
        CodAlu.Text       := '';
        CodAlu.top        := -25+(CA*26);
        CodAlu.Parent     := Grade;
        CodAlu.Cursor     := crCross;
      end;

 // Criando totais de materias
  for MA :=1 to 15  do
    for MAC := 1 to 50 do // criando colunas de materias
      begin
        Materias            := TEdit.Create(nil);
        Materias.Name       := 'Mat';
        Materias.Left       := 58+(MAC*92);
        Materias.Height     := 25;
        Materias.Width      := 25;
        Materias.AutoSize   := false;
        Materias.Font.Size  := 10;
        Materias.Text       := '';
        Materias.top        := -25+(MA*26);
        Materias.Parent     := Grade;
      end;     
end;
e eu tenho que consultar de cada coluna e linha de edit quais alunos estão marcados:
procedure TFrmTeoricas.ConsultaAgendamento;
begin

    ContaM := 1;
    With DtmIza.QryIza do
    begin
      close;
      sql.Clear;
      sql.Add('Select * From Teoricas where Instrutor = :Inst and Data = :Dat');
      ParamByName('Inst').AsString := txtcodins.Text;
      ParamByName('Dat').AsDate    := txtData.date;
      open;
    end;

    while ( not dtmIza.qryiza.EOF ) do
    begin
       if DtmIza.QryIza.FieldByName('Bloqueado').AsString = 'S' then
       begin
          TEdit( FindComponent( 'Alu' + IntToStr( ContaM ) ) ).Text := '**********';
       end
       else
       begin
         TEdit( FindComponent( 'Alu' + IntToStr( ContaM ) ) ).Text := DtmIza.QryIza.FieldByName('Aluno').asstring;
          TEdit( FindComponent( 'Mat' + IntToStr( ContaM ) ) ).Text := DtmIza.QryIza.FieldByName('Materia').asstring;
       end;
       {else
       begin
          TEdit( FindComponent( 'Alu' + IntToStr( ContaM ) ) ).Text := '';
       end;  }
       contaM:=contaM+1;
       dtmIza.qryiza.Next;
    end;    
end;

Mas não está mostrando nada, pois fiz isso com os edits criados e deu certo mas criando em tempo de execução não aparece nada e tem que ser em tempo de execuçao todo essa construção da tabela

O que eu estou fazendo de errado ?

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0
Estou montando uma tabela em tempo de execução:

Mas não está mostrando nada, pois fiz isso com os edits criados e deu certo mas criando em tempo de execução não aparece nada e tem que ser em tempo de execuçao todo essa construção da tabela

O que eu estou fazendo de errado ?

Tenta dessa maneira:

procedure TFrmTeoricas.FormCreate(Sender: TObject);
var CodAlu, Materias : TEdit; CA, CAC, MA, MAC : Integer;
begin
// Criando total de alunos
  for CA :=1 to 15  do
   for CAC := 1 to 50 do // criando colunas
      begin
        CodAlu            := TEdit.Create(nil);
        CodAlu.Parent     := FrmTeoricas;
        CodAlu.Name       := 'Alu';
        CodAlu.Left       := -4+(CAC*92);
        CodAlu.Height     := 25;
        CodAlu.Width      := 60;
        CodAlu.AutoSize   := false;
        CodAlu.Font.Size  := 10;
        CodAlu.Text       := '';
        CodAlu.top        := -25+(CA*26);
        CodAlu.Cursor     := crCross;
      end;

// Criando totais de materias
  for MA :=1 to 15  do
    for MAC := 1 to 50 do // criando colunas de materias
      begin
        Materias            := TEdit.Create(nil);
        Materias.Parent     := FrmTeoricas;
        Materias.Name       := 'Mat';
        Materias.Left       := 58+(MAC*92);
        Materias.Height     := 25;
        Materias.Width      := 25;
        Materias.AutoSize   := false;
        Materias.Font.Size  := 10;
        Materias.Text       := '';
        Materias.top        := -25+(MA*26);
        Materias.Cursor     := crCross;
      end;


end;

Na sua procedure TFrmTeoricas.ConsultaAgendamento ... tente usar a ideia que passei para voce no outro post

http://scriptbrasil.com.br/forum/index.php...st&p=490186

abraço

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...