Jump to content
Fivewin Brasil

rotina de impressao na matricial


edutraini

Recommended Posts

É bem simples, eu mesmo não uso o tdosprn, uso o PRINTER mesmo, e da para imprimir em matricial normalmente usando fontes terminal do CLP do driver da impressora.

veja este exemplo

PRINTER oPrnEntrega NAME "Comprovante de Entrega de Títulos ao Requerente";

TO nPrn /////preview

oPrnEntrega:setpage(1)

oPrnEntrega:SetPortrait()

oPrnEntrega:draftmode(.t.)

nRcol:=oPrnEntrega:nlogpixelx()/2.537

nRlin:=oPrnEntrega:nlogpixely()/2.537

fimpagina:=oPrnEntrega:nvertres()-(1.8*nRlin)

IF ISWIN95()

DEFINE FONT oFntCond NAME "Roman 10cpi" SIZE 0,0 OF oPrnEntrega

DEFINE FONT oFnt1 NAME "Draft 10cpi" SIZE 0,0 Bold OF oPrnEntrega

DEFINE FONT oFnt2 NAME "Roman 6cpi" SIZE 0,0 BOLD OF oPrnEntrega

DEFINE FONT oFnt3 NAME "Roman 17cpi" SIZE 0,0 OF oPrnEntrega

DEFINE FONT oFnt4 NAME "Sans Serif 17cpi" SIZE 0,0 OF oPrnEntrega

DEFINE FONT oFnt5 NAME "Roman 10cpi" SIZE 0,0 BOLD OF oPrnEntrega

DEFINE FONT oFnt6 NAME "Draft 12cpi" SIZE 0,0 Bold OF oPrnEntrega

ELSE

DEFINE FONT oFntCond NAME "Roman 10cpi" SIZE 0,0 OF oPrnEntrega

DEFINE FONT oFnt1 NAME "Draft 10cpi" SIZE 0,0 Bold OF oPrnEntrega

DEFINE FONT oFnt2 NAME "Roman 6cpi" SIZE 0,0 OF oPrnEntrega

DEFINE FONT oFnt3 NAME "Draft 17cpi" SIZE 0,0 OF oPrnEntrega

DEFINE FONT oFnt4 NAME "Draft 17cpi" SIZE 0,0 OF oPrnEntrega

DEFINE FONT oFnt5 NAME "Roman 10cpi" SIZE 0,0 OF oPrnEntrega

DEFINE FONT oFnt6 NAME "Roman 12cpi" SIZE 0,0 OF oPrnEntrega

ENDIF

PAGE

oPrnEntrega:say(l_atual*nRlin,0.2*nRcol,;

"| "+STRZERO(PROTESTO->APONTA,8)+;

" | "+DTOC(PROTESTO->DAT_APONTA)+;

" | "+IF(PROTESTO->NTIPO_TIT > 0,;

(aEspecie[PROTESTO->NTIPO_TIT,9]),"")+;

" | "+VALOR(PROTESTO->VALOR,2,.T.,14," ",.T.)+;

" | "+PROTESTO->NUMERO+;

" | "+DTOC(PROTESTO->DT_EMISSAO)+;

" | "+cSolucao+;

" | "+cConclusao+"|",IF(lFntItalic,oFnt4,ofnt3))

oPrnEntrega:say(l_atual*nRlin,0.2*nRcol,;

REPLICATE("-",135),oFnt4)

l_atual+=.28

oPrnEntrega:say(l_atual*nRlin,0.2*nRcol,;

" | Protestados "+STRZERO(aSomaSolucao[2,1],3)+;

" - "+VALOR(aSomaSolucao[2,2],2,.T.,13," ",.T.)+;

" | Sustados "+STRZERO(aSomaSolucao[4,1],3)+;

" - "+VALOR(aSomaSolucao[4,2],2,.T.,13," ",.T.)+;

" | Irregulares "+STRZERO(aSomaSolucao[5,1],3)+;

" - "+VALOR(aSomaSolucao[5,2],2,.T.,13," ",.T.)+" |",;

oFnt3)

ENDPAGE

ENDPRINTER

*******************************************************

O nRLin e nRCol são para fazer a parte de Centimetros, já que tive problemas com o comando CMSAY

Giovany Vecchi - Jales - SP

FWH 2.6 /Clipper 5.3b /Blinker 5.0 / Harbour 0.45 / Bcc 5.6 / Ads 8.0 /PellesC

Link to comment
Share on other sites

Ola Giovany e qto ao tamanho da folha, já tentei usar a Tprinter para preechimento de formularios mas tive problemas com formularios especificos , isto é não padrao.

