raphaeld 0 Denunciar post Postado Maio 23, 2005 Desenvolvemos uma aplicação em Delphi 7 com Interbase 6.5. Quando é enviado um relatório para IMPRESSORA MATRICIAL Lx-300 ela automaticamente passa para o MODO de Impressão CONDENSADO, ou seja, a impressão fica mais lenta devida a maior precisão, se tornando inviável para impressão de orçamentos, pedidos e requisições. Existe algum código que possa ser implementado para corrigir esse problema ou alguma dica de configuração da impressora? Compartilhar este post Link para o post Compartilhar em outros sites
apocalipse 0 Denunciar post Postado Maio 24, 2005 Salve RaphaedVocê esta usando o QR para imprimir ou esta imrimindo via Dos.Apocalipse :unsure: Compartilhar este post Link para o post Compartilhar em outros sites
arcanjo_junior 0 Denunciar post Postado Maio 25, 2005 Provavelmente você deve estar utilizando algum componente de relatório gráfico, tipo quick report, report builder , etc... Se você quiser continuar utilizando este componentes e ter um desempenho melhor com impressões matricias você deve utilizar as fontes da impressora matricial. Faça o seguinte teste , instale na sua maquina a impressora somente texto padrão do windows e utilize a fonte que vem com ela. Você vai ver a velocidade vai ser outra mais você perde totalmente os recursos de impressão gráfica. Aconselho a você utilizar um componente especifico para impressão matricial , ZReport, Fortes Report ou então manipular manualmente um arquivo texto enviando-o direto para impressora veja o exemplo : {impressão do recibo}function TFPedido_Balcao.Imprime_Recibo():String;var F : TextFile; qCons : TQuery; Linha : String; Recibo : Real;begin inherited; Result := ''; try try Recibo := Obter_Valor_Sequence('RECIBO','',VEmpresaAtiva_ID,0); MensagemTemporaria(4,1); {AssignFile(F,ExtractFilePath(Application.ExeName)+'\Pedido.txt');} AssignFile(F,'LPT1'); Rewrite(F); qCons := TQuery.Create(Self); qCons.DatabaseName := 'DbOrganiser'; qCons.SQL.Add('SELECT'); qCons.SQL.Add(' EMPRESA.EMP_ENDERECO'); qCons.SQL.Add(' ,EMPRESA.EMP_CGC'); qCons.SQL.Add(' ,EMPRESA.EMP_TELEF'); qCons.SQL.Add(' ,TRUNC(P.PEDF_DTA_CAD) DATA'); qCons.SQL.Add(' ,TO_CHAR(P.PEDF_DTA_CAD,''HH24:MI:SS'') HORA'); qCons.SQL.Add(' ,'+FloattoStr(Recibo)+' NUMERO'); qCons.SQL.Add(' ,PROD_DESC'); qCons.SQL.Add(' ,PP.PEDF_SERIE_1'); qCons.SQL.Add(' ,PP.PEDF_QTDE'); qCons.SQL.Add(' ,PP.PEDF_VLR_UNIT'); qCons.SQL.Add(' ,PP.PEDF_VLR_TOT'); qCons.SQL.Add(' ,P.PEDF_VLR_TOT_PED'); qCons.SQL.Add(' ,FPGTO.GEN_DESCRICAO FORMA_PGTO'); qCons.SQL.Add(' ,CLIENTE.CLI_RAZAO_SOCIAL'); qCons.SQL.Add(' ,CLIENTE.CLI_CGC_CPF'); qCons.SQL.Add(' ,CLIENTE_E.CLIE_ENDERECO'); qCons.SQL.Add(' ,USUARIO.USR_NOME'); qCons.SQL.Add('FROM'); qCons.SQL.Add(' EMPRESA'); qCons.SQL.Add(' ,PEDIDO_FAT P'); qCons.SQL.Add(' ,PEDIDO_FAT_P PP'); qCons.SQL.Add(' ,PRODUTO'); qCons.SQL.Add(' ,CLIENTE'); qCons.SQL.Add(' ,CLIENTE_E'); qCons.SQL.Add(' ,USUARIO'); qCons.SQL.Add(' ,GENER FPGTO'); qCons.SQL.Add(''); qCons.SQL.Add('WHERE'); qCons.SQL.Add(' PEDF_EMP_ID = EMP_ID'); qCons.SQL.Add('AND PP.PEDF_PEDF_EMP_ID = P.PEDF_EMP_ID'); qCons.SQL.Add('AND PP.PEDF_PEDF_ID = P.PEDF_ID'); qCons.SQL.Add('AND PROD_EMP_ID = PP.PEDF_PROD_EMP_ID'); qCons.SQL.Add('AND PROD_ID = PP.PEDF_PROD_ID'); qCons.SQL.Add('AND CLI_EMP_ID = P.PEDF_CLI_EMP_ID'); qCons.SQL.Add('AND CLI_ID = P.PEDF_CLI_ID'); qCons.SQL.Add('AND CLIENTE_E.CLIE_GEN_ID = 2'); qCons.SQL.Add('AND CLIE_CLI_EMP_ID = CLI_EMP_ID'); qCons.SQL.Add('AND CLIE_CLI_ID = CLI_ID'); qCons.SQL.Add('AND USR_ID = P.PEDF_USR_ID'); qCons.SQL.Add('AND FPGTO.GEN_TGEN_ID = P.PEDF_GEN_TGEN_ID_FORMA_PGTO_DE'); qCons.SQL.Add('AND FPGTO.GEN_EMP_ID = P.PEDF_GEN_EMP_ID_FORMA_PGTO_DE'); qCons.SQL.Add('AND FPGTO.GEN_ID = P.PEDF_GEN_ID_FORMA_PGTO_DE'); qCons.SQL.Add('AND P.PEDF_ID ='+InttoStr(Pedf_ID)); qCons.SQL.Add('AND P.PEDF_EMP_ID ='+FloattoStr(VEmpresaAtiva_ID)); qCons.Open; {montando o cabeçalho do recibo} Linha := 'S E T R A N S P - GO'; Writeln(F,Linha); Linha := Complementa_Texto(qCons.FieldByName('EMP_ENDERECO').Text,' ',48); Writeln(F,Linha); Linha := 'CNPJ:'+Complementa_Texto(qCons.FieldByName('EMP_CGC').Text,' ',20) +' FONE:'+Complementa_Texto(qCons.FieldByName('EMP_TELEF').Text,' ',15); Writeln(F,Linha); Linha := Complementa_Texto('','-',48); Writeln(F,Linha); Linha := 'RECIBO VALE TRANSPORTE'; Writeln(F,Linha); Linha := 'NUMERO:'+qCons.FieldByName('NUMERO').Text+' DATA:'+qCons.FieldByName('DATA').Text+' HORA:'+qCons.FieldByName('HORA').Text; Writeln(F,Linha); Linha := Complementa_Texto('','-',48); Writeln(F,Linha); Linha := 'DESC SER QTD UNIT TOTAL'; Writeln(F,Linha); while not qCons.EOF do begin Linha := Complementa_Texto(qCons.FieldByName('PROD_DESC').Text,' ',16) + Complementa_Texto(' ',' ',7)+ Complementa_Texto(FormatFloat('000000',qCons.FieldByName('PEDF_QTDE').Value),' ',6)+ Complementa_Texto_Direita(FormatFloat(',0.00',qCons.FieldByName('PEDF_VLR_UNIT').Value),' ',9)+ Complementa_Texto_Direita(FormatFloat(',0.00',qCons.FieldByName('PEDF_VLR_TOT').Value),' ',9); WriteLn(F,Linha); qCons.Next; end; Linha := Complementa_Texto('','-',48); Writeln(F,Linha); Linha := 'TOTAL.....:R$'+ Complementa_Texto_Direita(FormatFloat(',0.00',qCons.FieldByName('PEDF_VLR_TOT_PED').Value),' ',12); Writeln(F,Linha); Linha := Complementa_Texto(qCons.FieldByName('FORMA_PGTO').Text,'.',10) + ':R$'+ Complementa_Texto_Direita(FormatFloat(',0.00',qCons.FieldByName('PEDF_VLR_TOT_PED').Value),' ',12); Writeln(F,Linha); Linha := 'TOTAL.....:R$'+ Complementa_Texto_Direita(FormatFloat(',0.00',qCons.FieldByName('PEDF_VLR_TOT_PED').Value),' ',12); Writeln(F,Linha); Linha := AnsiLowerCase(Extenso(qCons.FieldByName('PEDF_VLR_TOT_PED').Value)); Writeln(F,Linha); Linha := Complementa_Texto('','-',48); Writeln(F,Linha); Linha := 'CNPJ/CPF.:'+qCons.FieldByName('CLI_CGC_CPF').Text; Writeln(F,Linha); Linha := 'NOME.....:'+qCons.FieldByName('CLI_RAZAO_SOCIAL').Text; Writeln(F,Linha); Linha := 'ENDERECO.:'+qCons.FieldByName('CLIE_ENDERECO').Text; Writeln(F,Linha); Linha := Complementa_Texto('','-',48); Writeln(F,Linha); Linha := 'ATENDENTE......:'+qCons.FieldByName('USR_NOME').Text; Writeln(F,Linha); Linha := 'POSTO DE VENDA.:TRANSIT'; Writeln(F,Linha); Linha := Complementa_Texto('','-',48); Writeln(F,Linha); Linha := 'VALOR DE CORRETAGEM OU COMISSAO: ZERRO. NOS TERMOS DA IN.SRF N. 480/2004'; Writeln(F,Linha); except on E:Exception do begin Result := E.Message; end; end; finally qCons.Close; FreeAndNil(qCons); CloseFile(F); MensagemTemporaria(4,2); end;end;Espero ter ajudado. Sebastião Júnior. Compartilhar este post Link para o post Compartilhar em outros sites
raphaeld 0 Denunciar post Postado Maio 26, 2005 Não estou usando QuickReport mesmo. Compartilhar este post Link para o post Compartilhar em outros sites
proteus 0 Denunciar post Postado Maio 26, 2005 1hm...o q você pode fazer é diminuir os dpi s da impressora...no demais..só se você fizer na mão mesmo.. [ writeLn ] ou usando algum componente que imprime linha/linha Compartilhar este post Link para o post Compartilhar em outros sites