cliente XP com impressao em outro cliente 98
Moderador: Moderadores
- RenatoReis
- Usuário Nível 1

- Mensagens: 38
- Registrado em: 02 Out 2006 17:04
cliente XP com impressao em outro cliente 98
Tenho uma rede com máquinas em Win 98. Algumas possuem impressoras e outras não. Meus programas são em CLIPPER52 e quando desejo imprimir (pelo sistema) em alguma impressora da rede, há uma rotina que faz um set printer para a impressora desejada e que está instalada em cada máquina.
Chegaram novos equipamentos com Win XP e cada impressora adicionada tem um registro de porta diferente de LPT1, LPT2, etc. São registradas assim (\\Maquina\Impressora).
Meus direcionamentos são para LPT1, LPT2, LPT3... e portanto não consigo imprimir nestas impressoras na máquina com XP.
Já tentei o seguinte comando: Set printer to \\maquina\impressora e
net use lpt1 \\maquina\impressora e nada funcionou!
Os procedimentos estão corretos? Alguém poderia me orientar?
Obrigado!
Chegaram novos equipamentos com Win XP e cada impressora adicionada tem um registro de porta diferente de LPT1, LPT2, etc. São registradas assim (\\Maquina\Impressora).
Meus direcionamentos são para LPT1, LPT2, LPT3... e portanto não consigo imprimir nestas impressoras na máquina com XP.
Já tentei o seguinte comando: Set printer to \\maquina\impressora e
net use lpt1 \\maquina\impressora e nada funcionou!
Os procedimentos estão corretos? Alguém poderia me orientar?
Obrigado!
- sygecom
- Administrador

- Mensagens: 7131
- Registrado em: 21 Jul 2006 10:12
- Localização: Alvorada-RS
- Contato:
Tche, segue abaixo como eu uso as impressao na rede e funciona tanto em 95,98,XP,2000.
Obs: A CT.LIB ou CTP.LIB deve estar linkada com o seu sistema...
Abraços
Código: Selecionar todos
*************
FUNC CHAMAIMP
*************
xTIPOIMP=SPACE(1)
save screen
aWin := Win( 08, 25, 15, 54, "Relacao de Impressora", WT_VERDE2BRANCO,WD_VERDE2BRANCO)
SETCOLOR( "N/*W,N*/W, , , N*/W" )
@ 10,26 say " 1 = Financeiro Matricial "
@ 11,26 say " 2 = Balanca Matricial "
@ 12,26 say " 3 = Bandeira Jato de Tinta"
@ 13,26 say " 4 = Impressora Local "
SET CONFIRM OFF
@ 14,26 say " Opcao => "
@ 14,38 GET xTIPOIMP PICT "!" valid(xTIP69$"1234") when DwnMsg( "Escolha a Impressora que deseja Imprimir" )
READ
IF xTIPOIMP="1" // MATRICIAL DO FINANCEIRO
NETREDIR("LPT1","\\MAQUINA1\IMPRESSORA1") //CHAMANDO A IMPRESSORA NA REDE
set device to print
set printer to lpt1
ELSEIF xTIPOIMP="2" // MATRICIAL DA BALANCA
NETREDIR("LPT1","\\MAQUINA2\IMPRESSORA1") //CHAMANDO A IMPRESSORA NA REDE
set device to print
set printer to lpt1
ELSEIF xTIPOIMP="3" // JATO DE TINTA DO BANDEIRA
NETREDIR("LPT1","\\MAQUINA3\IMPRESSORA2") //CHAMANDO A IMPRESSORA NA REDE
set device to print
set printer to lpt1
ELSEIF xTIPOIMP="4" // IMPRESSORA LOCAL
set device to print
set printer to lpt1
ENDIF
RESTORE SCREEN
*CANCELANDO IMPRESSAO
SET PRINTER TO
set device to screen
NETCANCEL("LPT1")
Abraços
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
xHarbour.org + Hwgui + PostgreSql
- RenatoReis
- Usuário Nível 1

- Mensagens: 38
- Registrado em: 02 Out 2006 17:04
- RenatoReis
- Usuário Nível 1

- Mensagens: 38
- Registrado em: 02 Out 2006 17:04
- RenatoReis
- Usuário Nível 1

