Página 1 de 2
gtwvt e problemas com comando run
Enviado: 23 Mai 2012 23:13
por Abel
Ola pessoal, depois de semanas na tentativa de liberar uma versao console usando a gtwvt que abria uma janela msdos extra, consegui resolver colocando o comando -gui no meu arquivo hbp. Agora o programa em janela tem as propriedades de encolher ou esticar o tamanho da janela. O problema é que agora tudo o que eu rodo utilizando o comando RUN abre uma janela dos nova.
meu backup roda atraves de um comando usando run("ARJ.EXE .....") , as vezes uso o comando run("net time ....") para ver o horario do servidor, utilizo o run("blat.exe ...") e smtpsend.exe para enviar emails e nao queria que ficasse abrindo uma nova janela na hora do comando run.
Sera que da para arrumar isso, ou uma vez a janela sendo GUI nao tem jeito ?
tentei a procedure myrun() que achei no forum mas da erro de compilacao no createobject
tentei tambem winexec, mas nao consegui.
tente tambem usar hb_processrun() mas da erro de compilacao,
se alguem puder esclarecer estas duvidas, agradeco antecipadamente.
estou usando harbour 3.1 , modo console.
Abel
gtwvt e problemas com comando run
Enviado: 23 Mai 2012 23:26
por Pablo César
Tente com:
Execute file ( cCommand ) Wait Hide
gtwvt e problemas com comando run
Enviado: 24 Mai 2012 00:07
por Abel
Ola amigo,
fiz assim
rA_CC="NET TIME \\ESTACAO > TXT"
EXECUTE FILE( rA_CC ) WAIT HIDE
Ao compilar deu erro
Error E0030 Syntax error "syntax error at 'file' "
sera que tenho q incluir alguma lib ou procedure ?
Abracos
ABEL
gtwvt e problemas com comando run
Enviado: 24 Mai 2012 10:03
por Pablo César
Ahh é o SET TIME ? Disso tenho exemplo
DataHora.exe postado na seção de Downloads. O comando
EXECUTE FILE é da HMG e da MInigui, terias que usar o comilador deles e adicionar #include "hmg.ch" ou "minigui.ch".
fiz assim
rA_CC="NET TIME \\ESTACAO > TXT"
EXECUTE FILE( rA_CC ) WAIT HIDE
A sintaxe não é:
FILE(
e sim:
FILE ( // veja que tem um espaço entre meio do FILE e a aspas
Mas se você está tentando em Harbour, pode tentar com hb_processRun().
hb_processrun() mas da erro de compilacao
Mas como erro de compilação ? Qual erro ? TEM QUE DIZER QUAL ERRO !
Qual é a versão do seu Harbour, não é a v 3.1 ? Não entendo isso, eu não tenho problema com compilações. Eu acho que você deveria continuar tentando compilar através da Minigui ou HMG, assim você se afirma no Harbour. Digo isto, porque não deveria dar erro de compilação, ao menos que você tenha feito a sintaxe errada, algo assim. Mas você não especifica...
Olha fiz este exemplo e funciona direitinho, só que notei que a sintaxe do seu NET TIME não está totalmente correta. Você quer usar esse comando para atualizar a hora desde um terminal ou servidor ? Então você precisa adicionar
/SET /YES e pergunto para quê direcionar para arquivo ? Tem alguma finalidade ?
Código: Selecionar todos
Function Main()
Local cStdOut, cStdErr
cCommand:="NET TIME \\ESTACAO /SET /YES"
hb_processRun( cCommand, , @cStdOut, @cStdErr, .t. )
// WaitRun(cCommand, 7 )
Return Nil
Pode ver também que existe o WaitRun que você poderia usar também.
Agora veja como são utilizados, aqui no fórum os colegas disponibilizaram a sintaxe de cada um desse comandos:
hb_processRun
WaitRun
gtwvt e problemas com comando run
Enviado: 25 Mai 2012 09:56
por Pablo César
Existe outra opção também:
hb_run()
Hoje respondi um tópico com um conteúdo similar no fórum oficial da HMG e apresentavam alguns inconvenientes. A saída que postei, era criar um arquivo .bat e executá-lo. Daí pode ser visto o comportamento do SO e havia algumas falhas. Não sei ao certo se são decorrentes do próprio SO ou do modo de execução/interpretação do hb_run sobre os erros provenientes do SO.
Por exemplo, onde era:
Código: Selecionar todos
cCommand := "DIR /B *.* > lstfiles.txt"
HB_RUN( cCommand )
A solução foi. Criar arquivo teste.bat com:
DIR /B *.* > lstfiles.txt
pause
E aí então executar o HB_RUN( "Teste.bat" )
Outro exemplo foi:
Código: Selecionar todos
cFile := "tstprn.prg"
cPuerto := "\\deyp05\fx2180"
HB_RUN( "TYPE " + cFile + " > " + cPuerto )
E a solução foi, criar arquivo teste.bat com:
TYPE tstprn.prg > \\deyp05\fx2180\tstprn.prg
pause
E executá-lo. Claro que neste ultimo exemplo, o SO reclama se colocar apenas
TYPE tstprn.prg > \\deyp05\fx2180 dá erro
Acesso negado. mas isso é decorrente do SO.
gtwvt e problemas com comando run
Enviado: 25 Mai 2012 23:22
por Abel
Amigo Pablo, agradeço desde ja toda a ajuda neste topico,
o problema é que todas as opcoes que consegui a tela preta do msdos "pisca", gerando um efeito muito ruim.
exemplo1: (funciona, mas pisca a tela preta)
exemplo2: (funciona, mas pisca a tela preta)
Código: Selecionar todos
rA_X="Net.bat"
xhbrun( rA_X )
Function xhbrun(ccommand)
LOCAL hIn, hOut, hErr
LOCAL cData, hProc, nLen
Local nRet
hProc := HB_OpenProcess( cCommand , @hIn, @hOut, @hOut )
nRet := HB_ProcessValue( hProc )
FClose( hProc )
FClose( hIn )
FClose( hOut )
FClose( hErr )
return nRet
exemplo3: (funciona, mas pisca a tela preta)
Código: Selecionar todos
rA_X="Net.bat"
hb_processrun( rA_CCOMAND , cStdln , @cStdOut, @cStdErr, .f.)
exemplo4: (nao consegui compilar)
Código: Selecionar todos
rA_X="Net.bat"
MYRUN(rA_X)
FUNCTION MYRUN(cComando)
local oShell, RET
oShell:=CreateObject("WScript.Shell") // Erro compilacao UNDEFINED TO HB_FUN_CREATEOBJECT
RET :=oShell:Run("%comspec% /c "+cComando,0,.t.)
oShell:=NIL
RETURN IIF(RET=0,.t.,.f.)
exemplo5: (Nao consegui compilar): Erro compilacao UNDEFINED REFERENCE TO HB_FUN_WAITRUN
talvez se eu conseguir fazer compilar algumas das opcoes que da erro, eu consiga resolver,
tentei a inclusao de alguns .ch, mas nao vai mesmo, pelo menos ate agora...
Abracos,
ABEL
gtwvt e problemas com comando run
Enviado: 25 Mai 2012 23:43
por sygecom
Olá Abel,
tente assim:
Código: Selecionar todos
rA_X="Net.bat"
MYRUN(rA_X)
FUNCTION MYRUN(cComando)
local oShell, RET
#ifdef __XHARBOUR__
oShell := CreateObject("WScript.Shell")
#else
oShell := win_oleCreateObject("WScript.Shell")
#endif
RET :=oShell:Run("%comspec% /c "+cComando,0,.t.)
oShell:=NIL
RETURN IIF(RET=0,.t.,.f.)
gtwvt e problemas com comando run
Enviado: 26 Mai 2012 00:08
por Abel
valeu pela dica, mas to com algum problema de configuracao ou esta faltando algum .ch
pois da erro undefined reference to hb_fun_win_olecreateobject
ja inclui a hbwin.ch mas nao resolveu.
sabe o que pode estar faltando ?
Abracos
ABEL
gtwvt e problemas com comando run
Enviado: 26 Mai 2012 00:17
por sygecom
Qual a versão do seu Harbour ou xHarbour ?
gtwvt e problemas com comando run
Enviado: 26 Mai 2012 11:01
por Abel
harbour 3.1.0dev (Rev. 17325)
acho q ate tem outras revisoes, mas nao sei como baixa-las...
utilizo hbide.
gtwvt e problemas com comando run
Enviado: 26 Mai 2012 11:17
por sygecom
Link ao seu projeto as seguintes LIB: xHB.LIB E HBWIN.LIB
gtwvt e problemas com comando run
Enviado: 26 Mai 2012 15:29
por Abel
Deu certo, coloquei no hbp
-lxhb
-lhbwin
estava vendo os posts, enquanto muitos de voces ja sao veteranos em harbour, xharbour devido ao tempo que estao mexendo com a ferramenta eu estou dando os primeiros passos, passos dificeis para quem estava acostumado apenas com a programacao clipper 5.1 totalmente modo console.
Agradeço a todos pelo forum e pelo tempo dedicado para ensinar aqueles que estao começando como eu e/ou tem duvidas que podem ser esclarecidas pelos que ja passaram pelas mesmas dificuldades ...
Para Deus dividir é o mesmo que multiplicar ....
Abraços e um otimo fim de semana a todos ...
Abel
gtwvt e problemas com comando run
Enviado: 05 Jun 2012 23:37
por Abel
pessoal, depois de muitos dias tentando resolver a execucao de programas externos pelo harbour,
enfim consegui com a ajuda de voces, e agora tenho outro problema que nao consegui achar nada no forum.
como faco para abrir um site de dentro do meu sistema ?
tentei
myrun("
https://pctoledo.org")
hb_run("
https://pctoledo.org")
run("
https://pctoledo.org")
mas nenhuma das opcoes resolveu.
e se eu tiver um executavel armazenado ele tb nao executa o download
exemplo:
myrun("
https://pctoledo.org/downloads/atualiza.exe")
meu sistema é modo console compilado com -gui / harbour 3.1
Abracos
gtwvt e problemas com comando run
Enviado: 06 Jun 2012 00:10
por sygecom
Olá,
Tente usando SHELLEXECUTE(), essa função consta na Hwgui e já foi postado na fórum, de uma procurada.
Ex:
SHELLEXECUTE( '
http://www.google.com.br', "open", NIL, NIL, 2 )
gtwvt e problemas com comando run
Enviado: 06 Jun 2012 21:02
por Abel
ola, tentei mas da erro undefined reference to Hb_fun_shellexecute,
eu uso o harbour 3.1 nigthy, tenho na minha compilacao:
-lhbct
-lgtwvt
-gui
-lhbwin
-lxhb
utilizo para programar e compilar a propria ide que veio com o harbour hbide.exe
hwgui é outra ide ?
Abel