HORA DO SERVIDOR

DAVYS 06/04/2005 09:10:17
#76927
OLà PESSOAL, PRECISO DE UMA ROTINA QUE PEGUE A HORA DO SERVIDOR POIS MEU PROGRAMA TEM UM CONTROLE DO HORARIO NO BANCO DE DADOS ENTAO NAO POSSO USAR A HORA LOCAL DO USUARIO. VLW GALERA
DAVYS 06/04/2005 09:18:34
#76928
A PESSOAL SO MAIS UMA COISA NÃO PRECISA SER NECESSARIAMENTE A HORA DO SERVIDOR E SIM DE QUALQUER MAQUINA NA REDE
USUARIO.EXCLUIDOS 06/04/2005 09:32:25
#76931
Resposta escolhida
Só uma perguntinha: "Porque precisa fazer isto?"
Entre em detalhes, talvez tenha uma forma mais simples de resolver seu problema?
Se pode ser de qualquer máquina, porque não da própria máquina onde se encontra o sistema?
DAVYS 06/04/2005 09:43:11
#76934
Assim o sistema ira registrar o horario q foi feito uma tarefa, a rotina da tarefa ja esta pronta, o servidor aki é Linux entaum axo q complica um pouco para pegar a hora dele, mais nesse caso posso usar minha maquina , win98 como servidor, o banco vai ficar na minha maquina e quando for registrar a tarefa executada no banco de dados ele pega a hora em que foi feita a tarefa, pois se for feita usando a hora local do micro do usuario, ele pode alterar a hora do windowns para burlar o sistema .
USUARIO.EXCLUIDOS 06/04/2005 09:50:41
#76937
Ahh tá
lá vai

Codigo simples para pegar data/hora do servidor (ou de qualquer máquina da rede) e eventualmente atualizar a data/hora da estação.


'Coloque isso em um form.

Private Declare Function NetRemoteTOD Lib _
"NETAPI32.DLL" (ByVal server As _
String, buffer As Any) As Long
Private Declare Sub CopyMemory Lib "kernel32" _
Alias "RtlMoveMemory" (hpvDest As _
Any, hpvSource As Any, ByVal cbCopy _
As Long)
Private Declare Function NetApiBufferFree Lib _
"NETAPI32.DLL" (buffer As Any) As Long

Private Type TIME_OF_DAY
t_elapsedt As Long
t_msecs As Long
t_hours As Long
t_mins As Long
t_secs As Long
t_hunds As Long
t_timezone As Long
t_tinterval As Long
t_day As Long
t_month As Long
t_year As Long
t_weekday As Long
End Type

Public Function ServerTime(ByVal pServerName _
As String) As Variant
Dim t As TIME_OF_DAY
Dim tPtr As Long
Dim Result As Long
Dim szServer As String
Dim ServDate As Date
If Left(pServerName, 2) = "\\" Then
szServer = StrConv(pServerName, vbUnicode)
Else
szServer = StrConv("\\" & pServerName, _
vbUnicode)
End If
Result = NetRemoteTOD(szServer, tPtr)
If Result = 0 Then
Call CopyMemory(t, ByVal tPtr, Len(t))
ServDate = DateSerial(70, 1, 1) + _
(t.t_elapsedt / 60 / 60 / 24)
ServDate = ServDate - (t.t_timezone / 60 / 24)
NetApiBufferFree (tPtr)
ServerTime = ServDate
Else
'erro
End If
End Function


Private Sub Form_Click()

Dim hoje As Date
Dim hora As Date

Data = ServerTime("\\NomedoServidor")
pos = InStr(Data, " ")
hoje = Left(Data, (pos - 1))
hora = Right(Data, (Len(Data) - pos))

Date = hoje
Time = hora

linha = Trim(Str(hoje)) + " - " + Trim(Str(hora))

MsgBox linha
End Sub


(Data, (Len(Data) - pos))

Date = hoje
Time = hora

linha = Trim(Str(hoje)) + " - " + Trim(Str(hora))

MsgBox linha
End Sub

Blz?
Espero ter ajudado..


USUARIO.EXCLUIDOS 06/04/2005 09:53:39
#76938
Tem também o comando NET TIME (Depende da versão do OS)
Via dos:
Sintaxe
NET TIME \\servidor

(Usei o Windows XP Professional)
Até +++
DAVYS 06/04/2005 09:57:45
#76939
Germanir no caso desse comando DOS funcionou mais como faço pra passar esse comando para o vb e pegar a hora
DAVYS 06/04/2005 10:14:24
#76952
Como faço por exemplo pra eu clicar em um command e aparecer escrito na text1 a data e hora da maquina chamada \    este por exemplo
USUARIO.EXCLUIDOS 06/04/2005 11:08:22
#76963
Você pode usar um BAT para ver a hora e armazenar em um arquivo.txt
depois via codigo,vc abre este arquivo e pegar a hora com split...
veja
Abra o bloco de notas e digite

@ECHO OFF
NET TIME \\SERVIDOR > C:\HORA.TXT
START NOTEPAD C:\HORA.TXT
EXIT

Depois salve com o nome de TEMPO.BAT (A Extensão tem de ser BAT)
Depois clique duas vezes e veja o que acontece.....
A hora do servidor vai para o arquivo 'hora.txt' localizado no C...
ai é só você imprementar uma rotina para executar este bat e depois abrir o arquivo txt gerado e pegar a hora...
DAVYS 06/04/2005 11:54:03
#76979
pow vlw mesmo cara me ajudou pra kct vlw mesmo deu certo
Tópico encerrado , respostas não são mais permitidas