Clipper On Line • Ver Tópico - Dúvida com DOSPRINTER

Dúvida com DOSPRINTER

Discussão sobre a linguagem CA-Clipper.

Moderador: Moderadores

 

Dúvida com DOSPRINTER

Mensagempor Mário Isa » 18 Dez 2018 08:19

bom dia..... gostaria de saber como é que vocês fazem para executar o DOSPRINT.EXE ...

NO meu caso eu executo:

comanda := "dosprint.exe /SEL TLTERM1.txt"
run (comanda)


mas ... como utilizo modo GUI (gráfico) uma janela preta (o cmd) é acionado e fica lá enquanto a pessoa não clica o OK (já com a impressora selecionada)

Tem como evitar a telinha preta ??

:-o
Avatar de usuário

Mário Isa
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 902
Data de registro: 07 Jul 2004 13:54
Cidade/Estado: Ilha Solteira-sp
Curtiu: 5 vezes
Mens.Curtidas: 8 vezes

Dúvida com DOSPRINTER

Mensagempor Jairo Maia » 18 Dez 2018 08:47

Olá Mário,

Tente acrescentar Start /B no início do comando. Exemplo:
comanda := "Start /B dosprint.exe /SEL TLTERM1.txt"
Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
Avatar de usuário

Jairo Maia
Colaborador

Colaborador
 
Mensagens: 2733
Data de registro: 16 Ago 2010 13:46
Cidade/Estado: Campinas-SP
Curtiu: 371 vezes
Mens.Curtidas: 305 vezes

Dúvida com DOSPRINTER

Mensagempor Mário Isa » 18 Dez 2018 13:05

não adiantou...
a janelinha preta aparece ....

colocando /MIN pelo menos ela aparece minimizada ....
Avatar de usuário

Mário Isa
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 902
Data de registro: 07 Jul 2004 13:54
Cidade/Estado: Ilha Solteira-sp
Curtiu: 5 vezes
Mens.Curtidas: 8 vezes

Dúvida com DOSPRINTER

Mensagempor Jairo Maia » 18 Dez 2018 17:27

Olá Mario,

Não sei se está disposto a insistir nisso, mas você disse que usa GUI, então você está usando Harbour, é isso?

Se sim você já tentou com a função MyRun()? Ela foi disponibilizada aqui no fórum, e uso até hoje para abrir programas externos com parâmetros:

(PS: Não lembro quem disponibilizou)
FUNC MYRUN( cComando, lWait )  // executa programa externo com parâmetros
Local oShell, ret
lWait := If( Empty( lWait ), .F., lWait )  // Se .T. aguarda o programa fechar, se .F. não aguarda...
oShell := CreateObject( "WScript.Shell" )
ret := oShell:Run( "%comspec% /c " + cComando, 0, lWait )
oShell := Nil
Return If( ret = 0, .T., .F. )
Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
Avatar de usuário

Jairo Maia
Colaborador

Colaborador
 
Mensagens: 2733
Data de registro: 16 Ago 2010 13:46
Cidade/Estado: Campinas-SP
Curtiu: 371 vezes
Mens.Curtidas: 305 vezes

Dúvida com DOSPRINTER

Mensagempor JoséQuintas » 18 Dez 2018 18:21

https://github.com/JoseQuintas/JoseQuintas/blob/master/source/ze_printbegin.prg

Valia também para o Clipper...
O que precisa é... encerrar a impressão... pode ser desligando da impressora.
SET PRINTER TO

Isso salva tudo que está pendente de salvar/imprimir.

Sobre executar... Talvez wapi_ShellExecute(), mas se dosprint é um programa DOS... vai sempre abrir janela DOS.

Teoricamente o que dosprint faz é o mesmo que wapi_PrintFileRaw() ou wapi_PrintDataRaw()
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18009
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Dúvida com DOSPRINTER

Mensagempor JoséQuintas » 18 Dez 2018 18:23

Sobre o comando... o fórum não deixa postar.
De qualquer jeito é uma nova janela

Tendo que colocar diferente pro fórum aceitar o texto:

RUN ( "c m d / c start comando" )

o /b só vi agora. talvez dê certo com esse comando.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18009
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Dúvida com DOSPRINTER

Mensagempor Mário Isa » 19 Dez 2018 08:12

Jairo,

Quem disponibilizou esse código do Myrun()
foi o meu amigo Paiva de Uberlândia ....

Eu já o havia experimentado ... sem sucesso ...

agora peguei esse código do jeito q vc disponibilizou e tentei novamente....

mas não adianta ...

a pretinha está sempre lá ....

eu já dei o meu jeitinho, é claro.... tenho um outro processo (um outro programa, um outro .exe) que fica rodando em background ...... sem botão (oculto) ..... que é responsável por executar os comandos DOS para mim ..... (há troca de informações por .txt) ..... ele executa e não aparece janela preta ..... (mas ele também executa outras coisas) ....

mas gostaria de me livrar .... pois ele "come" memória...
Avatar de usuário

Mário Isa
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 902
Data de registro: 07 Jul 2004 13:54
Cidade/Estado: Ilha Solteira-sp
Curtiu: 5 vezes
Mens.Curtidas: 8 vezes

Dúvida com DOSPRINTER

