Obter data e hora do servidor
Moderador: Moderadores
- alaminojunior
- Colaborador

- Mensagens: 1717
- Registrado em: 16 Dez 2005 21:26
- Localização: Ubatuba - SP
Re: Obter data e hora do servidor
Também não vejo porquê não linkar com Blinker.
Compilador xHarbour 1.2.3 + Embarcadero C++ 7.30
MySQL c/ SQLRDD
HwGui + GTWVG
MySQL c/ SQLRDD
HwGui + GTWVG
Re: Obter data e hora do servidor
A resposta nisso esta no meio através do qual o interpretador de comandos foi re-instanciado. O comando RUN é bem pobrinho. E a função SwpRunCmd(), muito provavelmente, utiliza algum outro recurso, que torna possível execuções desse tipo.Pablo César escreveu:Será falta de memória ? Por quê com BLINKER funcionou e com RTLINK não
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
-
alxsts
- Colaborador

- Mensagens: 3092
- Registrado em: 12 Ago 2008 15:50
- Localização: São Paulo-SP-Brasil
Re: Obter data e hora do servidor
Meus caros, agradeço pelo interesse e empenho em ajudar com suas pesquisas.
Fiz mais alguns testes: criei o .Bat que o Maligno sugeriu e não funcionou tambem.
Linkeditando com o Exospace, de qualquer forma funciona!
Concluo que quando utilizo o RTLink, não há memória suficiente para rodar o Net Time (ele nem mostra a mensagem "Programa muito grande para ser carregado na memória" ). Por isso tentei rodar o CMD /C START, na tentativa de rodar em outra janela, com outro espaço de memória.
Vou dar um jeito de usar o Exospace ou BLinker.
Segue em anexo o código da função, se quiserem analisar.
Obrigado a todos.
[]s
AlxSts
Fiz mais alguns testes: criei o .Bat que o Maligno sugeriu e não funcionou tambem.
Linkeditando com o Exospace, de qualquer forma funciona!
Concluo que quando utilizo o RTLink, não há memória suficiente para rodar o Net Time (ele nem mostra a mensagem "Programa muito grande para ser carregado na memória" ). Por isso tentei rodar o CMD /C START, na tentativa de rodar em outra janela, com outro espaço de memória.
Vou dar um jeito de usar o Exospace ou BLinker.
Segue em anexo o código da função, se quiserem analisar.
Obrigado a todos.
[]s
AlxSts
- Anexos
-
srvrdate.prg- Obter data e hora do servidor
- (2.45 KiB) Baixado 201 vezes
[]´s
Alexandre Santos (AlxSts)
Alexandre Santos (AlxSts)
- Pablo César
- Usuário Nível 7

