como alterar LPT_TIMEOUT do windows 7
Moderador: Moderadores
como alterar LPT_TIMEOUT do windows 7
ola pessoal, meu sistema esta rodando em um windows 7 64 bits, mas a impressao demora para comecar, no windows xp eu alterava o LPT_TIMEOUT de 15 para 1, no windows 7 como faço essa alteracao ? pelo regedit nao consegui localizar o LPT_TIMEOUT.
O sistema foi migrado de clipper para xHarbour.
obrigado.
O sistema foi migrado de clipper para xHarbour.
obrigado.
- Jairo Maia
- Moderador
- Mensagens: 2785
- Registrado em: 16 Ago 2010 13:46
- Localização: Campinas-SP
como alterar LPT_TIMEOUT do windows 7
Olá Porter,
Se você fecha seu sistema, a impressão é liberada em seguida? Se sim, você tem certeza que está fechando a porta ou arquivo da impressora? Coloque um exemplo da função que você está usando. Acho que fica mais fácil opinar.
Se você fecha seu sistema, a impressão é liberada em seguida? Se sim, você tem certeza que está fechando a porta ou arquivo da impressora? Coloque um exemplo da função que você está usando. Acho que fica mais fácil opinar.
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)
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)
como alterar LPT_TIMEOUT do windows 7
ola Jairo, estou fazendo assim :
faco uma copia de teste.txt para a pasta c:\jato que esta sendo monitorada pelo prwin, com o xHarbour tem como mandar imprimir direto na USB ? nao precisarei mais usar o prwin ?
obrigado.
Código: Selecionar todos
SET DEVICE TO PRINT
SET PRINT ON
SET PRINT TO C:\LOJA\TESTE.TXT
SETPRC(0,0)
?? "$IMP$=1;"
DO WHILE !EOF()
@ contl,01 say "teste tste teste"
skip
contl++
ENDDO
SET PRINTER TO
SET PRINTER OFF
SET DEVICE TO SCREEN
IF CONFIRMA("Imprimir relatorio") = 1
! COPY TESTE.TXT C:\JATO
ENDIF
RETURNobrigado.
Editado pela última vez por Pablo César em 10 Jul 2013 13:51, 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
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
- Pablo César
- Usuário Nível 7

- Mensagens: 5312
- Registrado em: 31 Mai 2006 10:22
- Localização: Curitiba - Paraná
como alterar LPT_TIMEOUT do windows 7
Porter, por favor estou te pedindo gentilmente que obedeça as regras do fórum (mensagens repetidas e falta de uso das tags). Eu já adverti você uma vez por escrito, evite por favor que isto volte a acontecer, ok ?
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.
como alterar LPT_TIMEOUT do windows 7
voce tem razao Pablo, principalmente a tag na correria eu sempre esqueco de usar, desculpa.
- Jairo Maia
- Moderador
- Mensagens: 2785
- Registrado em: 16 Ago 2010 13:46
- Localização: Campinas-SP
como alterar LPT_TIMEOUT do windows 7
Olá Porter,
Não entendi o significado de ?? "$IMP$=1;", mas veja se o exemplo abaixo ajuda. Sugiro substituir o Copy por PrintFileRaw(), veja se resolve.
Não entendi o significado de ?? "$IMP$=1;", mas veja se o exemplo abaixo ajuda. Sugiro substituir o Copy por PrintFileRaw(), veja se resolve.
Código: Selecionar todos
Function Main()
Local cPrinter
Local contl := 1
cFileName := "C:\LOJA\TESTE.TXT"
Use SeuDBF Shared New
SET DEVICE TO PRINT
SET PRINT TO ( cFileName )
SETPRC(0,0)
?? "$IMP$=1;"
DO WHILE !EOF()
@ contl,01 say "teste tste teste"
skip
contl++
ENDDO
SET PRINTER TO
SET DEVICE TO SCREEN
IF CONFIRMA("Imprimir relatorio") = 1
// sintaxe da PrintFileRaw()
// PrintFileRaw( cPrinterName, cFileName, cJobTitle )
// Se desejar imprimir direto na impressora padrao, use assim:
// cPrinDefault := GetDefaultPrinter()
// PrintFileRaw( cPrinDefault, cFileName, "Teste de Impressao" )
// Para dar op‡Æo ao usuario para escolher a impressora, use assim:
cPrinter := PegaPrinter()
If !Empty( cPrinter )
PrintFileRaw( cPrinter, cFileName, "Teste de Impressao" )
EndIf
ENDIF
Return Nil
Function PegaPrinter() // seleciona impressora
Local i, nPrn := 1, oPrn, nMaxLen := 0, aPNomes := {}
Local cPrinter := "", aPrn := GetPrinters( .t. )
Local cPrinDefault := GetDefaultPrinter()
If Empty( aPrn )
Alert( "Nenhuma impressora Instalada" )
Return ( cPrinter )
Endif
For i=1 To Len( aPrn )
AaDd( aPNomes , aPrn[i,1] )
nPrn := If( aPrn[i,1] = cPrinDefault, i, nPrn )
nMaxLen := If( Len( aPrn[i,1] ) > nMaxLen, Len( aPrn[i,1] ), nMaxLen )
Next
Clear Screen
nPrn := AChoice( 3, 10, Len( aPNomes )+3, nMaxLen+10, aPNomes, .T., Nil , nPrn )
If nPrn = 0
Return ( cPrinter )
Endi
cPrinter := Alltrim( aPNomes[nPrn] )
Return ( cPrinter )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)
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)
- Vander
- Usuário Nível 3

