Jump to content
Fivewin Brasil

Salto na Impressora Matricial c/ tDosPrn


gibaf

Recommended Posts

Ola, a todos !

Estou usando impressora nao fiscal matricial, e imprimindo com a classe TDosPrn. Mas qdo faz a impressao da ultima linha, avanca muitas linhas. Como fazer pra resolver isso ?

Pra parar na ultima linha+1 impresso ?

Desde ja agradeco: MUITO OBRIGADO !!!

Gilberto Frohlich - Toledo/PR

giba_f@hotmail.com

giba_f@yahoo.com.br

xHarbour Comercial xBuild Mar_06+Fivewin 2.7+PellesC+(Postgres+DB2)

Link to comment
Share on other sites

Ola, a todos !

Estou usando impressora nao fiscal matricial, e imprimindo com a classe TDosPrn. Mas qdo faz a impressao da ultima linha, avanca muitas linhas. Como fazer pra resolver isso ?

Pra parar na ultima linha+1 impresso ?

Desde ja agradeco: MUITO OBRIGADO !!!

Gilberto Frohlich - Toledo/PR

giba_f@hotmail.com

giba_f@yahoo.com.br

xHarbour Comercial xBuild Mar_06+Fivewin 2.7+PellesC+(Postgres+DB2)

Link to comment
Share on other sites


oPrn:= TDosPrn():New( "CUPOM.TXT" ) // para ir para um arquivo .txt

oPrn:StartPage()

oPrn:lZeraBuffer := .T. // Inibe o Pulo da Pagina

//-> Inicia a Impressao - Cabe‡alho do Cupom

//-> Modo Draft

@ nLinha, 00 SAY +CHR(18)+CHR(27)+"2"+CHR(27)+"H" OF oPrn

@ nLinha, 00 SAY ALLTRIM( XNOMEEMP ) OF oPrn

nLinha := nLinha + 1

@ nLinha, 00 SAY CHR(15)+REPLICATE("-",40) OF oPrn

nLinha := nLinha + 1

//-> Modo Condensado

@ nLinha, 00 SAY CHR(15)+"HORA: " + TIME() OF oPrn

nLinha := nLinha + 1

@ nLinha, 00 SAY "DATA..: " + DTOC(DATE()) OF oPrn

nLinha := nLinha + 1

@ nLinha, 00 SAY OemToAnsi("PEDIDO N§: " ) + ;

ALLTRIM(STRZERO( XNUMPEDIDO ) ) OF oPrn

nLinha := nLinha + 1

@ nLinha, 00 SAY "FONE..: " + nNumeroTel OF oPrn

nLinha := nLinha + 1

@ nLinha, 00 SAY SUBSTR( cNomeClien, 1, 40 ) OF oPrn

nLinha := nLinha + 1

@ nLinha, 00 SAY SUBSTR( cEndClien, 1, 40 ) OF oPrn

nLinha := nLinha + 1

@ nLinha, 00 SAY REPLICATE("-",40) OF oPrn

nLinha := nLinha + 1

@ nLinha, 00 SAY "Cod Qtde Descricao Unit VALOR" OF oPrn

nLinha := nLinha + 1

@ nLinha, 00 SAY REPLICATE("-",40) OF oPrn

nLinha := nLinha + 1

//-> Imprime o Pedido

WHILE !EOF()

SYSREFRESH()

IF EOF()

EXIT

ENDIF

@ nLinha, 00 SAY ( DbPedidos:cAlias )->CODIGO OF oPrn

nLinha := nLinha + 1

@ nLinha, 00 SAY ( ALLTRIM( STR( QTD_VENDEU ) ) ) +[ - ]+ ;

( SUBSTR( DESCRICAO, 01, 17 ) ) OF oPrn

nLinha := nLinha + 1

@ nLinha, 00 SAY ( SUBSTR( DESCRICAO, 18, 35 ) ) + ;

TRANSFORM( VLUNITARIO, "@E 99,999.99" ) + ;

TRANSFORM( TOTITEM, "@E 999,999.99" ) OF oPrn

nLinha := nLinha + 1

DBSKIP()

ENDDO

//-> Restante do rodape - nao posso postar...

//-> Pulos do Cupom

FOR PULA = 1 TO 7

