GARANTIR DESCONTO

Fórum Problemas Imp Modo Texto - AJUDEM #174231

11/08/2003

0

Olá pessoal

Estou com problemas pra impressão em modo texto. Estou usando a função

Printer.BeginDoc;
CopyFile( PChar(TGetTempDir + ´Etiqueta.ada´),
PChar(sImpressora),False);
Printer.EndDoc;

estou desenvolvendo no XP, até aee funciona legal, mas no meu cliente
acontece o seguinte

2 - Impressora Laser
A página continua saindo em branco - WIndows 98
Imprimi a primeira página e puxa outra em branco - Windows XP

3 - Impressora Jato de Tinta
A página continua saindo em branco - Windows 98
Imprimi a primeira página e puxa outra em branco - Windows XP

Qual função vcs recomendam pra impressão em modo texto???Tem q ser alguma q
não de problema em diferentes versões do Windows


Valews
Jean


Jrs.net

Jrs.net

Responder

Posts

11/08/2003

Will_smith

Pode ser que te ajude!!

____________
W+

__________________________
Nota Fiscal (UTILIZEI O BITBTN)Ocódigo comessa abaixo.

------------------------------------------------------------------------------------------------------------------------------

procedure TFmPedidos.btNotaClick(Sender: TObject);
var
Valorbase:DOUBLE;
valoricms:DOUBLE;
CONTADOR:Integer;
IMPRESSORA:TextFile;

