Impressao direto p/ Impressora
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).
Se puderem me ajudar, eu ficaria muito grato..
Obrigado..
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
Curtidas 0
Respostas
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
22/05/2007
Entendi...
E como resolvo o problema dos registros da mat_vendas?
Abraços..
E como resolvo o problema dos registros da mat_vendas?
Abraços..
GOSTEI 0
Ricieri
22/05/2007
Entendi...
E como resolvo o problema dos registros da mat_vendas?
Abraços..
E como resolvo o problema dos registros da mat_vendas?
Abraços..
GOSTEI 0
Ricieri
22/05/2007
Entendi...
E como resolvo o problema dos registros da mat_vendas?
Abraços..
E como resolvo o problema dos registros da mat_vendas?
Abraços..
GOSTEI 0
Nigro
22/05/2007
O negrito você pode mandar imprimir duas vezes o mesmo texto na mesma posição
GOSTEI 0
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?
E como faço para imprimir vários registros das vendas?
GOSTEI 0
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
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
ex:
while not TABELA.Eof do
begin
Writeln(Arquivo,TABELA[´campoaserimpresso´] );
TABELA.next;
end;
duvidas é so postar
GOSTEI 0