@ nLinha, 00 SAY " " OF oPrn

nLinha := nLinha + 1

NEXT PULA

//-> Modo Draft

@ nLinha, 00 SAY +CHR(18)+CHR(27)+"2"+CHR(27)+"H" OF oPrn

oPrn:EndPage()

oPrn:End()

//--- imprime no spool do windows, liberando o micro para trabalhar.

ImpSpool( "CUPOM.TXT",, .T. )

//--- opcionamente pode-se apagar o arquivo passando .t. no 3o. parametro.

id=code>id=code>

João Santos - São Paulo.

kmt_karinha@pop.com.br

kapiaba@brfree.com.br

Fone: (11) 3106-2832

FWH 2.7 - xHARBOUR 0.99.61 - WorkShop.Exe

Link to comment
Share on other sites

citação:

tdosprn nativa do fivewin faz isso

METHOD End( lReset, lEject )

ex: oPrn:End(.f., .f.)

Johnson

Fwh-2.5 xHarbour 0.99.3 - VeRCEv4


id=quote>id=quote>

Lembrete: A TDOSPrn não esta incluída nas .LIBs do Fivewin. Trata-se de uma contribuição de um colega nosso.

Abraços.

Link to comment
Share on other sites

  • 5 months later...

citação:


oPrn:= TDosPrn():New( "CUPOM.TXT" ) // para ir para um arquivo .txt

oPrn:StartPage()

oPrn:lZeraBuffer := .T. // Inibe o Pulo da Pagina

//-> Inicia a Impressao - Cabe‡alho do Cupom

//-> Modo Draft

@ nLinha, 00 SAY +CHR(18)+CHR(27)+"2"+CHR(27)+"H" OF oPrn

@ nLinha, 00 SAY ALLTRIM( XNOMEEMP ) OF oPrn

nLinha := nLinha + 1

@ nLinha, 00 SAY CHR(15)+REPLICATE("-",40) OF oPrn

nLinha := nLinha + 1

//-> Modo Condensado

@ nLinha, 00 SAY CHR(15)+"HORA: " + TIME() OF oPrn

nLinha := nLinha + 1

@ nLinha, 00 SAY "DATA..: " + DTOC(DATE()) OF oPrn

nLinha := nLinha + 1

@ nLinha, 00 SAY OemToAnsi("PEDIDO N§: " ) + ;

ALLTRIM(STRZERO( XNUMPEDIDO ) ) OF oPrn

nLinha := nLinha + 1

@ nLinha, 00 SAY "FONE..: " + nNumeroTel OF oPrn

nLinha := nLinha + 1

@ nLinha, 00 SAY SUBSTR( cNomeClien, 1, 40 ) OF oPrn

nLinha := nLinha + 1

@ nLinha, 00 SAY SUBSTR( cEndClien, 1, 40 ) OF oPrn

nLinha := nLinha + 1

@ nLinha, 00 SAY REPLICATE("-",40) OF oPrn

nLinha := nLinha + 1

@ nLinha, 00 SAY "Cod Qtde Descricao Unit VALOR" OF oPrn

nLinha := nLinha + 1

@ nLinha, 00 SAY REPLICATE("-",40) OF oPrn

nLinha := nLinha + 1

//-> Imprime o Pedido

WHILE !EOF()

SYSREFRESH()

IF EOF()

EXIT

ENDIF

@ nLinha, 00 SAY ( DbPedidos:cAlias )->CODIGO OF oPrn

nLinha := nLinha + 1

@ nLinha, 00 SAY ( ALLTRIM( STR( QTD_VENDEU ) ) ) +[ - ]+ ;

( SUBSTR( DESCRICAO, 01, 17 ) ) OF oPrn

nLinha := nLinha + 1

@ nLinha, 00 SAY ( SUBSTR( DESCRICAO, 18, 35 ) ) + ;

TRANSFORM( VLUNITARIO, "@E 99,999.99" ) + ;

TRANSFORM( TOTITEM, "@E 999,999.99" ) OF oPrn

nLinha := nLinha + 1

DBSKIP()

ENDDO

//-> Restante do rodape - nao posso postar...

//-> Pulos do Cupom

FOR PULA = 1 TO 7

