Impressão Direta

Delphi

03/02/2003

Caros amigos,
Alguem conhece algum componente ou alguma forma de se fazer impressão em modo texto que seja compatível com várias impressoras?
Desde já agradeço.


Anonymous

Anonymous

Curtidas 0

Respostas

Anonymous

Anonymous

03/02/2003

Eu particularmente uso o componente RDPrint da Deltress, acesse o site www.deltress.com.br para pegar um demo.

Mas você também pode fazer o seguinte código:

procedure TFormLocacao.Locao1Click(Sender: TObject);
var
F : TextFile;
i : integer;
NomeCli : string;
Hora : String;
begin
Hora := TimeToStr(Time);

{Impressao do recibo}
AssignFile(F,´LPT1´);
Rewrite(F);
i := 0;
Writeln(F,´----------------------------------------------´);
Writeln(F,´ ***** G A M E O F F I C E ***** ´);
Writeln(F,´ AV. DR. Renato de Andrade Maia,362 Cid Maia ´);
Writeln(F,´ Guarulhos - Sao Paulo ´);
Writeln(F,´----------------------------------------------´);
Writeln(F,´ RECIBO DE LOCACAO´+´ ´+ txtData.Text + ´ ´ + Hora);
Writeln(F,´´);
Writeln(F,txtCodCli.text + ´ ´ + NomeCli);
Writeln(F,´----------------------------------------------´);
Writeln(F,´COD TITULO PRECO D.DEVOL ´); {titulos das colunas}
tbReciboLoc.First;
While not tbReciboLoc.EOF do
begin
{ dados de cada coluna vindo de um banco de dados}
Writeln(F,+format(´¬5s´ ,[tbReciboLocLoc_Cod_Fita.AsString]) +´ ´
+format(´¬25s´,[tbReciboLocLoc_Titulo_Fita.AsString])+´ ´
+format(´¬4.2f´ ,[tbReciboLocLoc_Preco.AsFloat]) +´ ´
+format(´¬8s´ ,[tbReciboLocLoc_Data_Dev.AsString]) );
tbReciboLoc.Next;
end;
Writeln(F,´´);
Writeln(F,´ TOTAL A PAGAR = R$´+format(´¬4.2f´,[StrToFloat(txtTotal.text)]));
Writeln(F,´´);
Writeln(F,´´);
Writeln(F,´Recebi os Produtos Acima Citados: ´);
Writeln(F,´´);
Writeln(F,´´);
Writeln(F,´´);
Writeln(F,´ ----------------------------- ´);
Writeln(F,´ Assinatura ´);

End;

Paulo Schmidt
www.compuserv.com.br/pauloschmidt


GOSTEI 0
Ildefonso

Ildefonso

03/02/2003

Olá, Alex.

Cada impressora tem seu próprios códigos de inicialização e encerramento. O padrão disseminado pela IBM (Epson, Canon, OkiData, etc.) pode ser coincidente em muitas coisas mas, mesmo assim, haverá algo que você não conseguirá transportar de uma impressora para outra.

Para mandar dados diretamente para as impressoras, abra um arquivo na porta [b:6096c93a23]PRN[/b:6096c93a23] ou [b:6096c93a23]LPT1[/b:6096c93a23] e envie registros para lá, tal como se envia para um arquivo comum.

Bom trabalho. 8)


GOSTEI 0
POSTAR