| |  |  | Miembros: Mensajes: Temas: Online: Ultimo Miembro: | | |  | | | 
| 
06-10-2005, 20:53:59
| | Buena Participación en el Foro | | Registrado: oct 2003 Ubicación: Talca Posts: 65
| | Imprimir al "LPT1" directo Hola yo de nuevo con este problema pero estoy avanzando.
La hoja de papel continuo de tamaño de media carta (14 cm).
Imprimo bien en la primera hoja pero al pasar a la segunda hoja no lo hace, saltándose a la tercera hoja.
Print #1, Chr(27) & "C" & 100; 'Largo Papel en líneas
Con este código salto a la segunda hoja pero no es perfecto.
Adjunto unos Comandos de la Impresora y el código que utilizo para imprimir.
¿Abra alguna manera de de definir el tamaño del papel?
El objeto Printer no me sirve ya que la impresión no es muy rápida, por ese motivo lo hago de esta manera.
Necesito Imprimir màs de 1000 en un solo dia.
Gusto del usuario ya que me dijo que el programa que utilizaban antes lo hacia bien.
La diferencia que el otro programa funciona bajo DOS.
Ojala me puedan ayudar :smt009 | 
06-10-2005, 21:12:14
|  | Gran Participación en el Foro | | Registrado: jun 2005 Posts: 173
| | Precisamente habia expuesto en un post de mi amigo JMovilla lo de tratar el tamanos de las hojas desde impresoras...
Pero nos encontramos o al menos yo de brazos cruzados... pues los reportadores que he usado me lo impiden pues trabajan con lo tamanos preestablecidos de los distintos modelos de impresion...
Pero la solucion ya la expusiste... Imprimir directamente al puerto y contras las cantidades de lineas que deseas imprimir y luego hacer un salto.... a otra paginas haciendo impresiones en blanco...
Apertura el puerto LPT1
Open "LPT1" for Output as #1
'Con Print #1, Imprime textos, variables, etc...
linea=linea+1
close #1
'*** TIPOS DE LETRAS IMPRESORA
'Print #1, Chr(18)
'print #1, Chr(14) 'GRANDE
'Print #1, Chr(27) & Chr(120) & Chr(0) 'Draft
'Print #1, Chr(27) & Chr(77) '12 CPI
'Print #1, Chr(27) & Chr(80) '10 CPI
'Print #1, Chr(27) & Chr(15) 'Comprimido
'Print #1, Chr(27) & Chr(18) 'Cancela COmprimido
'Print #1, Chr(27) & Chr(14) 'Ancho Double
'Print #1, Chr(27) & Chr(20) 'Cancela Ancho double
'Print #1, Chr(27) & Chr(69) 'Negrita
'Print #1, Chr(27) & Chr(70) 'Cancela negrita
Ademas te anexo caracteres que deberas colocar delante de la cadena para lograr imprimir de manera personalizada...
hasta ahora es como te puedo ayudar....
__________________
---- Wilfredo Polanco ----
República Dominicana, Santo Domingo, D.N.
| 
06-10-2005, 21:57:32
| | Buena Participación en el Foro | | Registrado: oct 2003 Ubicación: Talca Posts: 65
| | Imprimir directo "LPT1" Gracias por tu respuesta, pero me dices que realice algo así como esto.
Dim lineas as integer
Dim I as integer
Set TbAvisoPago = BDCompras.OpenRecordset("Select * From AvisoPago Order By Nboleta")
Do While Not TbAvisoPago.EOF
lineas = 0
Open "LPT1:" For Output As #1
Print #1, Chr(27) & Chr(48); 'Calidad de Impresion Utility
Print #1, Chr(30); 'Densidad de caracter 10 cpi
Print #1, Chr(27) & Chr(62); 'Velocidad impresion total
Print #1, Chr(27) & Chr(54); 'Espacio interlineal
Print #1, "NOMBRE EMPRESA"
Print #1, "Fono: "
Print #1, "Horario: "
Print #1, Spc(30); "F.Emision"; Spc(4); ": "
Print #1, Spc(30); "F.Lectura"; Spc(4); ": "
Print #1, Spc(30); "Ult.Pago Fue"; Spc(1); ": "
Print #1, Spc(30); "Documento"; Spc(4); ": "
Print #1, Spc(30); "Cancelo"; Spc(6); ": "
Print #1, "Rol: " & ""; Spc(8); "Esta.Medi.: " & ""; Spc(8); "Meses: " & ""
Print #1, "Periodo: "
Print #1, ""
Print #1, Spc(20); "-----------------"
Print #1, Spc(20); "- AVISO DE PAGO -"
Print #1, Spc(20); "-----------------"
Print #1, ""
Print #1, "Num.Aviso"; Spc(1); ": "
Print #1, "Nombre"; Spc(4); ": "
Print #1, "Rut"; Spc(7); ": "
Print #1, "Direccion"; Spc(1); ": "
Print #1, "Num.Med."; Spc(2); ": "
Print #1, ""
For I = 1 To FlexAportes.Rows - 1
Print #1, FlexAportes.TextMatrix(I, 0); Spc(25); "$ " & FlexAportes.TextMatrix(I, 1)
lineas = lineas + 1
Next I
'el flex no siempre tiene la misma cantidad de informacion por eso cuento las lineas del flex, todo lo demas es fijo.
'para que pase a la siguente hoja
if lineas = 12 then
for I = 0 to 7
Print #1, ""
next I
elseif lineas = 13 then
for I = 0 to 6
Print #1, ""
next I
end if
Close #1
TbAvisoPago.MoveNext
Loop
Si le encuentras algún detalle as me lo saber modificando el código por favor.
Estare muy agradecido. | 
07-10-2005, 15:13:30
|  | Administrator | | Registrado: dic 2002 Ubicación: BURGOS - ESPAÑA Posts: 5.404
| | Amigo Wilfredo:
Cuando vi ayer tu post, haciendo referencia a nuestra incapacidad para definir tamaños de papel distintos a los que Windos Xp te trae preestablecidos, me hiciste recordar que yo tenía una deuda con el Foro... Porque, gracias a Dios, un hijo mío que es un "fiera" de la informática, aunque nunca le dio por la programación... (y dicho entre nosotros, hace bien, porque no hay trabajo menos rentable económicamente...) me orientó hacia la solución, y ese problema ha quedado ya resuelto satisfactoriamente.
Como es un tema que considero de gran interés para cuantos puedan encontrarse con ese mismo atolladero, lo he publicado en un Video que presento en nuestro portal, en la sección de Teoría de Sistemas http://www.vb-mundo.com/verVideo.asp...sora.swf&Id=14. Comprobarás que, como algunos grandes inventos, es algo muy sencillo, que lo teníamos ahí a nuestro lado, y no éramos capaces de ver... | 
07-10-2005, 15:36:31
| | Un Nuevo Amigo | | Registrado: ene 2005 Ubicación: uruapan, michoacan Posts: 13
| | Re: Imprimir al "LPT1" directo Hay una manera que tambien puedes manejar es el printer.print, de esta manera, tambien puedes mandar directamete al puerto de la impresora
espero te sirva.....
__________________
"Hasta la victoria siempre..."
| 
07-10-2005, 15:38:04
|  | Gran Participación en el Foro | | Registrado: jun 2005 Posts: 173
| | Mi amigo JMovillia Disculpa, pero sabes que nunca dudaria de las incapacidades de los demas para la solucion de problemas... Me basta y me sobra saber que todos los miembros del staff mas la gran mayoria de los forianos pueden dar solucion a la mayor parte de los problemas....
Pero la ultima vez que escribi a tu post nos encontramos en el punto de esperar la solucion... a eso me referi de brazos cruzados, al menos yo... porque aun no tenia la solucion..
Y comente en el mismo post que tendria que hacer las impresiones directamente al puerto... y fue la solucion que le escribi a nuestro amigo...
Asi que nuevamente disculpa jmovillia si se pudo ver que me referia a una incapacidad suya o del foro... o quizas simplemente no use las palabras adecuadas...
Disculpen todos...
__________________
---- Wilfredo Polanco ----
República Dominicana, Santo Domingo, D.N.
| 
07-10-2005, 15:48:03
|  | Gran Participación en el Foro | | Registrado: jun 2005 Posts: 173
| | Primero mi amigo JMovilla... Estoy que me rio solo... ¿Porque siempre uno busca la solucion en lo complicado?... Magnifica tambien su exposicion sobre como realizarlo... :smt003
__________________
---- Wilfredo Polanco ----
República Dominicana, Santo Domingo, D.N.
| 
07-10-2005, 16:12:21
|  | Gran Participación en el Foro | | Registrado: jun 2005 Posts: 173
| | Dim Posicion as integer
posicion=0
Encabezado:
'Suponiendo que timbras cada hoja de impresion:
For I = posicion + 1 To FlexAportes.Rows - 1
Print #1, FlexAportes.TextMatrix(I, 0); Spc(25); "$ " & FlexAportes.TextMatrix(I, 1)
lineas = lineas + 1
' En esta parte es que deberas evaluar las cantidades de lineas porque lo otro que esta mas abajo... solo nos sirviria si el documento posees alguna nota al pie
'Si deseas que la siguiente pagina te imprima el encabezado... no podras inicializar desde 1 sino que pasas el valor que tenia hasta el momento i a una variable para que cuando vuelva a entrar al for continue uno mas adelante de donde se quedo...
Next I
Lo bueno de imprimir abriendo el puerto es que puedes imprimir en calidad de borrador o comprimido...
Suerte espero haberte ilustrado...
__________________
---- Wilfredo Polanco ----
República Dominicana, Santo Domingo, D.N.
| 
07-10-2005, 22:05:57
|  | Administrator | | Registrado: dic 2002 Ubicación: BURGOS - ESPAÑA Posts: 5.404
| | Cita: |
Empezado por WILFREDO POLANCO Mi amigo JMovillia Disculpa, pero sabes que nunca dudaria de las incapacidades de los demas para la solucion de problemas... Me basta y me sobra saber que todos los miembros del staff mas la gran mayoria de los forianos pueden dar solucion a la mayor parte de los problemas....
Disculpen todos... | Amigo Wilfredo: No tengo ni idea de a qué puedes referirte con esas frases. Cuando yo he aludido a los momentos en que no sabíamos cómo solucionar mi problema del salto de página cada 8 pulgadas, no quería decir que nadie nos considerase incapaces, sino que yo mismo me sentía incapacitado... Y reconozco que hubo muchas personas que pusístéis todo el interés por ayudarme sin que consiguiéramos dar con la salida. Por eso cuando he encontrado esa solución me he sentido obligado a postearla. Pero en ningún momento he querido que nadie interpretara que ni tú ni nadie nos llamase o considerase incapaces... Cosas de los formalismos del lenguaje... Así que, perdona si he dado la impresión de que me sentía ofendido o enfadado... Por el contrario: muy agradecido. | | Herramientas | | | | Desplegado | Mode Lineal |
Normas de Publicación
| no Puedes crear nuevos temas no Puedes responder a temas no Puedes adjuntar archivos no Puedes editar tus mensajes Código [IMG] está habilitado Código HTML está deshabilitado | | | La franja horaria es GMT. Ahora son las 20:44:10.
Powered by vBulletin® Version 3.6.8 Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO 3.1.0
A vBSkinworks Design
|  |