- Mensagens: 38
- Registrado em: 02 Out 2006 17:04
Sygecom, amigo,
Procurei pelo CT.LIB e CTP.LIB e não os encontrei na pasta do clipper5 e suas subpastas.
Reparei também que seus direcionamentos de "set printer to" são sempre para LPT1.
Nas minhas maquinas com Win 98, todas as impressoras da rede são instaladas, nas portas lpt1, lpt2, lpt3, lpt4, lpt5 e lpt6. O sistema deve permitir que qualquer máquina imprima em qualquer impressora da rede, sendo que as maq. com Xp precisam de tratamento diferenciado, porém sem prejudicar o funcionamento das outras. A rotina precisa ser generica para todas as máquinas.
Veja se pode me ajudar. Abcs. Renato
Procurei pelo CT.LIB e CTP.LIB e não os encontrei na pasta do clipper5 e suas subpastas.
Reparei também que seus direcionamentos de "set printer to" são sempre para LPT1.
Nas minhas maquinas com Win 98, todas as impressoras da rede são instaladas, nas portas lpt1, lpt2, lpt3, lpt4, lpt5 e lpt6. O sistema deve permitir que qualquer máquina imprima em qualquer impressora da rede, sendo que as maq. com Xp precisam de tratamento diferenciado, porém sem prejudicar o funcionamento das outras. A rotina precisa ser generica para todas as máquinas.
Veja se pode me ajudar. Abcs. Renato
- RenatoReis
- Usuário Nível 1

- Mensagens: 38
- Registrado em: 02 Out 2006 17:04
Refazendo minha pergunta
Há alguns dias eu postei uma msg referente a problemas com impressão. É mais ou menos como os problemas apresentados. Diante da solução que vc passou eu gostaria de saber se vc saberia como me ajudar: Tenho uma rede com 10 maq., 9 com Win98 e 1 com Win Me e quatro delas tem impressoras. Tenho no sistema uma rotina de escolha em qual impressora se deseja imprimir, como a seguir:
function searchimp()
aviso2(24,"Impressoras F1-Local F4-Reg F5-Geo F8-Ros F10-Bal")
SET CONSOLE OFF
SET PRINT ON
SET DEVICE TO PRINT
if lastkey()=28
set printer to lpt1
elseif lastkey()=-3
set printer to lpt2
elseif lastkey()=-4
set printer to lpt3
elseif lastkey()=-7
set printer to lpt4
elseif lastkey()=-9
set printer to lpt5
endif
return
Em cada uma das 10 maquinas as impressoras foram adicionadas desta forma: Lpt1 - para a impressora mais proxima de cada maq. e as outras foram padronizados as Lpts restantes.
Maq01- c/ impressora local tem dois Lpts destinados a mesma impressora, o Lpt1 e Lpt3
Maq02- s/ impressora local tem o lpt1 para a impressora + próxima e outras opções de lpt
E segue assim por diante.
Lpt1-sempre a local ou a mais próxima para as maq. Sem imp. Local)
Lpt2-para a imp. Reg
Lpt3-para a imp Geo
Lpt4-para a imp Ros
Lpt5-para a imp Bal
Pois bem, chegaram 2 novos micros, com windows XP. Ao instalas estas impressoras verifiquei que as portas Lpt1, lpt2 e lpt3 (que são as únicas q ele apresenta) não recebiam as impressoras da minha rede e sim, era criado um caminho \\maquina\impressora.
Já troquei mensagens com outros usuários mas nada consegui resolver ainda e sinceramente estou precisando resolver este problema. Uso o Clipper5.2 e na última tentativa, me indicaram usar o NETREDIR através da ct.lib ou ctp.lib, só que eu acho que esta lib não tem nesta versão q eu estou usando, não a encontrei na pasta do clipper.
Prossegui usando o NET USE, que foi outra sugestão e não apresentou erros, testei de várias formas, consegui impressão pelo XP, porém, quando fui testar em outra máquina com Win 98 a mesma rotina, escolhendo outra impressora da rede, a impressão foi direcionada para a LPT1, não sei se foi por falta de cancelar este direcionamento. Até concordo, pois no comando há este direcionamento fixo. (veja o comando).
RUN CMD.EXE /C NET USE LPT1 \\MAQ08\ROS /Y >NULL
Caso tenha como me ajudar envie exemplos de codigo e dados do arquivo das impressoras que vc criou e como exatamente vc as trata.
Aguardo por ajuda, obrigado. Renato (multcoop@oi.com.br)
function searchimp()
aviso2(24,"Impressoras F1-Local F4-Reg F5-Geo F8-Ros F10-Bal")
SET CONSOLE OFF
SET PRINT ON
SET DEVICE TO PRINT
if lastkey()=28
set printer to lpt1
elseif lastkey()=-3
set printer to lpt2
elseif lastkey()=-4
set printer to lpt3
elseif lastkey()=-7
set printer to lpt4
elseif lastkey()=-9
set printer to lpt5
endif
return
Em cada uma das 10 maquinas as impressoras foram adicionadas desta forma: Lpt1 - para a impressora mais proxima de cada maq. e as outras foram padronizados as Lpts restantes.
Maq01- c/ impressora local tem dois Lpts destinados a mesma impressora, o Lpt1 e Lpt3
Maq02- s/ impressora local tem o lpt1 para a impressora + próxima e outras opções de lpt
E segue assim por diante.
Lpt1-sempre a local ou a mais próxima para as maq. Sem imp. Local)
Lpt2-para a imp. Reg
Lpt3-para a imp Geo
Lpt4-para a imp Ros
Lpt5-para a imp Bal
Pois bem, chegaram 2 novos micros, com windows XP. Ao instalas estas impressoras verifiquei que as portas Lpt1, lpt2 e lpt3 (que são as únicas q ele apresenta) não recebiam as impressoras da minha rede e sim, era criado um caminho \\maquina\impressora.
Já troquei mensagens com outros usuários mas nada consegui resolver ainda e sinceramente estou precisando resolver este problema. Uso o Clipper5.2 e na última tentativa, me indicaram usar o NETREDIR através da ct.lib ou ctp.lib, só que eu acho que esta lib não tem nesta versão q eu estou usando, não a encontrei na pasta do clipper.
Prossegui usando o NET USE, que foi outra sugestão e não apresentou erros, testei de várias formas, consegui impressão pelo XP, porém, quando fui testar em outra máquina com Win 98 a mesma rotina, escolhendo outra impressora da rede, a impressão foi direcionada para a LPT1, não sei se foi por falta de cancelar este direcionamento. Até concordo, pois no comando há este direcionamento fixo. (veja o comando).
RUN CMD.EXE /C NET USE LPT1 \\MAQ08\ROS /Y >NULL
Caso tenha como me ajudar envie exemplos de codigo e dados do arquivo das impressoras que vc criou e como exatamente vc as trata.
Aguardo por ajuda, obrigado. Renato (multcoop@oi.com.br)
- sygecom
- Administrador