begin
{POSICIONA O PONTEIRO DA TABELA DE CLIENTES,
EM RELAÇÃO À TABELA DE PEDIDOS}
DmDados.tbClientes.FindKey([DMDADOS.Tbpedidosped_Cliente.Value]);
{Relaciona a variável impressora com a
lpt1: - Poderia ser LPT, COM1,// Servidor/impressora}
AssignFile(IMPRESSORA,´LPT1:´);
{abre a porta da impressão }
Rewrite(IMPRESSORA);
{envia caractere de controle para comprimir a impressão}
Write(IMPRESSORA);
{ Imprime o caractere ´x´ (marcando Nota de Saída) e salta para próxima linha}
Writeln(Impressora,Format(´¬80s´,[´x´]));
{ salta duas linhas}
Writeln(impressora);
Writeln(Impressora);
{ Imprime a string ´Vendas´, alinhado à esquerda´-´ dentro de uma área de quarenta caracteres}
Write(Impressora,Format(´¬-40s´,[´Vendas´]));
{ Imprime a string ´5.12´, e salta para próxima linha}
WriteLn(Impressora,Format(´¬10s´, [´5.12´]));
{ Salta duas linhas}
Writeln(impressora);
Writeln(Impressora);
{ ---- Impressão dos Dados do Consumidor-----}
{ Imprime a Razão Social, alinhado à esquerda dentro de uma área de 90 caracteres}
Write (Impressora,Format(´¬-90s´, [ dmdados.tbClientesCli_Razao.Value]));
{ Imprime a CGC, alinhado à esquerda dentro de umaárea de 30 caracteres}
Write(Impressora,Format(´¬-30s´, [dmdados.tbClientesCli_CGC.Value]));
{ Imprime a Data de Emissão, baseada na data atual e salta para próxima linha}
Writeln(Impressora,DatetoStr(Date));
{ Salta uma linha}
Writeln(Impressora);
{ Imprime Endereço,alinhado à esquerda´-´ dentro de uma área de 70 carcateres}
Write(Impressora,Format(´¬-70s´,[dmdados.tbClientesCli_Endereco.Value]));
{Imprime Bairro, dentro de uma área de 35 carcateres}
Write(Impressora,Format(´¬-35s´,[dmdados.tbClientesCli_Bairro.Value]));
{ Imprime CEP, dentro de uma área de 15 carcateres}
Write(Impressora,Format(´¬-15s´, [dmdados.tbClientesCli_CEP.Value]));
{Imprime a Data de Saída, baseada na Hora Atual e Salta para próxima Linha}
Writeln(Impressora,DatetoStr(Date));
{ Salta uma linha}
Writeln(Impressora);
{ Imprime Munícipio, dentro de uma área de 60 caracteres}
Write(Impressora, Format(´¬-60s´, [dmdados.tbClientesCli_Cidade.Value]));
{ Imprime DD+Telefone, dentro de uma área de 30 caracteres}
Write(Impressora,Format(´¬-30s´,[dmdados.tbClientesCli_DDD.Value+´ ´+ dmdados.tbClientesCli_Fone1.Value]));
{ Imprime Estado (UF), dentro de uma área de 5 caracteres}
Write(Impressora,Format(´¬-5s´,[dmdados.tbClientesCli_Estado.Value]));
{ Imprime Inscrição Estadual, dentro de uma área de 25 caracteres}
Write(Impressora,Format(´¬-25s´,[dmdados.tbClientesCli_Inscricao.value]));
{ Imprime a Hora de Saída, baseada na Hora Atual e Salta para próxima Linha}
Writeln(Impressora,TimetoStr(time));
{ Salta três linhas}
Writeln(Impressora);
Writeln(Impressora);
Writeln(Impressora);
{----- Fase de Emissão dos Itens da Nota -----}
{ Zero variáveis}
Valorbase:=0;
valoricms:=0;
{ Move o ponteiro de registro da tabela de Itens para o primeiro}
Dmdados.TbItens.First;
{ Início do Laço}
While not (Dmdados.tbItens.Eof) do
Begin
{ Imprime Código produto}
Write(Impressora,Format(´¬-15s´, [InttoStr(Dmdados.tbItensIT_Produto.Value)]));
{ Imprime Descrição do produto}
Write(Impressora,Format(´¬-68s´, [dmdados.TbitensProdutos.value]));
{ Imprime Quantidade Comercializada}
Write(Impressora,Format(´¬12.2n´,[Dmdados.tbItensIt_Quantidade.value]));
{ Imprime Preço Unitário produto}
Write(Impressora,Format(´¬15.2m´,[dmdados.tbitensit_valor.value]));
{ Imprime o valor Total do Item e salta uma linha}
Writeln(Impressora,Format(´&15.2f´, [dmdados.tbItensValorItem.Value]));
{ Soma o valor Base de Cálculo do ICMS}
Valorbase:=ValorBase + dmdados.tbItensValorItem.Value;
{ Próximo Item}
Dmdados.Tbitens.next;
end;
{ laço de Itens}
{ Salta o núemro de linhas necessárias para completar o espaço restante de itens}
For Contador:= 1 to (20- dmdados.tbItens.recordCount)do
Writeln(Impressora);
{ Salta duas Linhas}
Writeln(Impressora);
Writeln(Impressora);
{ Imprime o valor total dos produtos e salta uma linha}
Writeln(Impressora,Format(´¬120.2f´,[ValorBase]));
{ Salta duas linhas}
Writeln(Impressora);
Writeln(Impressora);
{ Cálculo do Imposto - baseada na Alíquota de 12¬}
valoricms:=(Valorbase*0.12);
{ Imprime Valor base}

Write(Impressora,Format(´¬30.2f´,[Valorbase]));
{ Imprime Valor ICMS e salta ´p/ próxima linha}
Write(Impressora, Format(´¬30.2f´,[ ValorICMS]));
{ Salta uma linha}
Writeln(Impressora);
{ Imprime o valor total da Nota e salta uma linha}
Writeln(Impressora,Format(´¬120.2f´,[Valorbase]));
{ Salta duas linhas}
Writeln(Impressora);
Writeln(Impressora);
{ Imprime informações transportador}
Writeln(Impressora,Format(´¬-30s´, [´o mesmo´]));
{ salta tr6es Linhas}
Writeln(Impressora);
Writeln(Impressora);
Writeln(Impressora);
{ Fecha a porta de impressão}
System.Close(Impressora);
end; { final da procedure}

BOLETA BANCARIA

procedure TFmGerRec.BtBoletaClick(Sender: TObject);
Var
Impressora:TextFile;

begin
AssignFile(Impressora,´LPT1:´);
Rewrite(Impressora);
Writeln(impressora);
//Imprime Local de pagamento
Write(impressora,Format(´¬-50s´,[´ (PAGAVEL EM QUALQUER BANCO ATE O VENCIMENTO)´]));
//Imprime Data Vencto e pula para próxima linha
Writeln (impressora,Format(´¬-20s´,[´´+DatetoStr(DmDados.TbcontasRecRec_DataVencto.Value)]));
//pula três linhas
Writeln(Impressora);
Writeln(impressora);
Writeln(impressora);

//Imprime Data de Emissão e Número Documento e salta duas linhas

Writeln(impressora,Format(´¬-50s´,[´´+DatetoStr(DmDados.TbcontasRecRec_DataEmissao.Value)]));
Writeln(impressora,Format(´¬-52s´,[´´+InttoStr(DmDados.TbcontasRecRec_Numero.Value)]));

Writeln(impressora);

//Imprime valor do Documento e pula p/ Próxima linha

Write(impressora, Format(´¬-55s´,[ ´ ´]));
Writeln(impressora, Format(´¬-8.2m´,[DmDados.TbContasRecRec_Valor.Value]));


//Pula duas linhas
Writeln(impressora);
Writeln(impressora);

//Imprime informações de Responsabilidade do Cedente

Writeln(impressora, Format(´¬-50s´,[´ Neste Espaco Voce pode imprimir o Texto´]));
Writeln(impressora, Format(´¬-50s´,[´ De Responsabilidade do Cedente, comum em ´]));
Writeln(impressora, Format(´¬-50s´,[´ Diversos Bancos,Ex: ´]));
Writeln(impressora, Format(´¬-50s´,[´ -Cobrar Juros de 10¬/Mes Apos Vencimento´]));

// Pula duas Linhas

WriteLn(impressora);
Writeln(impressora);

//imprime informações do Sacado

Writeln(impressora, Format(´¬-50s´,[´´+DmDados.TbcontasRecRazao.Value+´-CGC/CPF´+Dmdados.TbContasRecCgc.Value]));
Writeln(impressora, Format(´¬-50s´,[´´+DmDados.TbContasRecEndereco.Value]));
Writeln(impressora, Format(´¬-50s´,[´ CEP´+DmDados.TbContasRecCEP.Value+´´+Dmdados.TbContasRecCidade.Value+´´+ Dmdados.TbContasRecEstado.Value]));

//Pula três linhas
Writeln(impressora);
Writeln(impressora);
Writeln(impressora);
CloseFile(impressora);
end;


Responder

Gostei + 0

11/08/2003

Allen74

jrs,

você precisa acrescentar o caractere #12 (avanço de página) ao final de cada página para que as impressoras laser e jato de tinta imprimam corretamente.

As matriciais, continuam imprimindo porque forma projetadas para trabalhar com formulário contínuo. Assim, muitos programas não utilizam 12 para forçar uma matricial para pular para a página seguinte. A maioria deles continua imprimindo linhas em branco até chegar na posição correspondente ao início da próxima página. Sendo assim, você precisa verificar se no arquivo etiqueta.ada está sendo utilizado o método de avanço de linha ou de avanço de página (12)


Responder

Gostei + 0

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

Aceitar