- Mensagens: 5312
- Registrado em: 31 Mai 2006 10:22
- Localização: Curitiba - Paraná
Obter data e hora do servidor
O comando SwpRunCmd("CMD /C NET TIME > NULL") mesmo em BLINKER como o Maligno indicou, não está funcionando gente.
Aproveitando o seu próprio código, fiz algumas modificações, compile e verá que funciona:
Acho que compilando, não resta dúvidas.
Não foi Maligno que indicou, mas isso não importa. Acho que você não deve ter feito como eu indiquei. Pois executando o NET TIME através de arquivo BATCH, funciona sim !alxsts escreveu:Fiz mais alguns testes: criei o .Bat que o Maligno sugeriu e não funcionou tambem.
Aproveitando o seu próprio código, fiz algumas modificações, compile e verá que funciona:
Código: Selecionar todos
PARAMETERS VSERV
IF VSERV=NIL
? "Informe parametro !. Coloque o nome do servidor."
? "Exemplo: SRVRDATE SERVIDOR02"
QUIT
ENDIF
? GetSvrSysDateTime( VSERV, .F.)
FUNCTION GetSvrSysDateTime( cServer, lSync )
Local dDate,cTime, nStart, nEnd, cString, nLen
Local cSetDate, cCommand
Local cRet := ""
// DEFAULT cServer TO "\\Server02"
// DEFAULT lSync TO .F. // Sincronizar estacao X servidor (Tratar depois)
IF ! Empty( "DATAHORA.TXT" )
MEMOWRIT("VESERVER.BAT","@NET TIME \\"+cServer+" > DATAHORA.TXT")
cCommand := "VESERVER.BAT"
RUN ( cCommand )
IF File("DataHora.txt")
cString := Memoread("DataHora.txt")
IF ( ! Empty( cString ) )
nLen := AT( "/", cString )
IF nLen > 0
cSetDate := Set( _SET_DATEFORMAT, "mm/dd/yyyy" )
While Substr( cString, nLen, 1 ) != " "
nLen--
Enddo
nStart := nLen + 1
cString := Substr( cString, nStart, Len( cString ) )
nEnd := AT( " ", cString )
dDate := Ctod( Substr( cString, 1, nEnd - 1 ) )
cString := Substr( cString, nEnd + 1, Len( cString ) )
nEnd := AT( " ", cString )
cTime := Substr( cString, 1, nEnd - 1 )
cString := Substr( cString, nEnd + 1, Len( cString ) )
nEnd := AT( ":", cTime )
If nEnd == 2
cTime := StrZero( Val( Left( cTime, 1 ) ), 2 ) + ":" + Substr( cTime, nEnd + 1, 2 )
Endif
IF ( At( "PM", cString ) > 0 ) .And. Left( cTime, 2 ) != "12"
cTime := StrZero( Val( Left( cTime, 2 ) ) + 12, 2 ) + Substr( cTime, 3, 3 )
ELSEIF ( At( " AM", cString ) > 0 ) .And. Left( cTime, 2 ) == "12"
cTime := "00" + Right( cTime, 3 )
ENDIF
ELSE
dDate := CtoD( "" )
cTime := " : "
ENDIF
DELETE FILE( "DATAHORA.TXT" )
ENDIF
ENDIF
Set( _SET_DATEFORMAT, cSetDate )
cRet := DtoC( dDate ) + " " + cTime
ENDIF
RETURN cRetUm clip-abraço !
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Re: Obter data e hora do servidor
Estranho. Pra mim funcionou certinho. Quem explica? 
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
- Pablo César
- Usuário Nível 7

- Mensagens: 5312
- Registrado em: 31 Mai 2006 10:22
- Localização: Curitiba - Paraná
Obter data e hora do servidor
Maligno, você experimentou com: SwpRunCmd("CMD /C NET TIME > NULL") ?
Um clip-abraço !
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
-
alxsts
- Colaborador

- Mensagens: 3092
- Registrado em: 12 Ago 2008 15:50
- Localização: São Paulo-SP-Brasil
Re: Obter data e hora do servidor
Pablo, desculpe, confundi quem me sugeriu o .Bat.
O .Bat que criei está certo (@NET TIME \\Server02 > DATAHORA.TXT)
Rodei a tua versão da rotina, de forma isolada. Funcionou perfeitamente.
Embuti na minha aplicação e obtive os mesmos resultados de antes: com RTLink não funciona e com ExoSpace funciona. Isso reforça a minha tese de falta de memória. Mas vou mudar para Exospace. Não vamos mais perder tempo com isto, a não ser por curiosidade.
Obrigado a todos.
[]s
AlxSts
O .Bat que criei está certo (@NET TIME \\Server02 > DATAHORA.TXT)
Rodei a tua versão da rotina, de forma isolada. Funcionou perfeitamente.
Embuti na minha aplicação e obtive os mesmos resultados de antes: com RTLink não funciona e com ExoSpace funciona. Isso reforça a minha tese de falta de memória. Mas vou mudar para Exospace. Não vamos mais perder tempo com isto, a não ser por curiosidade.
Obrigado a todos.
[]s
AlxSts
[]´s
Alexandre Santos (AlxSts)
Alexandre Santos (AlxSts)
- Pablo César
- Usuário Nível 7

- Mensagens: 5312
- Registrado em: 31 Mai 2006 10:22
- Localização: Curitiba - Paraná
Obter data e hora do servidor
Ahhh entendí Alex, eu também cheguei a pensar nessa possibilidade (falta de memória). Só que antes de compilar com Exospace, aceite um conselho. Não use mais esse linkador, utilize o BLINKER, ele é tão bom quanto e melhor até. Você vai ver que vai te mais ganho, por quê não utiliza o BLINKER ?
Um clip-abraço !
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