- Mensagens: 7131
- Registrado em: 21 Jul 2006 10:12
- Localização: Alvorada-RS
- Contato:
Tche
Abaixo postei um exemplo completo de como faço pra imprimir tanto em 95/98/XP/2000 .....
Obs:O nome do MICRO deve ser igual ao nome do micro na REDE. e IMPRESSORA deve ser o nome criado para compartilhar a impressora.
Eu particular mente uso o BLINKER 7.0 para compilar meus sistemas entaum abaixo vou postar como adiciono a CTP.LIB em meus sistemas.
Atraves do NOMEDOSISTEMA.LNK
Abraços
Leonardo Machado
Abaixo postei um exemplo completo de como faço pra imprimir tanto em 95/98/XP/2000 .....
Código: Selecionar todos
*INICIA A IMPRESSAO
NETREDIR("LPT1","\\MICRO\IMPRESSORA")
SET DEVICE TO PRINT
set print to lpt1
@ prow(),01 SAY "BLA,BLA,BLA,BLA,BLA,BLA,BLA"
@ prow(),PCOL()+1 SAY "BLA,BLA,BLA,BLA,BLA,BLA,BLA"
*TERMINA A IMPRESSAO
SET PRINTER TO
set device to screen
NETCANCEL("LPT1")
Eu particular mente uso o BLINKER 7.0 para compilar meus sistemas entaum abaixo vou postar como adiciono a CTP.LIB em meus sistemas.
Atraves do NOMEDOSISTEMA.LNK
Código: Selecionar todos
NOBELL
Blinker Incremental Off
Blinker Cache EMS 50%,50%
Blinker Cache XMS 50%,50%
Blinker Demonstration Date 2007/03/20
Blinker Link EMS ON
Blinker Link XMS ON
Blinker Exec Clipper //Dynf:8 //F:254
Blinker Exec Comp 1
Blinker Exec Exte
Blinker Memo Pack 60
Search BlxRatex
Search BlxClp53
Blinker Incr Pad 256
Blinker Over Page On
Blinker Over Opsi 60
Blinker Procedure Depth 70
OutPut NOMEDOSISTEMA.EXE
FILE SISTEMA
FILE MENUS
FILE ROTINA
FILE CADASTRO
FILE BAL
FILE BALV
FILE FINANCE
FILE SENHA
FILE ESTOQUE
FILE FOLHA
FILE __WAIT
FILE MSGPOR
FILE BALANCA
FILE SERIAL
FILE TIMESLIC
LIB CLIPPER,EXTEND,VL2,CTP,DBFCDX,_DBFCDX
Leonardo Machado
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
xHarbour.org + Hwgui + PostgreSql
- RenatoReis
- Usuário Nível 1

