Pegar conteudo TEdit Criado em RunTime
03/11/2009
0
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;
//***
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
Curtir tópico
+ 0
Responder
Posts
03/11/2009
Claudio Francisco
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;
//***
.
.
.
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;
//***
Responder
Clique aqui para fazer login e interagir na Comunidade :)