Mensagempor Mario Mesquita » 06 Fev 2019 18:54

Pessoal, boa noite!

Levantei o tópico por que estou com o mesmo problema. Estou usando um programa externo pra gerar QR-Code, já que o do HMG-Zebra tem um problema com texto. É um programa com tela gráfica mas que aceita linha de comando via RUN.

No HMG 3.0.46 não bota essa tela preta, mas no 3.4.4 aparece e ainda não consegui resolver isso.

Alguém descobriu algo que ajude a sumir com isso?

Desde já, agradeço a dica.

Abraço,
Mario.
Avatar de usuário

Mario Mesquita
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 557
Data de registro: 08 Dez 2009 12:47
Cidade/Estado: Rio de Janeiro
Curtiu: 73 vezes
Mens.Curtidas: 13 vezes

Dúvida com DOSPRINTER

Mensagempor Adalberto » 16 Fev 2019 21:26

Amigos, buenas noches

Desde 2007 uso de esta manera, con todo éxito, ojalá les sea de utilidad.
DO CASE
CASE (nAnchoHoja = 080); cCpi:= ' /CPI10'
CASE (nAnchoHoja = 132); cCpi:= ' /CPI17'
CASE (nAnchoHoja > 132); cCpi:= ' /CPI22'
ENDCASE
//
// cCpi == Caracteres por pulgada
//
cRtf    :=  ' /PDF'         // Genera PDF
cLuc   :=  ' /LUC'         // Fuente Lucida Console
cHoriz:= ' /LAND'        // Para impresion Horizontal
//
cParametros:= (cCpi + ' /CP850 /TOP0.5 /DELAY0' ;
      + cRtf + cLuc + cHoriz + ' ' + cArchTxt)
//
// DELAY0 es para que DosPrinter libere el sistema
// antes de terminar de imprimir
// cArchTxt = Archivo de texto
//
cComando:= ('D:\MiCarpeta\DosPrinter.EXE' + cParametros)
RunCmd(cComando)
RETURN NIL

...

FUNCTION RunCmd(cComando)
LOCAL oShell:= CreateObject('WScript.Shell')
//
oShell:Run('%comspec% /c ' + cComando, 0, .T.)
RETURN NIL


Saludos, desde Santa Cruz de la Sierra - Bolivia

Adalberto
Adalberto
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 343
Data de registro: 01 Set 2007 01:09
Cidade/Estado: Santa Cruz de la Sierra - Bolivia
Curtiu: 0 vez
Mens.Curtidas: 12 vezes

Dúvida com DOSPRINTER

Mensagempor Mário Isa » 17 Fev 2019 12:47

Sí, muy bien. la ventana negra no saltó al frente pero la continuación del programa queda en la dependencia de cerrar el programa que fue llamado por este comando. es necesario agregar start al principio del comando .. hice un intento cambiando la línea:

oShell: Run ('%comspec% /c' + cComando, 0, .T.)

por
oShell: Run ('start %comspec% /c' + cComando, 0, .T.)


pero ha fallado

segue o erro

Subsystem Call ....: WScript.Shell
System Code .......: 3
Default Status ....: .F.
Description .......: DISP_E_MEMBERNOTFOUND
Operation .........: RUN
Arguments .........: [ 1] = Type: C Val: start %comspec% /c calc.exe [ 2] = Type: N Val: 0 [ 3] = Type: L Val: .T.
Involved File .....:
Dos Error Code ....: 0


gracias por la contribuicion.
Avatar de usuário

Mário Isa
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 902
Data de registro: 07 Jul 2004 13:54
Cidade/Estado: Ilha Solteira-sp
Curtiu: 5 vezes
Mens.Curtidas: 8 vezes

Dúvida com DOSPRINTER

Mensagempor Adalberto » 25 Fev 2019 21:52

Mario, buenas noches

El ejemplo que compartí me funciona muy bien, todos los dias desde 2007.
Yo voy a suponer que el reporte es extenso, mientras imrpime o visualiza el sistema es LIBERADO, con el parámetro /DELAY0 (DELAY CERO), por favor revisa si ese parámetro está bien escrito.

Atento saludo, Adalberto
Adalberto
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 343
Data de registro: 01 Set 2007 01:09
Cidade/Estado: Santa Cruz de la Sierra - Bolivia
Curtiu: 0 vez
Mens.Curtidas: 12 vezes

Dúvida com DOSPRINTER

Mensagempor JoséQuintas » 25 Fev 2019 23:38

Mário Isa escreveu:pero ha falladosegue o erro Subsystem Call ....: WScript.ShellSystem Code .......: 3Default Status ....: .F.Description .......: DISP_E_MEMBERNOTFOUNDOperation .........: RUNArguments .........: [ 1] = Type: C Val: start %comspec% /c calc.exe [ 2] = Type: N Val: 0 [ 3] = Type: L Val: .T.Involved File .....: Dos Error Code ....: 0


Já falado em outros tópicos.
Como o XHarbour não é atualizado, cada LIB faz de seu próprio jeito, tem LIB que substitui o CreateObject() e tem LIB que cria outra função com outro nome.

Mas... aqui é sobre Clipper....
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18009
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Anterior



Retornar para CA-Clipper

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 5 visitantes


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro