Bom dia a todos!
Gostaria de saber como usar o WIN_PRINTFILERAW corretamente, pois aqui, percebi que na mesma hora o aplicativo clipper migrado para harbour através da HMG 3.0.46, manda para a impressora o arquivo de teste que fiz CLI.TXT só que a impressora inicia e fica uns 10 minutos para depois imprimr o relatório.
Este é o trecho do meu código, que uso o SET PRINTER TO &CLI..TXT
cDefaultPrinter:= WIN_PRINTERGETDEFAULT ()
WIN_PRINTFILERAW (cDefaultPrinter, "&CLI..TXT")
Fiz as seguintes observações:
Pelo que percebi o WIN_PRINTFILERAW não aceita a extensão .PRN
Não aceita a macro substituição;
Só pra facilitar o entendimento de alguns o arquivo CLI.TXT é apenas fictício o que manda mesmo é o seu conteúdo, que pode variar de cliente para cliente, pois eu uso o código do cliente (no caso o software é de uma loja de roupas) e no caso aqui é o cliente nº 1.
Então, deveria ser substituído (usando a macro) o &CLI..TXT para "0001.TXT".
Bom, já tentei com e sem aspas, mas, não imprime nada.
Só imprime se eu colcar o nome correto 0001.TXT.
Agradeço se puderem ajudar, pois estou usando, win 7 e 10 e nos clientes que possuem LPT1 (impressora matricial) ainda está imprimindo corretamente, mas, onde não existe LPT1 e tem USB a coisa ficou feia.
Abraços!
problem in printing function
Moderator: Rathinagiri
Re: problem in printing function
Andrés González López
Desde Guadalajara, Jalisco. México.
Desde Guadalajara, Jalisco. México.
Re: problem in printing function
Amigo, neste caso evite macro, é isto que esta dando errado, faça o seguinte:
Code: Select all
cArq:=CLI+".TXT"
SET PRINTER TO (cArq)
SET DEVICE TO PRINT
...
...
SET PRINTER TO
SET DEVICE TO SCREEN
cDefaultPrinter:= WIN_PRINTERGETDEFAULT()
WIN_PRINTFILERAW(cDefaultPrinter, cArq)
-
- Posts: 146
- Joined: Sat May 30, 2015 5:15 am
Re: problem in printing function
Prezado, como farei então, pois o arquivo que é gravado lá no diretório (pasta de trabalho) não chama-se CLI.TXT e sim o conteúdo de CLI?pctoledo wrote:Amigo, neste caso evite macro, é isto que esta dando errado, faça o seguinte:
Code: Select all
cArq:=CLI+".TXT" SET PRINTER TO (cArq)
Explico...
o usuário (funcionário da empresa que está logado no aplicativo) ao receber uma prestação, ele entra com o código do cliente: digamos que o cliente "fulano de tal" tenha como código 0003.
Então o conteúdo da variável CLI+.TXT será 0003.TXT
Aí vem outro cliente de ficha nº 3461... o valor da CLI será 3461.TXT.
Então se dermos um dir no diretório (pasta) encontraremos:
0001.TXT e
3461.TXT.
Neste caso, sem a macro substituição como farei?
grato!
microvolution
12 @nos evoluindo com você!
Re: problem in printing function
Amigo, se a variável CLI tem o valor 0003, então basta CLI+".TXT" que o resultado será 0003.TXT.
Faça um teste como coloquei na minha mensagem anterior... e procure manter os comandos na mesma sequência que coloquei no exemplo.
Faça um teste como coloquei na minha mensagem anterior... e procure manter os comandos na mesma sequência que coloquei no exemplo.
Faça como eu exemplifiquei na mensagem anterior, não é necessário a macro, como disse é a macro que está causando estes problemas, você está tentando usar a macro de maneira errada.microvolution wrote:Neste caso, sem a macro substituição como farei?
Re: problem in printing function
cArq:=CLI+".TXT"
SET PRINTER TO (cArq) // cArq = "0003.TXT" or "3461.TXT"
SET PRINTER TO (cArq) // cArq = "0003.TXT" or "3461.TXT"
Andrés González López
Desde Guadalajara, Jalisco. México.
Desde Guadalajara, Jalisco. México.