gtwvt e problemas com comando run

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

Abel
Usuário Nível 3
Usuário Nível 3
Mensagens: 332
Registrado em: 14 Mar 2012 13:16
Localização: sao paulo / sp

gtwvt e problemas com comando run

Mensagem 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
Editado pela última vez por Pablo César em 23 Mai 2012 23:29, em um total de 1 vez.
Razão: Abel, sei que onde você postou esta mesma mensagem está no lugar errado. Mas por favor evite criar mensagens em duplicidade.
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

gtwvt e problemas com comando run

Mensagem por Pablo César »

Tente com:

Execute file ( cCommand ) Wait Hide
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.
Abel
Usuário Nível 3
Usuário Nível 3
Mensagens: 332
Registrado em: 14 Mar 2012 13:16
Localização: sao paulo / sp

gtwvt e problemas com comando run

Mensagem 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
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

gtwvt e problemas com comando run

Mensagem 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
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.
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

gtwvt e problemas com comando run

Mensagem 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.
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.
Abel
Usuário Nível 3
Usuário Nível 3
Mensagens: 332
Registrado em: 14 Mar 2012 13:16
Localização: sao paulo / sp

gtwvt e problemas com comando run

Mensagem 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)

Código: Selecionar todos

rA_X="Net.bat"
hb_run(rA_X)

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

Código: Selecionar todos

rA_X="Net.Bat"
WAITRUN(rA_X, 7)
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
Editado pela última vez por Pablo César em 26 Mai 2012 00:07, em um total de 1 vez.
Razão: Mensagem editada para colocar a tag [ code ]<br>Veja como utilizar esta tag: http://www.pctoledo.com.br/forum/faq.php?mode=bbcode#f2r1
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

gtwvt e problemas com comando run

Mensagem 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.)
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Abel
Usuário Nível 3
Usuário Nível 3
Mensagens: 332
Registrado em: 14 Mar 2012 13:16
Localização: sao paulo / sp

gtwvt e problemas com comando run

Mensagem 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
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

gtwvt e problemas com comando run

Mensagem por sygecom »

Qual a versão do seu Harbour ou xHarbour ?
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Abel
Usuário Nível 3
Usuário Nível 3
Mensagens: 332
Registrado em: 14 Mar 2012 13:16
Localização: sao paulo / sp

gtwvt e problemas com comando run

Mensagem por Abel »

harbour 3.1.0dev (Rev. 17325)

acho q ate tem outras revisoes, mas nao sei como baixa-las...

utilizo hbide.
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

gtwvt e problemas com comando run

Mensagem por sygecom »

Link ao seu projeto as seguintes LIB: xHB.LIB E HBWIN.LIB
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Abel
Usuário Nível 3
Usuário Nível 3
Mensagens: 332
Registrado em: 14 Mar 2012 13:16
Localização: sao paulo / sp

gtwvt e problemas com comando run

Mensagem 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
Abel
Usuário Nível 3
Usuário Nível 3
Mensagens: 332
Registrado em: 14 Mar 2012 13:16
Localização: sao paulo / sp

gtwvt e problemas com comando run

Mensagem 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
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

gtwvt e problemas com comando run

Mensagem 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 )
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Abel
Usuário Nível 3
Usuário Nível 3
Mensagens: 332
Registrado em: 14 Mar 2012 13:16
Localização: sao paulo / sp

gtwvt e problemas com comando run

Mensagem 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
Responder