- Mensagens: 214
- Registrado em: 23 Jul 2004 01:43
- Localização: João Monlevade - MG
como alterar LPT_TIMEOUT do windows 7
Olá Porter;
http://pctoledo.com.br/forum/viewtopic. ... t=win32prn
Vander
Tem como imprimir diretamente para impressoras USB, veja em:faco uma copia de teste.txt para a pasta c:\jato que esta sendo monitorada pelo prwin, com o xHarbour tem como mandar imprimir direto na USB ? nao precisarei mais usar o prwin ?
http://pctoledo.com.br/forum/viewtopic. ... t=win32prn
Vander
HbMake v1.17
xHarbour build 0.99.70 Intl. (SimpLex)
Borland C++ 5.5.1
fivewin 6.12 (FREE)
Workshop 4.5
MEdit
xHarbour build 0.99.70 Intl. (SimpLex)
Borland C++ 5.5.1
fivewin 6.12 (FREE)
Workshop 4.5
MEdit
como alterar LPT_TIMEOUT do windows 7
ola pessoal, desculpe a demora em dar uma resposta, só estou podendo mexer nessa duvida agora. Senhor Jairo, estou testando a rotina acima que o senhor passou, e ela funciona corretamente quando escolho uma impressora matricial, mas quando seleciono uma impressora com USB(HP Deskjet 3510 series), ela ate tenta imprimir vejo que entra rapidamente na filha de impressao, mas nao imprime nada.
Na impressora matricial esta imprimindo corretamente, mas na HP nao.
obrigado pela atençäo.
Na impressora matricial esta imprimindo corretamente, mas na HP nao.
obrigado pela atençäo.
- Jairo Maia
- Moderador
- Mensagens: 2785
- Registrado em: 16 Ago 2010 13:46
- Localização: Campinas-SP
como alterar LPT_TIMEOUT do windows 7
Olá Porter,
Mas como você está migrando seu sistema, então será bom você começar a estudar a classe Win32Prn (no Harbour é Win_Prn), que com pequenos ajustes em seu sistema, acabam os problemas de impressoras.
No exemplo, mantive o raciocínio de gerar o arquivo de impressão antes, mas você pode fazer a impressão de forma direta a medida que for adequando seu sistema.
Nota: Usando esta classe, os comandos de tipos de fonte, cores, tamanho etc constantes no arquivo, serão ignorados. Estes ajustes precisam ser feito na rotina de impressão.
Veja o exemplo simples abaixo como funciona a Win32Prn. Compile e veja que vai imprimir em qualquer impressora:
Na verdade, para usar a função PrintFileRaw() a impressora precisa ter suporte ao modo RAW, ou estar com ele habilitado caso ela tenha.porter escreveu:ela funciona corretamente quando escolho uma impressora matricial
Mas como você está migrando seu sistema, então será bom você começar a estudar a classe Win32Prn (no Harbour é Win_Prn), que com pequenos ajustes em seu sistema, acabam os problemas de impressoras.
No exemplo, mantive o raciocínio de gerar o arquivo de impressão antes, mas você pode fazer a impressão de forma direta a medida que for adequando seu sistema.
Nota: Usando esta classe, os comandos de tipos de fonte, cores, tamanho etc constantes no arquivo, serão ignorados. Estes ajustes precisam ser feito na rotina de impressão.
Veja o exemplo simples abaixo como funciona a Win32Prn. Compile e veja que vai imprimir em qualquer impressora:
Código: Selecionar todos
#include "WinGdi.ch"
Function Main()
Local cPrinter
Local contl := 1
cFileName := "C:\LOJA\TESTE.TXT"
Use DBFTeste Shared New
SET DEVICE TO PRINT
SET PRINT TO ( cFileName )
SETPRC(0,0)
//?? "$IMP$=1;"
DO WHILE !EOF()
@ contl,01 say "Teste de impressao Usando a Clase Win32Prn"
skip
contl++
ENDDO
SET PRINTER TO
SET DEVICE TO SCREEN
If Alert( "Imprimir relatorio?", { "Sim", "Nao" } ) = 1
If !File( cFileName )
Return Nil
Else // Vamos colocar seu arquivo num Array
cLinha := Nil
aLinesPrint := {}
cBuffer := FOpen( cFileName, 2 )
Do While Hb_FReadLine( cBuffer, @cLinha, Nil, 255 ) = 0
AaDd( aLinesPrint, cLinha )
EndDo
FClose( cBuffer )
EndIf
cPrinter := PegaPrinter() // escolhe a impressora
If !Empty( cPrinter )
nCopias := 1 // n£mero de c¢pias
oPrinter := Win32Prn():new( cPrinter )
oPrinter:landscape := .F.
oPrinter:formType := DMPAPER_A4 // folha A4
oPrinter:copies := nCopias
IF .NOT. oPrinter:create()
Alert("Erro Tentando Acessar a Impressora")
Return Nil
ENDIF
IF .NOT. oPrinter:startDoc( "Impressao Teste" )
Alert("Erro Tentando Enviar os Dados de Impressao")
Return Nil
ENDIF
// impressao comprimida: { 3, -50 } ‚ igual 50/3, ou seja 16.6 cpp
//oPrinter:SetFont( "Lucida Console", 10, { 3, -50 } )
// impressao normal
oPrinter:SetFont( "Lucida Console", 10 )
oPrinter:CharSet( 0 )
oPrinter:bold( FW_NORMAL ) // nao negrito, nao it lico, etc...
For i = 1 To Len ( aLinesPrint )
oPrinter:textOut( aLinesPrint[ i ] ) // imprime a linha
oPrinter:newLine() // passa para proxima linha
Next
oPrinter:endDoc() // envia a impressora
oPrinter:destroy() // fecha documento de impressao
EndIf
EndIf
Return Nil
Function PegaPrinter() // seleciona impressora
Local i, nPrn := 1, oPrn, nMaxLen := 0, aPNomes := {}
Local cPrinter := "", aPrn := GetPrinters( .t. )
Local cPrinDefault := GetDefaultPrinter()
If Empty( aPrn )
Alert( "Nenhuma impressora Instalada" )
Return ( cPrinter )
Endif
For i=1 To Len( aPrn )
AaDd( aPNomes , aPrn[i,1] )
nPrn := If( aPrn[i,1] = cPrinDefault, i, nPrn )
nMaxLen := If( Len( aPrn[i,1] ) > nMaxLen, Len( aPrn[i,1] ), nMaxLen )
Next
Clear Screen
nPrn := AChoice( 3, 10, Len( aPNomes )+3, nMaxLen+10, aPNomes, .T., Nil , nPrn )
If nPrn = 0
Return ( cPrinter )
Endi
cPrinter := Alltrim( aPNomes[nPrn] )
Return ( cPrinter )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)
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)
- Toledo
- Administrador

