GARANTIR DESCONTO

Fórum Impressão direta pela porta USB #258022

11/11/2004

0

Já procurei no fórum, mas não encontrei uma resposta(não sei se procurei certo). Alguém sabe como faz impressão direta pela porta USB, localmente.

obrigado desde já :D


Tiagos

Tiagos

Responder

Posts

11/11/2004

Vinicius2k

Colega,

Vc quer dizer este mesmo tipo de escrita comumente usado para portas convencionais, como abaixo ?
.. 
var 
F : TextFile; 
i : integer; 
begin 
  AssignFile(F,´LPT1´); 
  Rewrite(F); 
  Writeln(F,´Teste de impressao - Linha 0´); 
  CloseFile(F); 
end;


Se for, infelizmente, isto não é possível em impressoras USB ou da rede...
Vc pode usar o objeto TPrinter para realizar estas operações...
Este é um exemplo de como utilizar (extraído de DTDelphi 2.6)
procedure TForm1.BitBtn1Click(Sender: TObject); 
var 
Linha:integer; 
Tamanho:integer; 
Coluna:integer; 
begin 
Printer.Orientation := poLandscape; 
Printer.BeginDoc; 
Printer.Canvas.Pen.Width := 5; 
Printer.Canvas.Font.Name := ´Times New Roman´; 
Printer.Canvas.Font.Size := 10; 
Linha := 20; 
Coluna:= 20; 
Tamanho := Printer.Canvas.TextWidth(´a´); 
Table1.First; 
while not Table1.Eof do 
begin 
if Linha = 20 then 
begin 
Coluna := 20; 
Printer.Canvas.TextOut(0,Linha,´Relação de Clientes´); 
Linha := Linha - Printer.Canvas.Font.Height + 5 ; 
Printer.Canvas.TextOut(Coluna,Linha,´Cod´); 
Coluna:= Coluna + (Tamanho * 5 ); 
Printer.Canvas.TextOut(Coluna,Linha,´Nome´); 
Coluna:= Coluna + (Tamanho * 30); 
Printer.Canvas.TextOut(Coluna,Linha,´Endereço´); 
Coluna:= Coluna + (Tamanho * 30); 
Linha := Linha - Printer.Canvas.Font.Height + 5 ; 
end; 
Coluna := 20 ; 
Printer.Canvas.TextOut(Coluna,Linha,Table1.FieldByName(´Codigo´).AsString); 
Coluna:= Coluna + (Tamanho * 5 ); 
Printer.Canvas.TextOut(Coluna,Linha,Table1.FieldByName(´Nome´).AsString); 
Coluna:= Coluna + (Tamanho * 30); 
Printer.Canvas.TextOut(Coluna,Linha,Table1.FieldByName(´End´).AsString); 
Coluna:= Coluna + (Tamanho * 30); 
Linha := Linha - Printer.Canvas.Font.Height + 5 ; 
Table1.Next; 
if Linha > Printer.PageHeight-20 then 
Begin 
Printer.NewPage; 
Linha := 20; 
end; 
end; 
Printer.EndDoc; 
end; 


Espero ter ajudado...
T+


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar