Xharbour @prow + matricial

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

volp
Usuário Nível 1
Usuário Nível 1
Mensagens: 7
Registrado em: 27 Mar 2014 12:27
Localização: São Paulo

Xharbour @prow + matricial

Mensagem por volp »

Pessoal, to tentando imprimir uma etiqueta em uma impressora matricial mas apos imprimir 1 etiqueta ele joga toda a folha pra cima, como se houvesse vários enters e no final não imprime nada.

Alguém pode me dar um auxilio ?

Grato.

Código: Selecionar todos

case xEtqCli="3" 	// Etiqueta Pequena
		for i:=1 to xQte
			@ prow()+0,0 say CLIENTE->RAZAO
			@ prow()+1,0 say "Sr(a) "+xCnt
			@ prow()+1,0 say xEnd
			@ prow()+1,0 say xBai
			@ prow()+1,0 say xCep+"  "+allTrim(xCid)+" "+xUf
			@ prow()+1,0 say alltrim(tb_Vet(v_Envio,xEnvio))
			@ prow()+1,0 say " "
		next
	endCase
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7929
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

Xharbour @prow + matricial

Mensagem por Itamar M. Lins Jr. »

Acredito que tem um "eject"
Jogue sua impressão para um arquivo texto, antes de mandar imprimir e verifique o que está saindo errado.

Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Kapiaba
Colaborador
Colaborador
Mensagens: 1908
Registrado em: 07 Dez 2012 16:14
Localização: São Paulo
Contato:

Xharbour @prow + matricial

Mensagem por Kapiaba »

Código: Selecionar todos

/*
* ETIQ_SOCIO.PRG
*ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
*º°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°º
*º°°ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»°°º
*º°°º PLANO DE TRABALHO  : CADASTRO DE CLIENTES        MASTER: FOLHA.EXE   º°°º
*º°°º PROGRAMA           : ETIQ_SOCIO.PRG                                  º°°º
*º°°º FUNCAO             : IMPRIMIR ETIQUETAS PARA SOCIO DO CLUBE          º°°º
*º°°º PROGRAMADOR        : JOAO SANTOS                                     º°°º
*º°°º CLIENTE DESTINO    : DIVERSOS                                        º°°º
*º°°º DATA               : 15/02/95 - LOCAL:                               º°°º
*º°°º ULTIMA ATUALIZA‡„O :              POR:                               º°°º
*º°°ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ°°º
*º°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°º
*ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
*/
FUNCTION ETIQ_SOC()

FIELD RAZ_MATRIC, DEST_NOME
     
LOCAL LS2:=REPL("ÉÍÍÍÍÍÍÍÍÍ»",1)
LOCAL LS3:=REPL("ºETIQUETASº",1)
LOCAL LS4:=REPL("ÈÍÍÍÍÍÍÍÍͼ",1)

LOCAL CHR, VALIDADE, SIM_DEPEND, SIM, LINHA, DEPEND1, DEPEND2, DEPEND3, DEPEND4
LOCAL DEPEND5, DEPEND6, DEPEND7, DEPEND8, DEPEND9, DEPEND10, DEPEND11, DEPEND12
LOCAL DEPEND13, DEPEND14, DEPEND15, DEPEND16, DEPEND17, DEPEND18, DEPEND19
LOCAL DEPEND20

MEMVAR LCOD, LCOD2, GETLIST

CLEAR

@ 05,01 CLEAR TO 01,79

SET COLOR TO
SET COLOR TO B

SET COLOR TO N/W
@ 01,00 SAY SPACE(12)+"º"+SPACE(12)+"º"+SPACE(28)+"º"+SPACE(11)+"º"+SPACE(11)
HORA() // CHAMA A HORA DO SISTEMA
SET COLOR TO

SINAL ( "CADASTRO:","CLIENTES" )

TOPO_TELA() // CHAMA MENSAGENS DA TELA.

SET COLOR TO /G
@ 03,30 SAY "IMPRESSŽO DAS ETIQUETAS-SOCIOS"
SET COLOR TO

USE CADETIQ INDEX CADETIQ ALIAS ACADETIQ

LCOD:=SPACE(05)
LCOD2:=SPACE(05)

DO WHILE INKEY() # 27

    SET DEVICE TO SCREEN

    @ 04,65 SAY LS2
    @ 05,65 SAY LS3
    @ 06,65 SAY LS4
    @ 04,65 SAY CHR(203)
    @ 04,75 SAY CHR(203)

    SET COLOR TO W+/R
    @ 05,03 say "Aten‡„o: Coloque o Formulario de ETIQUETAS, No Inicio "
    @ 06,03 say "         da R‚gua da Impressora(N£mero um da R‚gua.)"
    @ 07,03 say "         Fa‡a Um Teste Antes de Imprimir Todas..."
    SET COLOR TO

    LCOD=SPACE(05)
    LCOD2=SPACE(05)

    @ 11,15 SAY SPACE(50)
    SET COLOR TO /G
    @ 11,20 say "Digite CONTRATO Inicial..:=> " get lcod pict "@k 99999" valid !empty(lcod)
    @ 13,20 say "Digite CONTRATO F i n a l:=> " get lcod2 pict "@k 99999" valid !empty(lcod2).and.lcod<=lcod2.or.lastkey()=5
    SET COLOR TO
    READ

    IF (LASTKEY() == 27)
        CLEAR
        DBCLOSEALL()
        RETURN NIL
    ENDIF

    SEEK STRZERO(VAL(LCOD),5,0)
    IF EOF()
        @ 23,20 SAY SPACE(42)
        BEEP()
        SET COLOR TO W+/R
        @ 23,25 say "Desculpe, Registro Inexistente..."
        SET COLOR TO
        INKEY(4)
        @ 23,22 SAY SPACE(42)
        LOOP
    ENDIF

    IF LCOD=[00].OR.LCOD=[000].OR.LCOD=[0000].OR.LCOD=[00000].OR.LCOD=[000000]
        @ 23,20 SAY SPACE(42)
        BEEP()
        SET COLOR TO W+/R
        @ 23,25 say "Desculpe, Voce N„o Pode Pedir Zeros..."
        SET COLOR TO
        INKEY(4)
        @ 23,22 SAY SPACE(42)
        LOOP
    ENDIF

    VALIDADE='          '
    SET COLOR TO /G
    @ 15,20 say "Digite VALIDADE:=> " get validade pict "@k !!!!!!!!!!" valid !empty(validade)
    READ

    IF (LASTKEY() == 27)
        CLEAR
        DBCLOSEALL()
        RETURN NIL
    ENDIF
    
    SIM_DEPEND="N"
    BEEP()
    RODAPE2()
    SET COLOR TO /G
    @ 23,25 say "Posso Imprimir Dependentes? " get sim_depend pict "@!a" valid (upper(sim_depend)) $ [SN]
    SET COLOR TO
    READ

    IF (LASTKEY() == 27)
        CLEAR
        DBCLOSEALL()
        RETURN NIL
    ENDIF
    
    SIM="S"
    BEEP()
    RODAPE2()
    SET COLOR TO W+/R
    @ 23,25 say "Posso Come‡ar a Imprimir ? " get sim pict "@!a" valid (upper(sim)) $ [SN]
    SET COLOR TO
    READ

    IF (LASTKEY() == 27)
        CLEAR
        DBCLOSEALL()
        RETURN NIL
    ENDIF

    IF UPPER(SIM) # "S"
        RODAPE2()
        LOOP
    ENDIF

    RODAPE2()
    AGUARDE()
    EXIT

ENDDO

SET DEVICE TO PRINTER
SET PRINTER ON
SET CONSOLE OFF
LINHA=PROW()

@ LINHA,00 SAY " "+CHR(15)+CHR(27)+"G"+CHR(27)

DO WHILE INKEY() # 27 .AND. RAZ_MATRIC >= LCOD .AND. RAZ_MATRIC <= LCOD2.AND.!EOF()

    IF EOF()
        EXIT
    ENDIF

    IF !EOF()

        @ LINHA,01 SAY "SOCIO VIP N§: " + RAZ_MATRIC
        @ LINHA,35 SAY "VAL:"
        @ LINHA,41 SAY VALIDADE
        LINHA=LINHA+2
        @ LINHA,00 SAY "NOME: " + DEST_NOME
        LINHA=LINHA+4

        IF SIM_DEPEND="S"

            IF !EMPTY(DEPEND1)

                @ LINHA,01 SAY "SOCIO VIP N§: " + RAZ_MATRIC
                @ LINHA,35 SAY "VAL:"
                @ LINHA,41 SAY VALIDADE
                LINHA=LINHA+2
                @ LINHA,01 SAY "NOME: " + DEPEND1
                LINHA=LINHA+4

            ENDIF

            IF !EMPTY(DEPEND2)

                @ LINHA,01 SAY "SOCIO VIP N§: " + RAZ_MATRIC
                @ LINHA,35 SAY "VAL:"
                @ LINHA,41 SAY VALIDADE
                LINHA=LINHA+2
                @ LINHA,01 SAY "NOME: " + DEPEND2
                LINHA=LINHA+4

            ENDIF
            
            IF !EMPTY(DEPEND3)
                
                @ LINHA,01 SAY "SOCIO VIP N§: " + RAZ_MATRIC
                @ LINHA,35 SAY "VAL:"
                @ LINHA,41 SAY VALIDADE
                LINHA=LINHA+2
                @ LINHA,01 SAY "NOME: " + DEPEND3
                LINHA=LINHA+4
                
            ENDIF
            
            IF !EMPTY(DEPEND4)
                
                @ LINHA,01 SAY "SOCIO VIP N§: " + RAZ_MATRIC
                @ LINHA,35 SAY "VAL:"
                @ LINHA,41 SAY VALIDADE
                LINHA=LINHA+2
                @ LINHA,01 SAY "NOME: " + DEPEND4
                LINHA=LINHA+4
                
            ENDIF
            
            IF !EMPTY(DEPEND5)
                
                @ LINHA,01 SAY "SOCIO VIP N§: " + RAZ_MATRIC
                @ LINHA,35 SAY "VAL:"
                @ LINHA,41 SAY VALIDADE
                LINHA=LINHA+2
                @ LINHA,01 SAY "NOME: " + DEPEND5
                LINHA=LINHA+4
                
            ENDIF
            
            IF !EMPTY(DEPEND6)
                
                @ LINHA,01 SAY "SOCIO VIP N§: " + RAZ_MATRIC
                @ LINHA,35 SAY "VAL:"
                @ LINHA,41 SAY VALIDADE
                LINHA=LINHA+2
                @ LINHA,01 SAY "NOME: " + DEPEND6
                LINHA=LINHA+4
                
            ENDIF
            
            IF !EMPTY(DEPEND7)
                
                @ LINHA,01 SAY "SOCIO VIP N§: " + RAZ_MATRIC
                @ LINHA,35 SAY "VAL:"
                @ LINHA,41 SAY VALIDADE
                LINHA=LINHA+2
                @ LINHA,01 SAY "NOME: " + DEPEND7
                LINHA=LINHA+4
                
            ENDIF
            
            IF !EMPTY(DEPEND8)
                
                @ LINHA,01 SAY "SOCIO VIP N§: " + RAZ_MATRIC
                @ LINHA,35 SAY "VAL:"
                @ LINHA,41 SAY VALIDADE
                LINHA=LINHA+2
                @ LINHA,01 SAY "NOME: " + DEPEND8
                LINHA=LINHA+4
                
            ENDIF
            
            IF !EMPTY(DEPEND9)
                
                @ LINHA,01 SAY "SOCIO VIP N§: " + RAZ_MATRIC
                @ LINHA,35 SAY "VAL:"
                @ LINHA,41 SAY VALIDADE
                LINHA=LINHA+2
                @ LINHA,01 SAY "NOME: " + DEPEND9
                LINHA=LINHA+4
                
            ENDIF
            
            IF !EMPTY(DEPEND10)

                @ LINHA,01 SAY "SOCIO VIP N§: " + RAZ_MATRIC
                @ LINHA,35 SAY "VAL:"
                @ LINHA,41 SAY VALIDADE
                LINHA=LINHA+2
                @ LINHA,01 SAY "NOME: " + DEPEND10
                LINHA=LINHA+4
                
            ENDIF
            
            IF !EMPTY(DEPEND11)
                
                @ LINHA,01 SAY "SOCIO VIP N§: " + RAZ_MATRIC
                @ LINHA,35 SAY "VAL:"
                @ LINHA,41 SAY VALIDADE
                LINHA=LINHA+2
                @ LINHA,01 SAY "NOME: " + DEPEND11
                LINHA=LINHA+4
                
            ENDIF

            IF !EMPTY(DEPEND12)
                
                @ LINHA,01 SAY "SOCIO VIP N§: " + RAZ_MATRIC
                @ LINHA,35 SAY "VAL:"
                @ LINHA,41 SAY VALIDADE
                LINHA=LINHA+2
                @ LINHA,01 SAY "NOME: " + DEPEND12
                LINHA=LINHA+4
                
            ENDIF
            
            IF !EMPTY(DEPEND13)
                
                @ LINHA,01 SAY "SOCIO VIP N§: " + RAZ_MATRIC
                @ LINHA,35 SAY "VAL:"
                @ LINHA,41 SAY VALIDADE
                LINHA=LINHA+2
                @ LINHA,01 SAY "NOME: " + DEPEND13
                LINHA=LINHA+4

            ENDIF
            
            IF !EMPTY(DEPEND14)
                
                @ LINHA,01 SAY "SOCIO VIP N§: " + RAZ_MATRIC
                @ LINHA,35 SAY "VAL:"
                @ LINHA,41 SAY VALIDADE
                LINHA=LINHA+2
                @ LINHA,01 SAY "NOME: " + DEPEND14
                LINHA=LINHA+4
                
            ENDIF
            
            IF !EMPTY(DEPEND15)
                
                @ LINHA,01 SAY "SOCIO VIP N§: " + RAZ_MATRIC
                @ LINHA,35 SAY "VAL:"
                @ LINHA,41 SAY VALIDADE
                LINHA=LINHA+2
                @ LINHA,01 SAY "NOME: " + DEPEND15
                LINHA=LINHA+4
                
            ENDIF
            
            IF !EMPTY(DEPEND16)
                
                @ LINHA,01 SAY "SOCIO VIP N§: " + RAZ_MATRIC
                @ LINHA,35 SAY "VAL:"
                @ LINHA,41 SAY VALIDADE
                LINHA=LINHA+2
                @ LINHA,01 SAY "NOME: " + DEPEND16
                LINHA=LINHA+4
                
            ENDIF
            
            IF !EMPTY(DEPEND17)
                
                @ LINHA,01 SAY "SOCIO VIP N§: " + RAZ_MATRIC
                @ LINHA,35 SAY "VAL:"
                @ LINHA,41 SAY VALIDADE
                LINHA=LINHA+2
                @ LINHA,01 SAY "NOME: " + DEPEND17
                LINHA=LINHA+4
                
            ENDIF
            
            IF !EMPTY(DEPEND18)
                
                @ LINHA,01 SAY "SOCIO VIP N§: " + RAZ_MATRIC
                @ LINHA,35 SAY "VAL:"
                @ LINHA,41 SAY VALIDADE
                LINHA=LINHA+2
                @ LINHA,01 SAY "NOME: " + DEPEND18
                LINHA=LINHA+4
                
            ENDIF
            
            IF !EMPTY(DEPEND19)
                
                @ LINHA,01 SAY "SOCIO VIP N§: " + RAZ_MATRIC
                @ LINHA,35 SAY "VAL:"
                @ LINHA,41 SAY VALIDADE
                LINHA=LINHA+2
                @ LINHA,01 SAY "NOME: " + DEPEND19
                LINHA=LINHA+4
                
            ENDIF
            
            IF !EMPTY(DEPEND20)
                
                @ LINHA,01 SAY "SOCIO VIP N§: " + RAZ_MATRIC
                @ LINHA,35 SAY "VAL:"
                @ LINHA,41 SAY VALIDADE
                LINHA=LINHA+2
                @ LINHA,01 SAY "NOME: " + DEPEND20
                LINHA=LINHA+4
                
            ENDIF
            
        ENDIF
        
        DBSKIP()
        
    ENDIF
    
ENDDO

@ LINHA,00 SAY " "+CHR(18)+CHR(27)+"2"+CHR(27)+"H"

SET PRINTER OFF
SET DEVICE TO SCREEN
DBCLOSEALL()
CLEAR
RETURN NIL
// FIM DO PROGRAMA
volp
Usuário Nível 1
Usuário Nível 1
Mensagens: 7
Registrado em: 27 Mar 2014 12:27
Localização: São Paulo

Xharbour @prow + matricial

Mensagem por volp »

Então, gerei o arquivo e e ele aparentemente saiu normal !


para confirmar coloquei um "-" ao final pra saber qual era a ultima linha e não tem nenhum espaço entre a ultima linha e o fim do arquivo ( na qual coloquei o "-").

Já não tenho mais ideias kk
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7929
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

Xharbour @prow + matricial

Mensagem por Itamar M. Lins Jr. »

A impressora ejeta a folha assim mesmo é normal no windows.
Se for lx300(matricial) ou papel A4 vai ejetar automaticamente.

setprc(0,0) ai ?
O forum é seu amigo!

https://pctoledo.org/forum/viewto ... 45&t=12026

Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Responder