Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Rodrigo Miss

NF pra Spool

Recommended Posts

Desculpa Marcio... mais realmente naum consegui entender mto o codigo.... teria algum outro exemplo ou codigo mais simples??? sou bm leigo nissoah::: no link q você me passo ... ele acessa direto a porta LPT1 certo??? issu seria SPOOL.???ouvi falar q mandar direto pra porta tm alguns problemas com alguns sistemas operacionais...me falaram q eh melhor usar SPOOL pra mandar pro Windows....

Compartilhar este post


Link para o post
Compartilhar em outros sites

Desconheço qualquer tipo de problema referente a envio direto para a LPT1, no caso existe várias formas de se fazer isto, uma delas é usando componentes, como o VDOPrint... tente a busca do fórum, vai encontrar mais a respeito disto...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fiz o seguinte:

 

procedure TForm1.Button1Click(Sender: TObject);varArquivo: TExtFile;beginAssignFile(Arquivo, 'LPT1');Rewrite(Arquivo);Write(Arquivo, 'TEXTO');CloseFile(Arquivo);end;

so q ta imprimindo somente qdo o exe ta no servidor

 

como faço pra imprimir issu na impressora matricial na rede?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pelo menos eu sempre crio um arquivo .bat, e mando executar ele... tipo:

 

 

AssignFile(txt,'imp.bat');Rewrite(txt);if servidorImpressao <> '' then //se a variável servidorImpressao contiver o nome do servidor é enviado para o mesmo, senão manda para LPT1	Writeln(txt,'type imp.bat> ' + servidorImpressao)else	Writeln(txt,'type imp.bat> lpt1');CloseFile(txt);if Sender = btnVisualizar then	Winexec('Notepad imp.txt',5)else	Winexec('imp.bat',1);

Para passar o nome do servidor de impressão, pode ser algo do tipo:

 

\\NOME_DA_MAQUINA\NOME_DA_IMPRESSORA

Compartilhar este post


Link para o post
Compartilhar em outros sites

Putz... oq q eu to fazendo de errado sera kra.... naum imprime nda... somente abre o notepad..

 

 

var  Form1: TForm1;  servidorImpressao: string;implementation{$R *.dfm}procedure TForm1.btnVisualizarClick(Sender: TObject);vartxt: TextFile;beginAssignFile(txt,'imp.bat');Rewrite(txt);if servidorImpressao <> '' then //se a variável servidorImpressao contiver o nome do servidor é enviado para o mesmo, senão manda para LPT1	Writeln(txt,'type imp.bat> ' + servidorImpressao)else	Writeln(txt,'type imp.bat> lpt1');CloseFile(txt);if Sender = btnVisualizar then	Winexec('Notepad imp.txt',5)else	Winexec('imp.bat',1);end;procedure TForm1.Button2Click(Sender: TObject);beginservidorImpressao:= edit1.Text;end;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas você não tem a geração de nenhum arquivo chamado "imp.txt", por isto que não imprime nada.

 

Pequeno exemplo:

 

unit Unit1;interfaceuses  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,  Dialogs, StdCtrls, Buttons;type  TForm1 = class(TForm)	btnVisualizar: TBitBtn;	Edit1: TEdit;	btnImprimir: TBitBtn;	procedure btnVisualizarClick(Sender: TObject);  private	{ Private declarations }  public	{ Public declarations }  end;var  Form1: TForm1;implementation{$R *.dfm}procedure TForm1.btnVisualizarClick(Sender: TObject);var	txt: TextFile;	servidorImpressao: string;beginAssignFile(txt,'imp.txt');Rewrite(txt);Writeln(txt,'TESTE IMP');CloseFile(txt);AssignFile(txt,'imp.bat');Rewrite(txt);servidorImpressao:=Edit1.Text;if servidorImpressao <> '' then	Writeln(txt,'type imp.txt > ' + servidorImpressao)else	Writeln(txt,'type imp.txt > lpt1');CloseFile(txt);if Sender = btnVisualizar then	Winexec('Notepad imp.txt',5)else	Winexec('imp.bat',1);end;end.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como falei, você precisa colocar o nome da maquina\ nome da impressora, mas o nome da impressora compartilhada... Ex.:

 

\\CAIXA_POSTO\Epson

Mas o nome da impressora pode ser EpsonLX300, mas o nome compartilhado estaria somente Epson, e é este nome que precisa colocar... e confirme que ela esteja compartilhada...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom... O que posso lhe dizer é que é assim que eu faço aqui e funciona perfeitamente...Dê uma olhada nos componentes VDOPrint... quem sabe fique mais fácil a programação para você, pois o componentes é quem vai controlar a chamada e envio dos arquivos para a impressora...

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.