Clarion - Usar LinePrint para formularios contínuos

   
Vista:
Imágen de perfil de Fabián

Usar LinePrint para formularios contínuos

Publicado por Fabián (19 intervenciones) el 23/12/2015 12:21:18
Hola amigos de Clarion
Estoy programando en clarion8 con sitema operativo windows 7 de 64 bits un aplicativo para imprimir en formulario contínuos utilizando LinePrint y no puedo realizar avance de página o setear el tipo de letra, etc
paso un ejemplo si algo estoy programando mal :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
LOOP i# = 1 TO RECORDS(Imprimir_ReciboRango)
    GET(Imprimir_ReciboRango,i#) 
    LinePrint('<27,64>',,0)       !--Inicializo Impresora
    LinePrint('<27,67,36>',,0)   !--Longitud de la página
    LinePrint('','LPT1')
    LinePrint('','LPT1')
    LinePrint('','LPT1')
    LinePrint('','LPT1')
    LinePrint('|---------------------------------------------------------------------------------|','LPT1')
 
   LinePrint('|        Córdoba, '&Que_Imp_Rec2:Fecha_Guar&'                '&'Recibo
    Nro.,'&Que_Imp_Rec2:Nro_Rec&'|','LPT1')
 
  LinePrint('|---------------------------------------------------------------------------------|','LPT1')
 
LinePrint('<27,102,1,10>',,0)!--Avance de 10 líneas
 
End

Por favor si alguien me puede ayudar y necesito reralizar esto urgente !!!
Gracias y FELICIDADES PARA TODOS !!!!!!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
información
Otras secciones de LWP con contenido de Clarion
- Código fuente de Clarion
- Cursos de Clarion
información
Códigos de Clarion
- Llamar al form para insertar desde el menu
Imágen de perfil de ricardo

Usar LinePrint para formularios contínuos

Publicado por ricardo (186 intervenciones) el 23/12/2015 14:56:34
Hola me parece que PRINTDRV es mejor
te paso un ejemplo


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
clear(TkCmov:record)
TkCmov:IntMCabMov = l:interno
access:TKCabMov.fetch(TkCmov:PorInterno)
! cabecera
!
 INI# = PRINTDRV::Initialise()  !............................ Inicializo drive impresion
  PRINTDRV::WriteText('<27,14>')
  PRINTDRV::WriteText('---------------------------------------')
  PRINTDRV::WriteText('|      E S T I L O  G O U R M E T     |')
  PRINTDRV::WriteText('---------------------------------------')
  PRINTDRV::WriteText('<27,18>')
  PRINTDRV::WriteText(' Fecha:' & FORMAT(today(),@D6))
  PRINTDRV::WriteText(' Hora: ' & FORMAT(CLOCK(),@t1))
  PRINTDRV::WriteText( ' T-' & format(TkCmov:Prefijo,@n04)&'-'&format(TkCmov:Numero,@n08))
  PRINTDRV::WriteText(' Documento No Fiscal')
  PRINTDRV::WriteText('<27,15>')
!
PRINTDRV::WriteText('<27,10>')
clear(TkDmov:Record)
TkDmov:IntMCabMov = TkCmov:IntMCabMov
set(TkDmov:PorMCabMov,TkDmov:PorMCabMov)
loop until access:TKDetMov.next()
   if TkDmov:IntMCabMov <> TkCmov:IntMCabMov then break.
   !
   clear(Art:record)
   Art:IntArticulo = TkDmov:Articulo
   access:Articulos.fetch(Art:PorInterno)
   l:Articulo = clip(Art:Nombre)
    !
    ! impresion
   l:RENGLON =  l:Articulo & '' & format(TkDmov:Cantidad,@n_8.3) & format(TkDmov:Precio,@n8.3) & format(TkDmov:Total,@n9`2)
   PRINTDRV::WriteText(clip(l:RENGLON))
   !
end!loop
 PRINTDRV::WriteText('----------------------------------------')
 l:RENGLON =  'Total...                      '&format(TkCmov:Total,@n10.2)
 PRINTDRV::WriteText(l:RENGLON)
 PRINTDRV::WriteText('----------------------------------------')
clear(CCBco:record)
CCBco:InternoComprobante = TkCmov:IntMCabMov
CCBco:TipoComprobante    = TkCmov:Comprobante
set(CCBco:PorComprobante,CCBco:PorComprobante)
loop until access:MovCtaBco.next()
   if CCBco:InternoComprobante <> TkCmov:IntMCabMov  then break.
   if CCBco:TipoComprobante  <> TkCmov:Comprobante then break.
   !
   clear(CBcos:record)
   CBcos:IntCtaBcos  = CCBco:IntCtaBcos
   access:CtasBcos.fetch(CBcos:PorInterno)
   !
   PRINTDRV::WriteText('Forma de Pago :'&clip(CBcos:Nombre))
end!loop
PRINTDRV::WriteText('---------------------------------------')
loop 10 times
PRINTDRV::WriteText(' ')
end!loop
!
 
  !
  PRINTDRV::Finalise() !............... cierro el drive de impresion
  !
!INI# = PRINTDRV::Initialise() !..... Inicializo drive impresión
!PRINTDRV::WriteText('<27,14>') !..... texto de ancho doble
!PRINTDRV::WriteText('Título')
!PRINTDRV::WriteText('<27,18>') !..... texto normal
!PRINTDRV::WriteText('Texto de Prueba')
!PRINTDRV::WriteText('<27,15>') !..... texto chico
!PRINTDRV::WriteText('Texto chiquito')
!PRINTDRV::ResetPrinter() !Resetea la impresora
!PRINTDRV::ModoDraft() !Pasa la impresora a modo Draft. Los códigos anteriores, con modo Draft
!!activado, se verían un poco más anchos, por ejemplo el 14 se vería punteado.
!PRINTDRV::ModoNLQ() !Pasa la impresora a modo NLQ
!PRINTDRV::Finalise() !..... Cierro el drive de impresión
!!Otros tamaños de textos son: '<27>!<x>', con x siendo un entero para activar el modo 1, 2, 3, .... 40, 41.......
!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Fabián

Usar LinePrint para formularios contínuos

Publicado por Fabián (19 intervenciones) el 30/12/2015 13:07:41
Me podes pasar un link que funciona para bajar el template? se me hace imposible conseguirlo o si hay alguna forma realizarlo con Report

Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de ricardo

Usar LinePrint para formularios contínuos

Publicado por ricardo (186 intervenciones) el 30/12/2015 13:28:00
Hola ahi va
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Fabián

Usar LinePrint para formularios contínuos

Publicado por Fabián (19 intervenciones) el 04/01/2016 13:43:05
Gracias !!!!!!!!!!! me pongo a programar y te cuento. Otra vez Gracias !!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Fabián

Usar LinePrint para formularios contínuos

Publicado por Fabián (19 intervenciones) el 06/01/2016 17:04:16
Hola Ricardo estoy probando esta función que me pasaste pero nooooo logro ajustar los saltos de páginas y el código es el siguiente:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
LOOP i# = 1 TO RECORDS(Imprimir_ReciboRango)
    GET(Imprimir_ReciboRango,i#)  
 
PRINTDRV::Initialise()
  PRINTDRV::WriteText('<27,14>')
  PRINTDRV::ModoDraft()
  PRINTDRV::WriteText('---------------------------------------')
  PRINTDRV::WriteText('|              RECIBOS                |')
  PRINTDRV::WriteText('---------------------------------------')
  PRINTDRV::WriteText('<27,14>')
  PRINTDRV::WriteText(' Fecha:' & FORMAT(today(),@D6))
  PRINTDRV::WriteText(' Hora: ' & FORMAT(CLOCK(),@t1))
  PRINTDRV::WriteText(' Documento No Fiscal')
 
 
    LOOP 30 TIMES
         PRINTDRV::WriteText('')
    END
    PRINTDRV::Finalise()
END

En cada salto me acumula una o dos líneas ¿Cómo lo controlo con esta función??
Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar