Impressao direto p/ Impressora

Delphi

22/05/2007

Pessoal, boa noite...
Estou tentando fazer um relatorio de 80 colunas, mas tenho algumas duvidas:
Eu tenho a tabela ´Vendas´ (KEY: id_venda) e tenho a tabela ´Mat_Vendas´ que é aonde registro todos os itens lançados para a venda X...
Do jeito que eu estou fazendo, eu estou jogando os dados para as variaveis, mas como vou jogar os registros da tabela mat_vendas para uma variavel? Eu posso ter N registros da venda X nesta tabela...
Outra duvida é como limitar a quantidade de caracteres e como escolher a fonte da impressao e o tipo da fonte (negrito, italico e etc).

var nome_cliente, desc_item : string; cod_item: integer; valor_total, qnt: real; F : TextFile; i : integer; // Codigo para a impressão do recibo em 80 Colunas begin valor_total := datamodule2.Vendas.FieldByname(´vl_total´).AsFloat; qnt := datamodule2.mat_vendas.FieldByname(´quantidade´).Asfloat; nome_cliente := datamodule2.Vendas.fieldbyname(´nomecli´).AsString; AssignFile(F,´LPT1´); Rewrite(F); i := 0; Writeln(F,´ Xitaozinho ´); Writeln(F,´Materiais para Construcao´); Writeln(F,´-------------------------´); Writeln(F,´ Tel: (016)-3952-3099 ´); Writeln(F,´-------------------------´); Writeln(F,´Nome do Cliente:´); Writeln(F,nome_cliente); Writeln(F,´Valor Total da Compra:´); Writeln(F,valor_total); Writeln(F,#12); // Ejeta a página CloseFile(F);


Se puderem me ajudar, eu ficaria muito grato..
Obrigado..


Ricieri

Ricieri

Curtidas 0

Respostas

Edilcimar

Edilcimar

22/05/2007

os comandos de impressão, tipo de letra, negrito, sublinhado, itálico, etc, são os comandos da própria impressora, normalmente são usados os comandos da Epson, porém se for outro tipo de impressora pode não funcionar, quanto a quantidade de caracteres, vc mesmo já disse que são 80


GOSTEI 0
Ricieri

Ricieri

22/05/2007

Entendi...
E como resolvo o problema dos registros da mat_vendas?
Abraços..


GOSTEI 0
Ricieri

Ricieri

22/05/2007

Entendi...
E como resolvo o problema dos registros da mat_vendas?
Abraços..


GOSTEI 0
Ricieri

Ricieri

22/05/2007

Entendi...
E como resolvo o problema dos registros da mat_vendas?
Abraços..


GOSTEI 0
Nigro

Nigro

22/05/2007

O negrito você pode mandar imprimir duas vezes o mesmo texto na mesma posição


GOSTEI 0
Ricieri

Ricieri

22/05/2007

Então, mas como faço pra escolher em qual posição eu vou imprimir tal linha?
E como faço para imprimir vários registros das vendas?


GOSTEI 0
Edilcimar

Edilcimar

22/05/2007

em impressão DOS não dá para escolher a coluna onde será impresso, você terá que acrescentar caracteres ´espaço´ para modificar a posição da coluna


GOSTEI 0
Dberlese

Dberlese

22/05/2007

Amigo faz um while em sua tabela de vendas, seria mais ou menos assim:
ex:

while not TABELA.Eof do
begin
Writeln(Arquivo,TABELA[´campoaserimpresso´] );
TABELA.next;
end;

duvidas é so postar


GOSTEI 0
POSTAR