Campo TimeStamp
Como faço para ligar dois DBDateEdits em um mesmo campo TimeStamp?
Onde um Componente fica somente para controlar a data e outro para os minutos?
Onde um Componente fica somente para controlar a data e outro para os minutos?
Diegotiemann
Curtidas 0
Respostas
Nasguone
19/09/2008
DBDateEdits e um componente de terceiro...
Eu utilizo sempre uma rotina em que eu junto dois DateTimePicker dentro de um grid ou mesmo dentro de um edit dando a impressão de ser apenas um controle....
Se for isso poste que eu te envio o exemplo....
Eu utilizo sempre uma rotina em que eu junto dois DateTimePicker dentro de um grid ou mesmo dentro de um edit dando a impressão de ser apenas um controle....
Se for isso poste que eu te envio o exemplo....
GOSTEI 0
Diegotiemann
19/09/2008
Ficaria grato se me enviase um exemplo
GOSTEI 0
Nasguone
19/09/2008
Estou lhe enviando um exemplo que utilizo num dbgrid então o campo hora e data esta separado mas vc pode incluir os dois juntos no evento
onCellClick dentro do if de um dos campos
{tdatetimer 1 com Kind como date 1 como time}
//onDrawColumnCell// Insere datas prevista no campo de bloqueio
begin
dtpDataPrev.Visible := DBGrid1.SelectedField = dm.cdBloqueioBloqueio_Data_Prev;//campo do dbgrid que sera incluido os dois campos if dtpDataPrev.Visible then
if gdFocused in State then
begin
dtpDataPrev.SetBounds(
Rect.Left,Rect.Top +30,
Rect.Right-Rect.Left,
Rect.Bottom-Rect.Top);
end;
// Insere horas prevista bloqueio
dtpDataPrevT.Visible := DBGrid2.SelectedField = dm.cdBloqueioBloqueio_Data_Prev;
if dtpDataPrevT.Visible then
if gdFocused in State then
begin
dtpDataPrevT.SetBounds(
Rect.Left,Rect.Top +49,
Rect.Right-Rect.Left,
Rect.Bottom-Rect.Top);
end;
end;
//onCellClick
var
HoraDtp : string
begin
if Column.Field=dm.cdBloqueioBloqueio_Termino then
begin
dm.cdBloqueio.Edit;
dm.cdBloqueioBloqueio_Termino.AsBoolean:=not
dm.cdBloqueioBloqueio_Termino.AsBoolean;
if dm.cdBloqueioBloqueio_Termino.AsBoolean =True then
begin
if dm.cdBloqueioBloqueio_Atualiza.value <> True then
begin
dm.cdBloqueioBloqueio_Data_Prev.AsDateTime := dtpDataPrev.Date ;
end;
end
else
begin
if dm.cdBloqueioBloqueio_Atualiza.value <>True then
begin
dm.cdBloqueioBloqueio_Data_Prev.AsDateTime := 0 ;
end;
end;
end;
if Column.Field=dm.cdBloqueioBloqueio_Data_Prev then // edita data prevista bloqueio
begin
if (dm.cdBloqueioBloqueio_Atualiza.Value <> True) then
begin
dm.cdBloqueio.Edit;
HoraDtp := DateToStr(dtpDataPrev.Date)+´ ´+TimeToStr(dtpDataPrevT.Time);
dm.cdBloqueioBloqueio_Data_Prev.AsDateTime:=StrToDateTime(HoraDtp);
dm.cdBloqueioBloqueio_Data_Prev.AsDateTime;
end;
end;
end;
onCellClick dentro do if de um dos campos
{tdatetimer 1 com Kind como date 1 como time}
//onDrawColumnCell// Insere datas prevista no campo de bloqueio
begin
dtpDataPrev.Visible := DBGrid1.SelectedField = dm.cdBloqueioBloqueio_Data_Prev;//campo do dbgrid que sera incluido os dois campos if dtpDataPrev.Visible then
if gdFocused in State then
begin
dtpDataPrev.SetBounds(
Rect.Left,Rect.Top +30,
Rect.Right-Rect.Left,
Rect.Bottom-Rect.Top);
end;
// Insere horas prevista bloqueio
dtpDataPrevT.Visible := DBGrid2.SelectedField = dm.cdBloqueioBloqueio_Data_Prev;
if dtpDataPrevT.Visible then
if gdFocused in State then
begin
dtpDataPrevT.SetBounds(
Rect.Left,Rect.Top +49,
Rect.Right-Rect.Left,
Rect.Bottom-Rect.Top);
end;
end;
//onCellClick
var
HoraDtp : string
begin
if Column.Field=dm.cdBloqueioBloqueio_Termino then
begin
dm.cdBloqueio.Edit;
dm.cdBloqueioBloqueio_Termino.AsBoolean:=not
dm.cdBloqueioBloqueio_Termino.AsBoolean;
if dm.cdBloqueioBloqueio_Termino.AsBoolean =True then
begin
if dm.cdBloqueioBloqueio_Atualiza.value <> True then
begin
dm.cdBloqueioBloqueio_Data_Prev.AsDateTime := dtpDataPrev.Date ;
end;
end
else
begin
if dm.cdBloqueioBloqueio_Atualiza.value <>True then
begin
dm.cdBloqueioBloqueio_Data_Prev.AsDateTime := 0 ;
end;
end;
end;
if Column.Field=dm.cdBloqueioBloqueio_Data_Prev then // edita data prevista bloqueio
begin
if (dm.cdBloqueioBloqueio_Atualiza.Value <> True) then
begin
dm.cdBloqueio.Edit;
HoraDtp := DateToStr(dtpDataPrev.Date)+´ ´+TimeToStr(dtpDataPrevT.Time);
dm.cdBloqueioBloqueio_Data_Prev.AsDateTime:=StrToDateTime(HoraDtp);
dm.cdBloqueioBloqueio_Data_Prev.AsDateTime;
end;
end;
end;
GOSTEI 0