carlos Posted July 22, 2002 Report Share Posted July 22, 2002 Caro gilmer, Quando estou conectado a uma impressora MATRICIAL(EPSON LQ 1070 +) e executo o preview meu relatório é mostrado corretamente(Não é problema no windows95/98...) e imprime corretamente. Mas quando mudo para uma impressora gráfica(Epson,HP....) meu preview fica louco. Quando mando imprimir também imprime como esta no preview(totalmente errado). estou nexando o pedaço do fonte onde faço impressão para ver se voce pode me ajudar (é simples). Agradeço a atenção *********** FUNCTION IMP40(OB_BOTAO) LOCAL oPrn, oFont,oFont1, oIni, oPrinter,mRAZAO_SOC,mENDERECO,mBAIRRO,mCIDADE,mCEP,mUF,mINTERNET,mCORREIO,mTELEFONE,mTELEFONE_2,mFAX dbSelectArea("SCM021") SCM021->( dbSetOrder("SCM02101")) SCM021->( dbGotop() ) mRAZAO_SOC := SCM021->RAZAO_SOC mENDERECO := SCM021->ENDERECO mBAIRRO := SCM021->BAIRRO mCIDADE := SCM021->CIDADE mCEP := SCM021->CEP mUF := SCM021->UF mINTERNET := SCM021->INTERNET mCORREIO := SCM021->CORREIO mTELEFONE := SCM021->TELEFONE mTELEFONE_2 := SCM021->TELEFONE_2 mFAX := SCM021->FAX dbSelectArea("SCM010") SCM010->( dbSetOrder("SCM01001")) PRINTERsetup() PRINTER oPrn PREVIEW DEFINE FONT oFont NAME "Courier New" SIZE 0,-10 OF oPrn oPrn:SetFont(oFont) PAGE oPrn:Box( 4.4, 95.4, 210.1, 1400.10) // retangulo maior superior oPrn:Box( 4.4, 95.4, 210.1, 286.10) // quadrado do BMP oPrn:Box( 4.4, 1210.4, 210.1, 1400.10) // quadrado maior direito oPrn:CmSay(0.30, 4.09,mRAZAO_SOC) oPrn:CmSay(0.40, 17.15,+"Nº :"+TRAN(SCM010->NUMERO,"9999999999"),oFont1) oPrn:CmSay(0.70, 4.09,mENDERECO) oPrn:CmSay(0.90, 17.15,+"Emissão:"+DTOC(Date())) oPrn:CmSay(1.35, 17.15,+"Horário:"+SCM010->HORA_ABRE) oPrn:CmSay(1.75, 17.15,+"Local do Atendto.") oPrn:CmSay(2.20, 17.15,SCM010->ATENDER) oPrn:CmSay(1.15, 4.09,mCEP+" "+mBAIRRO) oPrn:CmSay(1.55, 4.09,mCIDADE+" "+mUF) oPrn:CmSay(2.02, 4.09,mTELEFONE+" "+mTELEFONE_2+" "+mFAX ) oPrn:CmSay(2.40, 4.09,mINTERNET+" "+mCORREIO) ******// FIM DO CABECALHO oPrn:CmSay(3.200, 1.3,"Tipo do atendimento") oPrn:Box( 300.5, 95.4, 255.1, 360.10) // retangulo do t.atendimento oPrn:CmSay(3.700, 1.4,SCM010->DESCRICAO) oPrn:CmSay(3.200, 5.21,"Repor peças") oPrn:Box( 300.5, 370.4, 255.1, 535.10) // retangulo do repor pecas oPrn:CmSay(3.700, 5.30,"NÃO DETERMINADO") oPrn:CmSay(3.200, 7.68,"Repor BCK") oPrn:Box( 300.5, 545.4, 255.1, 635.10) // retangulo do repor backup oPrn:CmSay(3.700, 7.78,"NÃO") oPrn:CmSay(3.200, 9.10,"Atender em") oPrn:Box( 300.5, 645.4, 255.1, 750.10) // retangulo do prazo oPrn:CmSay(3.700, 9.20,"até 08:00") oPrn:CmSay(3.200, 10.75,"N.Fiscal") oPrn:Box( 300.5, 760.4, 255.1, 865.10) // retangulo do n.fiscal oPrn:CmSay(3.700, 10.80,"999999999") oPrn:CmSay(3.200, 12.35,"Emissão") oPrn:Box( 300.5, 875.4, 255.1, 989.10) // retangulo da emissao da N.fiscal oPrn:CmSay(3.700, 12.45,"99/99/9999") oPrn:CmSay(3.200, 14.12,"Fabricado") oPrn:Box( 300.5, 1000.4, 255.1, 1115.10) // retangulo da emissao da N.fiscal oPrn:CmSay(3.700, 14.22,"99/99/9999") oPrn:CmSay(3.200, 15.95,"Operador Atendente") oPrn:Box( 300.5, 1128.4, 255.1, 1400.10) // retangulo do Operador Atendente oPrn:CmSay(3.700, 15.99,"JOSE CARLOS DA SILVAXXXXX") oPrn:CmSay(4.199, 1.3,"Produto a Atender") oPrn:Box( 327.5, 95.4, 369.1, 360.10) // retangulo do t.atendimento oPrn:CmSay(4.700, 1.4,"TELEFONE CELULARXXXXX") oPrn:CmSay(4.199, 5.21,"Modelo a Atender") oPrn:Box( 327.5, 370.4, 369.1, 595.10) // retangulo do Modelo oPrn:CmSay(4.700, 5.30,"SCH-811XXXXXXXXXXXXX") oPrn:CmSay(4.199, 8.52,"Fabricante a Atender") oPrn:Box( 327.5, 605.4, 369.1, 830.10) // retangulo do Fabricante oPrn:CmSay(4.700, 8.61,"SAMSUNGXXXXXXXXXXXXX") oPrn:CmSay(4.199, 11.83,"Identificacao no Cliente") oPrn:Box( 327.5, 840.4, 369.1, 1130.10) // retangulo do Ident.Cliente oPrn:CmSay(4.700, 11.93,"TELEFONE PESSOALXXXX") oPrn:CmSay(5.199, 1.3,"Nº Serial") oPrn:Box( 395.5, 95.4, 440.1, 360.10) // retangulo do SERIAL oPrn:CmSay(5.700, 1.4,"99999999999999999999X") oPrn:CmSay(5.199, 5.21,"Nº MSN ") oPrn:Box( 395.5, 370.4, 440.1, 595.10) // retangulo do MSN oPrn:CmSay(5.700, 5.30,"1111111111111111111X") oPrn:CmSay(5.199, 8.52,"Nº ESN ") oPrn:Box( 395.5, 605.4, 440.1, 830.10) // retangulo do ESN oPrn:CmSay(5.700, 8.61,"2222222222222222222X") oPrn:CmSay(6.599, 1.3,"Dados do Cliente") oPrn:Box( 495.4, 95.4, 740.1, 1400.10) // retangulo dados do cliente oPrn:CmSay(07.00, 1.4, "Nome : MARIA SALLES CAMPOSXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX") oPrn:CmSay(07.40, 1.4, "Endereço : RUA DA AJUDA 35, GR 2809XXXXXXXXXXXXXXXXXXXXXXXXX") oPrn:CmSay(07.80, 1.4, "CEP : 20.031-201 ") oPrn:CmSay(08.20, 1.4, "P.Referencia: AO LADO DO BANCO DO BRASIL" ) oPrn:CmSay(08.60, 1.4, "Bairro : CENTROXXXXXXXXXXXXXXXXXXX Cidade: RIO DE JANEIROXXXXXXXXXX UF: RJ") oPrn:CmSay(09.08, 1.4, "Telefones : 021-22351-2727 Celular: 9721-2130") oPrn:CmSay(09.55, 1.4, "CIC : 000.000.000-00") oPrn:CmSay(09.95, 1.4, "e-mail : xxxx@xxxx.xxx.xx") * oPrn:Box( 395.5, 95.4, 440.1, 360.10) // retangulo do Serial ENDPAGE ENDPRINT oFont:End() MsgInfo( "Fim da impressão !", "Veja na sua impressora !" ) return nil Quote Link to comment Share on other sites More sharing options...
gilmer Posted July 22, 2002 Report Share Posted July 22, 2002 Olá, Todo este problema ocorre devido a resolução do matricial ser bem menor que uma joto de tinta ou lazer, para vc deve ter cido mais agravante pois vc utiliza o CmSay que utiliza a resolução para calcular em centimetros, nestes casos eu prefiro utilizar os métodos nVertRes() e nHorzRes() para poder calcular o tamanho do fonte que devo utilizar na impressora e o salto em pixel de linhas citação: Caro gilmer, Quando estou conectado a uma impressora MATRICIAL(EPSON LQ 1070 +) e executo o preview meu relatório é mostrado corretamente(Não é problema no windows95/98...) e imprime corretamente. Mas quando mudo para uma impressora gráfica(Epson,HP....) meu preview fica louco. Quando mando imprimir também imprime como esta no preview(totalmente errado). estou nexando o pedaço do fonte onde faço impressão para ver se voce pode me ajudar (é simples). Agradeço a atenção *********** FUNCTION IMP40(OB_BOTAO) LOCAL oPrn, oFont,oFont1, oIni, oPrinter,mRAZAO_SOC,mENDERECO,mBAIRRO,mCIDADE,mCEP,mUF,mINTERNET,mCORREIO,mTELEFONE,mTELEFONE_2,mFAX dbSelectArea("SCM021") SCM021->( dbSetOrder("SCM02101")) SCM021->( dbGotop() ) mRAZAO_SOC := SCM021->RAZAO_SOC mENDERECO := SCM021->ENDERECO mBAIRRO := SCM021->BAIRRO mCIDADE := SCM021->CIDADE mCEP := SCM021->CEP mUF := SCM021->UF mINTERNET := SCM021->INTERNET mCORREIO := SCM021->CORREIO mTELEFONE := SCM021->TELEFONE mTELEFONE_2 := SCM021->TELEFONE_2 mFAX := SCM021->FAX dbSelectArea("SCM010") SCM010->( dbSetOrder("SCM01001")) PRINTERsetup() PRINTER oPrn PREVIEW DEFINE FONT oFont NAME "Courier New" SIZE 0,-10 OF oPrn oPrn:SetFont(oFont) PAGE oPrn:Box( 4.4, 95.4, 210.1, 1400.10) // retangulo maior superior oPrn:Box( 4.4, 95.4, 210.1, 286.10) // quadrado do BMP oPrn:Box( 4.4, 1210.4, 210.1, 1400.10) // quadrado maior direito oPrn:CmSay(0.30, 4.09,mRAZAO_SOC) oPrn:CmSay(0.40, 17.15,+"Nº :"+TRAN(SCM010->NUMERO,"9999999999"),oFont1) oPrn:CmSay(0.70, 4.09,mENDERECO) oPrn:CmSay(0.90, 17.15,+"Emissão:"+DTOC(Date())) oPrn:CmSay(1.35, 17.15,+"Horário:"+SCM010->HORA_ABRE) oPrn:CmSay(1.75, 17.15,+"Local do Atendto.") oPrn:CmSay(2.20, 17.15,SCM010->ATENDER) oPrn:CmSay(1.15, 4.09,mCEP+" "+mBAIRRO) oPrn:CmSay(1.55, 4.09,mCIDADE+" "+mUF) oPrn:CmSay(2.02, 4.09,mTELEFONE+" "+mTELEFONE_2+" "+mFAX ) oPrn:CmSay(2.40, 4.09,mINTERNET+" "+mCORREIO) ******// FIM DO CABECALHO oPrn:CmSay(3.200, 1.3,"Tipo do atendimento") oPrn:Box( 300.5, 95.4, 255.1, 360.10) // retangulo do t.atendimento oPrn:CmSay(3.700, 1.4,SCM010->DESCRICAO) oPrn:CmSay(3.200, 5.21,"Repor peças") oPrn:Box( 300.5, 370.4, 255.1, 535.10) // retangulo do repor pecas oPrn:CmSay(3.700, 5.30,"NÃO DETERMINADO") oPrn:CmSay(3.200, 7.68,"Repor BCK") oPrn:Box( 300.5, 545.4, 255.1, 635.10) // retangulo do repor backup oPrn:CmSay(3.700, 7.78,"NÃO") oPrn:CmSay(3.200, 9.10,"Atender em") oPrn:Box( 300.5, 645.4, 255.1, 750.10) // retangulo do prazo oPrn:CmSay(3.700, 9.20,"até 08:00") oPrn:CmSay(3.200, 10.75,"N.Fiscal") oPrn:Box( 300.5, 760.4, 255.1, 865.10) // retangulo do n.fiscal oPrn:CmSay(3.700, 10.80,"999999999") oPrn:CmSay(3.200, 12.35,"Emissão") oPrn:Box( 300.5, 875.4, 255.1, 989.10) // retangulo da emissao da N.fiscal oPrn:CmSay(3.700, 12.45,"99/99/9999") oPrn:CmSay(3.200, 14.12,"Fabricado") oPrn:Box( 300.5, 1000.4, 255.1, 1115.10) // retangulo da emissao da N.fiscal oPrn:CmSay(3.700, 14.22,"99/99/9999") oPrn:CmSay(3.200, 15.95,"Operador Atendente") oPrn:Box( 300.5, 1128.4, 255.1, 1400.10) // retangulo do Operador Atendente oPrn:CmSay(3.700, 15.99,"JOSE CARLOS DA SILVAXXXXX") oPrn:CmSay(4.199, 1.3,"Produto a Atender") oPrn:Box( 327.5, 95.4, 369.1, 360.10) // retangulo do t.atendimento oPrn:CmSay(4.700, 1.4,"TELEFONE CELULARXXXXX") oPrn:CmSay(4.199, 5.21,"Modelo a Atender") oPrn:Box( 327.5, 370.4, 369.1, 595.10) // retangulo do Modelo oPrn:CmSay(4.700, 5.30,"SCH-811XXXXXXXXXXXXX") oPrn:CmSay(4.199, 8.52,"Fabricante a Atender") oPrn:Box( 327.5, 605.4, 369.1, 830.10) // retangulo do Fabricante oPrn:CmSay(4.700, 8.61,"SAMSUNGXXXXXXXXXXXXX") oPrn:CmSay(4.199, 11.83,"Identificacao no Cliente") oPrn:Box( 327.5, 840.4, 369.1, 1130.10) // retangulo do Ident.Cliente oPrn:CmSay(4.700, 11.93,"TELEFONE PESSOALXXXX") oPrn:CmSay(5.199, 1.3,"Nº Serial") oPrn:Box( 395.5, 95.4, 440.1, 360.10) // retangulo do SERIAL oPrn:CmSay(5.700, 1.4,"99999999999999999999X") oPrn:CmSay(5.199, 5.21,"Nº MSN ") oPrn:Box( 395.5, 370.4, 440.1, 595.10) // retangulo do MSN oPrn:CmSay(5.700, 5.30,"1111111111111111111X") oPrn:CmSay(5.199, 8.52,"Nº ESN ") oPrn:Box( 395.5, 605.4, 440.1, 830.10) // retangulo do ESN oPrn:CmSay(5.700, 8.61,"2222222222222222222X") oPrn:CmSay(6.599, 1.3,"Dados do Cliente") oPrn:Box( 495.4, 95.4, 740.1, 1400.10) // retangulo dados do cliente oPrn:CmSay(07.00, 1.4, "Nome : MARIA SALLES CAMPOSXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX") oPrn:CmSay(07.40, 1.4, "Endereço : RUA DA AJUDA 35, GR 2809XXXXXXXXXXXXXXXXXXXXXXXXX") oPrn:CmSay(07.80, 1.4, "CEP : 20.031-201 ") oPrn:CmSay(08.20, 1.4, "P.Referencia: AO LADO DO BANCO DO BRASIL" ) oPrn:CmSay(08.60, 1.4, "Bairro : CENTROXXXXXXXXXXXXXXXXXXX Cidade: RIO DE JANEIROXXXXXXXXXX UF: RJ") oPrn:CmSay(09.08, 1.4, "Telefones : 021-22351-2727 Celular: 9721-2130") oPrn:CmSay(09.55, 1.4, "CIC : 000.000.000-00") oPrn:CmSay(09.95, 1.4, "e-mail : xxxx@xxxx.xxx.xx") * oPrn:Box( 395.5, 95.4, 440.1, 360.10) // retangulo do Serial ENDPAGE ENDPRINT oFont:End() MsgInfo( "Fim da impressão !", "Veja na sua impressora !" ) return nil id=quote>id=quote> Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.