DATA (Formato DD/MM/AAAA)

05/04/2020

0

Boa tarde.

Gostaria de criar um código pra quando eu clicar no botão NOVO o campo onde sera inserido a data seja preenchido automaticamente. Exemplo 05/04/2020.
O campo seria um DBEdit (que eu chamei de DBEditDATA).

Estou usando os componente da palheta InterBase do Delphi 10.3. Abaixo segue o código que estou usando no botão NOVO:
procedure TfrmPedidoAviamentos.SpeedButtonNovoClick(Sender: TObject);
begin
try
//TRUE
  DBEditCOD.Enabled                 := True;// Ver se tem outros pra ATIVAR
  DBEditREFERENCIA.Enabled          := True;
  DBEditCORES.Enabled               := True;
  DBEditCOLECOES.Enabled            := True;
  DBEditPRODUCAO.Enabled            := True;
  DBEditQTD_MINIMA.Enabled          := True;
  DBEditQTD_MAXIMA.Enabled          := True;
  DBEditOBSERVACAO1.Enabled         := True;
  DBEditOBSERVACAO2.Enabled         := True;
  DBEditOBSERVACAO3.Enabled         := True;

  DBLookupComboBoxCORES.Enabled     := True;
  DBLookupComboBoxCOLECOES.Enabled  := True;
  DBLookupComboBoxPRODUCAO.Enabled  := True;

//FALSE
  DBEditVALOR.Enabled               := False;
  DBEditTOTAL.Enabled               := False;
  DBEditVALOR_TOTAL.Enabled         := False;
  DBEditDATA.Enabled                := False;//<<<<<<<<<<<<<<<<<<<<<<<<<<<
    DBEditREFERENCIA.SetFocus;

      dmDados.ibPedidoAviamentos.Append;
except
  ShowMessage('Operação Invalida');
end;
end;


Gostaria da vossa orientação. Confesso procurei videos explicando mais não achei.
Rubens Pena

Rubens Pena

Responder

Post mais votado

06/04/2020

faça isso no evento OnNewRecord do dataset.
procedure TForm1.IBDataset1NewRecord(DataSet: TDataSet);
begin
  Dataset.FieldByName('NOMEDOCAMPO').AsDate := Date;
end;
assim não importa a qual componente dataware esteja ligado, sempre irá preencher o campo automaticamente ao criar uym novo registro.


Boa tarde Emerson Nascimento.

No meu forme coloquei um componente IBDataSet1 (DataBase e DataSource ligados) e no SelectSQL dele coloquei select * from PEDIDO_AVIAMENTOS

No evento OnNewRecord dele digitei o código abaixo
procedure TfrmPedidoAviamentos.IBDataSet1NewRecord(DataSet: TDataSet);
begin
  DataSet.FieldByName('PEDIDO_AVIAMENTOS_DATA').AsDateTime := Date;  //As Date (não tinha) tem o AsDateTime
  //DataSet.FieldByName('DBEditDATA').AsDateTime := Date;
end;


Compilei e deu Done (OK).
Mas ao roda o projeto clica em NOVO pra preencher os campos, o campo DBEditDATA (TDBEdit), o mesmo não preencheu.
Será que é porque la no Banco de Dados, eu deixei ele como pedido_aviamentos_DATA (Field Type DATE)

Rubens Pena

Rubens Pena
Responder

Mais Posts

06/04/2020

Emerson Nascimento

faça isso no evento OnNewRecord do dataset.
procedure TForm1.IBDataset1NewRecord(DataSet: TDataSet);
begin
  Dataset.FieldByName('NOMEDOCAMPO').AsDate := Date;
end;
assim não importa a qual componente dataware esteja ligado, sempre irá preencher o campo automaticamente ao criar uym novo registro.
Responder

06/04/2020

Rubens Pena

faça isso no evento OnNewRecord do dataset.
procedure TForm1.IBDataset1NewRecord(DataSet: TDataSet);
begin
  Dataset.FieldByName('NOMEDOCAMPO').AsDate := Date;
end;
assim não importa a qual componente dataware esteja ligado, sempre irá preencher o campo automaticamente ao criar uym novo registro.


Boa noite Emerson Nascimento.

No meu forme coloquei um componente IBDataSet1 (DataBase e DataSource ligados) e no SelectSQL dele coloquei select * from PEDIDO_AVIAMENTOS

No evento OnNewRecord dele digitei o código abaixo

procedure TfrmPedidoAviamentos.IBDataSet1NewRecord(DataSet: TDataSet);
begin
  DataSet.FieldByName('PEDIDO_AVIAMENTOS_DATA').AsDateTime := Date;  //AsDate (não tinha) tem o AsDateTime
  //DataSet.FieldByName('DBEditDATA').AsDateTime := Date; //AsDate (não tinha) tem o AsDateTime -  Tentei assim também não deu certo
end;


Compilei e deu Done (OK).
Mas ao roda o projeto clica em NOVO pra preencher os campos, o campo DBEditDATA (TDBEdit), o mesmo não preencheu.
Será que é porque la no Banco de Dados, eu deixei ele como pedido_aviamentos_DATA (Field Type DATE)
Responder

08/04/2020

Rubens Pena

Boa tarde.

Gostaria de criar um código pra quando eu clicar no botão NOVO o campo onde sera inserido a data seja preenchido automaticamente. Exemplo 05/04/2020.
O campo seria um DBEdit (que eu chamei de DBEditDATA).

Estou usando os componente da palheta InterBase do Delphi 10.3. Abaixo segue o código que estou usando no botão NOVO:
procedure TfrmPedidoAviamentos.SpeedButtonNovoClick(Sender: TObject);
begin
try
//TRUE
  DBEditCOD.Enabled                 := True;// Ver se tem outros pra ATIVAR
  DBEditREFERENCIA.Enabled          := True;
  DBEditCORES.Enabled               := True;
  DBEditCOLECOES.Enabled            := True;
  DBEditPRODUCAO.Enabled            := True;
  DBEditQTD_MINIMA.Enabled          := True;
  DBEditQTD_MAXIMA.Enabled          := True;
  DBEditOBSERVACAO1.Enabled         := True;
  DBEditOBSERVACAO2.Enabled         := True;
  DBEditOBSERVACAO3.Enabled         := True;

  DBLookupComboBoxCORES.Enabled     := True;
  DBLookupComboBoxCOLECOES.Enabled  := True;
  DBLookupComboBoxPRODUCAO.Enabled  := True;

//FALSE
  DBEditVALOR.Enabled               := False;
  DBEditTOTAL.Enabled               := False;
  DBEditVALOR_TOTAL.Enabled         := False;
  DBEditDATA.Enabled                := False;//<<<<<<<<<<<<<<<<<<<<<<<<<<<
    DBEditREFERENCIA.SetFocus;

      dmDados.ibPedidoAviamentos.Append;

dmDados.ibPedidoAviamentosPEDIDO_AVIAMENTOS_DATA.value  :=Date;  // Consegui resolver meu problema colocando esse código

except
  ShowMessage(''Operação Invalida'');
end;
end;


Gostaria da vossa orientação. Confesso procurei videos explicando mais não achei.


Boa tarde.

Consegui resolver meu problema digitando esse código abaixo do código ( dmDados.ibPedidoAviamentos.Append; )

dmDados.ibPedidoAviamentosPEDIDO_AVIAMENTOS_DATA.value  :=Date;


Não sei se é o correto mais me atendeu no que eu queria, que era colocar a data automaticamente ao clica no botão NOVO.

Obrigado
Emerson Nascimento
por tentar me ajudar com esse tópico.
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

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

Aceitar