- Mensagens: 38
- Registrado em: 02 Out 2006 17:04
Ok copiado!
Leonardo,
já postei pra vc em outros pos mais recentes, como falei vou testar no cliente e depois te respondo qual foi. Obrigado. Renato.
já postei pra vc em outros pos mais recentes, como falei vou testar no cliente e depois te respondo qual foi. Obrigado. Renato.
Sempre que um inimigo estiver cometendo um erro, jamais o interrompa!
(Napoleão Bonaparte)
(Napoleão Bonaparte)
- RenatoReis
- Usuário Nível 1

- Mensagens: 38
- Registrado em: 02 Out 2006 17:04
Sucesso!
:{ Pessoal em postagem mais recente parabenizo meus amigos do forum!
Refiz minha rotina de impressão parecida com a do sygecom, segui a sugestão do Marchiore quanto ao netcancel("lpt1") antes dos netredir e....
Sucesso!
Pra quem ainda não conseguiu, não desista! as sugestões foram perfeitas e tudo correu perfeitamente!
Brigadão a todos e se alguém precisar de alguma dica, tb tentarei ajudar. Abcs.Renato
Refiz minha rotina de impressão parecida com a do sygecom, segui a sugestão do Marchiore quanto ao netcancel("lpt1") antes dos netredir e....
Sucesso!
Pra quem ainda não conseguiu, não desista! as sugestões foram perfeitas e tudo correu perfeitamente!
Brigadão a todos e se alguém precisar de alguma dica, tb tentarei ajudar. Abcs.Renato
Sempre que um inimigo estiver cometendo um erro, jamais o interrompa!
(Napoleão Bonaparte)
(Napoleão Bonaparte)
RENATO / TODOS DO FURUM
CARA O SYGERCOM LHE PASSOU UMA ROTINA PARA VC USAR O NETREDIR EM SEU CLIPER 5.2 CORRETO??? ONDE VC ENCREMENTOU ESSA ROTINA FIQUEI MEIOQ UE BOIANDO NA PARADA .. SE ALGUEM PUDER ME DAR UM LOOK AGRADEÇO :xau
C:\Xharbour\Xdev\Fw\VSX
- rochinha
- Administrador

- Mensagens: 4664
- Registrado em: 18 Ago 2003 20:43
- Localização: São Paulo - Brasil
- Contato:
Amiguinho Ederxc( parece nome de um robô de guerra nas estrelas, hehehe )
Veja o NETREDIR() é uma função constante na CA-Tools(é isso mesmo?) e tem funcionamento identico a:
RUN CMD.EXE /C NET USE LPT1 \\MAQ08\ROS /Y
Se voce não possuir a CT.LIB pode usar o comando acima lembrando que se estiver usando Win95/98/ME troque CMD.EXE por COMMAND.COM.
Quem não tiver as libs me envie um email para irochinha@itelefonica.com.br
Só lembrando CTP.LIB é para modo PROTEGIDO e o amiguinho SygeCOM confundiu, hehehe.
Veja o NETREDIR() é uma função constante na CA-Tools(é isso mesmo?) e tem funcionamento identico a:
RUN CMD.EXE /C NET USE LPT1 \\MAQ08\ROS /Y
Se voce não possuir a CT.LIB pode usar o comando acima lembrando que se estiver usando Win95/98/ME troque CMD.EXE por COMMAND.COM.
Quem não tiver as libs me envie um email para irochinha@itelefonica.com.br
Só lembrando CTP.LIB é para modo PROTEGIDO e o amiguinho SygeCOM confundiu, hehehe.
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url]. Agradecido.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
