INCREMENTO DE DATA E HORA EM FORMATO STRING

JALEXM 17/09/2012 10:10:50
#409794
Tenho uma variável chamada DH, do tipo string, que recebe no início do programa uma data e hora que fica com o formato [Ô]dd/mm/yyyy hh:mm:ss[Ô].
Preciso incrementar essa data a cada segundo através de um timer e mantê-la como string e naquele formato.
Sei como usar o timer, mas não sei como incrementar essa variável.
Alguém sabe como fazer isso? Ela ajusta automaticamente o dia, mês, ano, hora e minuto quando houver incremento à meia-noite do último dia do último mês do ano?
Obrigado pela ajuda.
JONATHANSTECKER 17/09/2012 10:17:42
#409795
Você precisa de um relógio que inicie com a hora dessa variável. é isso?
JONATHANSTECKER 17/09/2012 10:27:41
#409796
Public DH As Date

Private Sub Form_Load()
DH = Now()
End Sub

Private Sub Timer1_Timer()
Me.Label1.Caption = Format(DH, [Ô]yyyy/mm/dd hh:mm:ss[Ô])
DH = DateAdd([Ô]s[Ô], 1, DH)
End Sub
LUIZCOMINO 17/09/2012 10:28:45
#409797
Coloque um label e um timer na tela


Private Sub Form_Load()
Timer1.Interval = 1000
End Sub

Private Sub Timer1_Timer()
Label1.Caption = Date & [Ô] [Ô] & Time
End Sub
MARCELO.TREZE 17/09/2012 10:30:21
#409798
da realidade vc deve criar esta variavel como date e depois é formatar


Dim DH As Date

Private Sub Form_Load()
DH = Date
Timer1.Interval = 1000
End Sub

Private Sub Timer1_Timer()
DH = DateAdd([Ô]s[Ô], 1, Now)
Label1.Caption = Format(DH, [Ô]dd/mm/yyyy hh:nn:ss[Ô])
End Sub
JONATHANSTECKER 17/09/2012 10:45:32
#409799
Citação:

DH = DateAdd([Ô]s[Ô], 1, Now)



Marcelo, só tem que cuidar porque dessa forma você estará usando a hora do sistema, e não a hora definida inicialmente...
Assim é o correto:
DH = DateAdd([Ô]s[Ô], 1, [txt-color=#e80000]DH[/txt-color])
OCELOT 17/09/2012 12:38:11
#409809
Sinto lhe informar que um Timer não é preciso o suficiente para se fazer uma coisa dessas e depois de algum tempo rodando vai dar diferença no horário que deveria ser com o que está na variável.

Outra coisa que não entendo é do porque insistem em guardar data e hora em string quando existe um tipo de dados próprio para isso, que pode ser formatado na hora que precisar para o que se precisa.
MARCELO.TREZE 17/09/2012 12:47:55
#409810
bom
Citação:

:
DH = DateAdd([Ô]s[Ô], 1, Now)

Marcelo, só tem que cuidar porque dessa forma você estará usando a hora do sistema, e não a hora definida inicialmente...
Assim é o correto:

DH = DateAdd([Ô]s[Ô], 1, [txt-color=#e80000]DH[/txt-color])



é eu não havia notado isso, obrigado pela correção.

Citação:

:
Sinto lhe informar que um Timer não é preciso o suficiente para se fazer uma coisa dessas e depois de algum tempo rodando vai dar diferença no horário que deveria ser com o que está na variável.

Outra coisa que não entendo é do porque insistem em guardar data e hora em string quando existe um tipo de dados próprio para isso, que pode ser formatado na hora que precisar para o que se precisa.



infelizmente e esta afirmação é correta

JONATHANSTECKER 17/09/2012 12:51:19
#409812
Citação:

Sinto lhe informar que um Timer não é preciso o suficiente para se fazer uma coisa dessas e depois de algum tempo rodando vai dar diferença no horário que deveria ser com o que está na variável.


Isso é novidade para mim! Nunca ouvi reclamações e nunca tive problema!

Citação:

Outra coisa que não entendo é do porque insistem em guardar data e hora em string quando existe um tipo de dados próprio para isso, que pode ser formatado na hora que precisar para o que se precisa.


Essa não é uma questão de se entender. As vezes não é por insistência, e sim por falta de conhecimento.
Veja que no exemplo que eu e o Marcelo postamos, declaramos a variável corretamente.
MARCELO.TREZE 17/09/2012 13:02:54
#409815
é jonathan infelizemnte no caso acima descrito onde será acrescido 1 aos segundos o que pode ocorrer é o seguinte:

em algum momento algum processo do windows vai congelar o timer, o que vai causar uma certa diferença, e isto é comum sim.

talvez isso não seja notado ao se colocar um date ou um time dentro do timer, porque mesmo que o timer pare quando ele ler o date ou time vai ler o valor correto, diferente da situação acima entendeu.

JONATHANSTECKER 17/09/2012 13:05:41
#409816
Citação:

:
é jonathan infelizemnte no caso acima descrito onde será acrescido 1 aos segundos o que pode ocorrer é o seguinte:

em algum momento algum processo do windows vai congelar o timer, o que vai causar uma certa diferença, e isto é comum sim.

talvez isso não seja notado ao se colocar um date ou um time dentro do timer, porque mesmo que o timer pare quando ele ler o date ou time vai ler o valor correto, diferente da situação acima entendeu.


Perfeitamente! Valew.
Tópico encerrado , respostas não são mais permitidas