@ nLinha, 00 SAY " " OF oPrn

nLinha := nLinha + 1

NEXT PULA

//-> Modo Draft

@ nLinha, 00 SAY +CHR(18)+CHR(27)+"2"+CHR(27)+"H" OF oPrn

oPrn:EndPage()

oPrn:End()

//--- imprime no spool do windows, liberando o micro para trabalhar.

ImpSpool( "CUPOM.TXT",, .T. )

//--- opcionamente pode-se apagar o arquivo passando .t. no 3o. parametro.

id=code>id=code>

João Santos - São Paulo.

kmt_karinha@pop.com.br

kapiaba@brfree.com.br

Fone: (11) 3106-2832

FWH 2.7 - xHARBOUR 0.99.61 - WorkShop.Exe


id=quote>id=quote>

Onde tem esta função ImpSpool(...) ?

Já que tentei usar não acha....]

Valew"!!!!!!!!!!!!

Em Cristo!!!!

Rone O. Coura

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

xHarbour + BCC55 + FiveWin + xDevStudio

Link to comment
Share on other sites

Podes se basear neste:

////////////////////////////////////////////////////////////////////////////////

// #toya:25/06/2008

////////////////////////////////////////////////////////////////////////////////

static function ImpSpool( cFileTxt, cPorta, lErase )

DEFAULT cPorta:=alltrim( PrnGetPort() ), lErase:= .t.

if !File( cFileTxt )

return .f.

endif

if len( cPorta ) <= 5 .and. left( upper( cPorta ), 4 )=='LPT1'

cPorta:='PRN'

WAITRUN( 'COMMAND.COM /C COPY /B '+cFileTxt+' '+cPorta, 0 )

else

WAITRUN( 'COMMAND.COM /C COPY /B '+cFileTxt+' '+cPorta, 0 )

endif

if lErase

ferase( cFileTxt )

endif

return .t.

toya

Ahora en la version 5.8

toyasis@yahoo.com.br

http://www.toyanet.com.br

FWH 8.03+PellesC+xHarbour.org 1.1.0

FW 2.4+WS 4.5+Blinker 7.0+Clipper 5.2E+Rpv

Linux 2.4.29 - Slack 10.1 - (No@Say)

Clippeiro por opção, Fivewiner por amor ao Clipper...

Link to comment
Share on other sites

citação:

Podes se basear neste:

////////////////////////////////////////////////////////////////////////////////

// #toya:25/06/2008

////////////////////////////////////////////////////////////////////////////////

static function ImpSpool( cFileTxt, cPorta, lErase )

DEFAULT cPorta:=alltrim( PrnGetPort() ), lErase:= .t.

if !File( cFileTxt )

return .f.

endif

if len( cPorta ) <= 5 .and. left( upper( cPorta ), 4 )=='LPT1'

cPorta:='PRN'

WAITRUN( 'COMMAND.COM /C COPY /B '+cFileTxt+' '+cPorta, 0 )

else

WAITRUN( 'COMMAND.COM /C COPY /B '+cFileTxt+' '+cPorta, 0 )

endif

if lErase

ferase( cFileTxt )

endif

return .t.

toya

Ahora en la version 5.8

toyasis@yahoo.com.br

http://www.toyanet.com.br

FWH 8.03+PellesC+xHarbour.org 1.1.0

FW 2.4+WS 4.5+Blinker 7.0+Clipper 5.2E+Rpv

Linux 2.4.29 - Slack 10.1 - (No@Say)

Clippeiro por opção, Fivewiner por amor ao Clipper...


id=quote>id=quote>

Valew Toya!!!!!!!!!!!!!!!!!!!!

Em Cristo!!!!

Rone O. Coura

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

xHarbour + BCC55 + FiveWin + xDevStudio

Link to comment
Share on other sites

Guest johnson

veja a possibiliadade de usar CMD.EXE em alguns versoes do windows(novas) jah tive problema com command.com

WAITRUN("CMD.EXE /C COPY /B " + .....

ou

WAITRUN("COMMAND.COM /C COPY /B " + ......

ou

// Descricao : Envia um arquivo texto para a Impressora padrao.(local ou rede)

PrintFileRaw(GetDefaultPrinter(), "File.txt")

tk90x.gif

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...