- Mensagens: 3133
- Registrado em: 22 Jul 2003 18:39
- Localização: Araçatuba - SP
- Contato:
como alterar LPT_TIMEOUT do windows 7
Amigos, vejam este exemplo de visualizador de relatórios que coloquei na seção Download, acho que vai ser útil.
https://pctoledo.org/forum/fileba ... t=c&page=1
Abraços,
https://pctoledo.org/forum/fileba ... t=c&page=1
Abraços,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
- Jairo Maia
- Moderador
- Mensagens: 2785
- Registrado em: 16 Ago 2010 13:46
- Localização: Campinas-SP
como alterar LPT_TIMEOUT do windows 7
Show de bola Toledo. Excelente exemplo.
De quebra, duas funções muito legais: Ascii para Pdf e a de envio de email.
:-Y
De quebra, duas funções muito legais: Ascii para Pdf e a de envio de email.
:-Y
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)
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)
- Toledo
- Administrador

- Mensagens: 3133
- Registrado em: 22 Jul 2003 18:39
- Localização: Araçatuba - SP
- Contato:
como alterar LPT_TIMEOUT do windows 7
Jairo, a função CovertAsciiPDF() copiei de um exemplo txt2pdf.prg do Massiano Belgrano. Quando estiver com mais tempo, vou tentar incluir nesta função as formatações de negrito, condensado, expandido, etc.
Abraços,
Abraços,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
como alterar LPT_TIMEOUT do windows 7
ola Jairo, adaptei a rotina que voce passou e funcionou corretamente no sistema quero te agradecer e perguntar se para fazer impressao direta usa-se essa mesma rotina, senao tem algum exemplo para que eu possa usar ?
obrigado.
obrigado.
- Jairo Maia
- Moderador
- Mensagens: 2785
- Registrado em: 16 Ago 2010 13:46
- Localização: Campinas-SP
como alterar LPT_TIMEOUT do windows 7
Olá Porter,
Coloque um exemplo da sua função que gera o arquivo texto usando o SET PRINTER TO, mostrando qual ou quais dados do DBF você usa para gerar o arquivo de impressão para que possamos montar um exemplo para você entender melhor o uso da classe Win32Prn e impressão direta.
O exemplo passado leva em consideração um arquivo texto pré existente. Para imprimir direto, usa-se a mesma classe, os mesmos comandos, mas não esta mesma rotina.porter escreveu:para fazer impressao direta usa-se essa mesma rotina
Coloque um exemplo da sua função que gera o arquivo texto usando o SET PRINTER TO, mostrando qual ou quais dados do DBF você usa para gerar o arquivo de impressão para que possamos montar um exemplo para você entender melhor o uso da classe Win32Prn e impressão direta.
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)
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)
como alterar LPT_TIMEOUT do windows 7
SET DEVICE TO PRINT
SET PRINT ON
SET PRINT TO C:\LOJA\TESTE.TXT
SETPRC(0,0)
USE PRODUTOS SHARED NEW
GOTO TOP
DO WHILE !EOF()
@ contl,01 say CODIGO
@ contl,10 say DESCRICAO
skip
contl++
ENDDO
SET PRINTER TO
SET PRINTER OFF
SET DEVICE TO SCREEN
IF CONFIRMA("Imprimir relatorio") = 1
W32PRN() // rotina que voce passou, dei o nome a ela de w32prn
ENDIF
RETURN