Atenilto Marinho

São Paulo - SP

(11)- 9502-1575

clip53+fwh2.7+xHarbourFW

atenilto@click21.com.br

Link to comment
Share on other sites

Olhe na tabela retirada de PRINTER.PRG do FW

#define DMPAPER_LETTER 1 // Letter 8 1/2 x 11 in

#define DMPAPER_LETTERSMALL 2 // Letter Small 8 1/2 x 11 in

#define DMPAPER_TABLOID 3 // Tabloid 11 x 17 in

#define DMPAPER_LEDGER 4 // Ledger 17 x 11 in

#define DMPAPER_LEGAL 5 // Legal 8 1/2 x 14 in

#define DMPAPER_STATEMENT 6 // Statement 5 1/2 x 8 1/2 in

#define DMPAPER_EXECUTIVE 7 // Executive 7 1/4 x 10 1/2 in

#define DMPAPER_A3 8 // A3 297 x 420 mm

#define DMPAPER_A4 9 // A4 210 x 297 mm

#define DMPAPER_A4SMALL 10 // A4 Small 210 x 297 mm

#define DMPAPER_A5 11 // A5 148 x 210 mm

#define DMPAPER_B4 12 // B4 250 x 354

#define DMPAPER_B5 13 // B5 182 x 257 mm

#define DMPAPER_FOLIO 14 // Folio 8 1/2 x 13 in

#define DMPAPER_QUARTO 15 // Quarto 215 x 275 mm

#define DMPAPER_10X14 16 // 10x14 in

#define DMPAPER_11X17 17 // 11x17 in

#define DMPAPER_NOTE 18 // Note 8 1/2 x 11 in

#define DMPAPER_ENV_9 19 // Envelope #9 3 7/8 x 8 7/8

#define DMPAPER_ENV_10 20 // Envelope #10 4 1/8 x 9 1/2

#define DMPAPER_ENV_11 21 // Envelope #11 4 1/2 x 10 3/8

#define DMPAPER_ENV_12 22 // Envelope #12 4 \276 x 11

#define DMPAPER_ENV_14 23 // Envelope #14 5 x 11 1/2

#define DMPAPER_CSHEET 24 // C size sheet

#define DMPAPER_DSHEET 25 // D size sheet

#define DMPAPER_ESHEET 26 // E size sheet

#define DMPAPER_ENV_DL 27 // Envelope DL 110 x 220mm

#define DMPAPER_ENV_C5 28 // Envelope C5 162 x 229 mm

#define DMPAPER_ENV_C3 29 // Envelope C3 324 x 458 mm

#define DMPAPER_ENV_C4 30 // Envelope C4 229 x 324 mm

#define DMPAPER_ENV_C6 31 // Envelope C6 114 x 162 mm

#define DMPAPER_ENV_C65 32 // Envelope C65 114 x 229 mm

#define DMPAPER_ENV_B4 33 // Envelope B4 250 x 353 mm

#define DMPAPER_ENV_B5 34 // Envelope B5 176 x 250 mm

#define DMPAPER_ENV_B6 35 // Envelope B6 176 x 125 mm

#define DMPAPER_ENV_ITALY 36 // Envelope 110 x 230 mm

#define DMPAPER_ENV_MONARCH 37 // Envelope Monarch 3.875 x 7.5 in

#define DMPAPER_ENV_PERSONAL 38 // 6 3/4 Envelope 3 5/8 x 6 1/2 in

#define DMPAPER_FANFOLD_US 39 // US Std Fanfold 14 7/8 x 11 in

#define DMPAPER_FANFOLD_STD_GERMAN 40 // German Std Fanfold 8 1/2 x 12 in

#define DMPAPER_FANFOLD_LGL_GERMAN 41 // German Legal Fanfold 8 1/2 x 13 in

este responde com o comando oPrn:SetPage()

Ex: oPrn:SetPage(1) ///Letter 8 1/2 x

Agora se a folha for especifica use oPrn:SetSize(nHorizontal,nVertical) em milimetros

Ex: oPrn:setSize(2150,542)/// exatamente meia folha do formulario continuo

Para quem quiser usar meia folha do formulario continuo use este exemplo

IF ISWIN95()

oPrnEti:setsize(2150,542)

ELSE

oPrnEti:setsize(2148,508)

ENDIF

Isto porque o Windows XP Salta um pouco pelo final da folha

Agora se voce tem outro tamanho, é so calcular.

Giovany Vecchi - Jales - SP

FWH 2.6 /Clipper 5.3b /Blinker 5.0 / Harbour 0.45 / Bcc 5.6 / Ads 8.0 /PellesC

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...