Array
(
)

Pegar conteudo TEdit Criado em RunTime

Claudio Francisco
   - 03 nov 2009

Estou criando os campos dessa forma...

procedure TFrm_ENCOMENDA.CB_FILIALExit(Sender: TObject);
var
    i :integer;
    j :integer;
begin
    //cria a tabela temporaria
    Frm_ENCOMENDA.CRIATABELA(Sender);

    Label16.Visible := False;
    CB_FILIAL.Visible := false;
    TabSheet1.Visible := False;
    TabSheet2.Visible := True;

    j := 3;
    if copy(CB_FILIAL.Text,6,11) = 'CONSOLIDADA' then begin
      DM_CAIXA.SQLQ_TMP2.Close;
      DM_CAIXA.SQLQ_TMP2.SQL.Clear;
      DM_CAIXA.SQLQ_TMP2.SQL.add (''+
      'SELECT EMP_CODFIL, EMP_FILIAL FROM SM0 WHERE EMP_CODIGO = ''01'' ORDER BY EMP_CODFIL ');
      DM_CAIXA.SQLQ_TMP2.Open;
      xQuant := 'QTD_';
      i := 83;
      while DM_CAIXA.SQLQ_TMP2.Eof = False do begin
        xQuant := xQuant + Trim(copy(DM_CAIXA.SQLQ_TMP2.Fields[1].Text,8,10));
        xEdit := TEdit.Create(Frm_ENCOMENDA);
        With xEdit do Begin
          Parent := Tabsheet2;
          Name  := xQuant;
          Left  := i;
          Top  := 37;
          Width := 60;
          Text  := xQuant;
          TabOrder := j;
          OnKeyPress := ED_PRODUTOKeyPress;
          BevelKind := bkFlat;
          BorderStyle := bsNone;
        end;
        DM_CAIXA.SQLQ_TMP2.Next;
        i := i + 65;
        j := j + 1;
        xQuant := 'QTD_';
      end;
    end else begin
        xQuant := 'QTD_' + Trim(copy(CB_FILIAL.Text,14,10));
        xEdit := TEdit.Create(Frm_ENCOMENDA);
        With xEdit do Begin
          Parent := Tabsheet2;
          Name  := xQuant;
          Left  := 83;
          Top  := 37;
          Width := 60;
          Text  := xQuant;
          TabOrder := j;
          OnKeyPress := ED_PRODUTOKeyPress;
          BevelKind := bkFlat;
          BorderStyle := bsNone;
        end;
    end;

    ED_PRODUTO.SetFocus;
    BB_INC_ITEM.TabOrder := j + 1;
end;

.
.
.
E tentando acessa-lo, estou tentado de tudo mas ainda nao consegui, uma ajudinha ai Please...

procedure TFrm_ENCOMENDA.BB_INC_ITEMClick(Sender: TObject);
var
  i:integer;
  xItem:string;
begin
  xITEM := FormatFloat('000#',(yItem + 1));

  DM_CAIXA.SQLQ_TMP.Close;
  DM_CAIXA.SQLQ_TMP.SQL.Clear;
  DM_CAIXA.SQLQ_TMP.SQL.Add ('SELECT B1_DESC, B1_UM, B1_LOCPAD, B1_IPI, B1_TE FROM SB1010 WHERE B1_COD = '''+ED_PRODUTO.Text+''' ');
  DM_CAIXA.SQLQ_TMP.open;

  //***
  if copy(CB_FILIAL.Text,6,11) = 'CONSOLIDADA' then begin
    DM_CAIXA.SQLQ_TMP2.Close;
    DM_CAIXA.SQLQ_TMP2.SQL.Clear;
    DM_CAIXA.SQLQ_TMP2.SQL.add (''+
    'SELECT EMP_CODFIL, EMP_FILIAL FROM SM0 WHERE EMP_CODIGO = ''01'' ORDER BY EMP_CODFIL ');
    DM_CAIXA.SQLQ_TMP2.Open;

    while DM_CAIXA.SQLQ_TMP2.Eof = False do begin
      with TabSheet2 do begin
        for i:=2 to (ControlCount-1) do begin
          if ((Controls[i] as TCustomEdit).Text[i]) in ['0'..'9'] then
              xQuant :=  xQuant + (Controls[i] as TCustomEdit).Text +',';
        end;
      end;
      DM_CAIXA.SQLQ_TMP2.Next;
    end;
  end else begin
      for i:=2 to (ControlCount-1) do begin
        if ExistNumero((Controls[i] as TCustomEdit).Text) then
          xQuant :=  xQuant + ','+ (Controls[i] as TCustomEdit).Text;
      end;
  end;

  //***

Claudio Francisco
   - 03 nov 2009

Blz pessoal, resolvi dessa forma...
.
.
.
      while DM_CAIXA.SQLQ_TMP2.Eof = False do begin
      with Panel1 do begin
        for i:=0 to y do begin
            xQuant :=  xQuant + BCDToStrf(StrToBCD((Controls[i] as TCustomEdit).Text),ffnumber,6,2) +''''+',';
            DM_CAIXA.SQLQ_TMP2.Next;
        end;
      end;
    end;
  end else begin
      with Panel1 do begin
        for i:=0 to 1 do begin
            xQuant :=  xQuant + BCDToStrf(StrToBCD((Controls[i] as TCustomEdit).Text),ffnumber,6,2) +',';
            DM_CAIXA.SQLQ_TMP2.Next;
        end;
      end;
  end;
  //***