Visual Basic - Insertar linea de código en tiempo de ejecucion

Life is soft - evento anual de software empresarial
   
Vista:

Insertar linea de código en tiempo de ejecucion

Publicado por Juan Carlos C jccol@hotmail.com (125 intervenciones) el 22/09/2015 17:53:29
Hola a todos,

necesito cambiar muchas lineas de código dependiendo de la forma de imprimir asi:

los dos métodos son

Print #intCanalImpresion, "Linea a Imrimir"

y

Printer.Print "Linea a Imprimir"

Entonces si es por puerto Directo LPT o COM se usaria el primer metodo, pero si es por una impresora de windows se imprimiria por el segundo. Lo que pretendo es algo asi:

If es_impresora_windows then

strMetodo="Printer.Print"

else

strMetodo="Print #intCanalImpresion,"

end if


Para imprimir seria

strMetodo "Linea a Imprimir"

Lógicamente esto no funciona y son muchos reportes los que tengo con el primer metodo pero quiero que el susario tenga la opcion de imprimir por las impresoras de windows.

Gracias por sus comentarios
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

Insertar linea de código en tiempo de ejecucion

Publicado por Facundo (58 intervenciones) el 27/09/2015 06:09:59
Vos mismo tenés la respuesta:
1
2
3
4
5
If es_impresora_windows then
          Printer.Print "Linea a Imprimir"
else
          Print #intCanalImpresion, "Linea a Imrimir"
end if
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

Insertar linea de código en tiempo de ejecucion

Publicado por Juan Carlos C jccol@hotmail.com (125 intervenciones) el 27/09/2015 07:11:14
La verdad son mas 75 informes que ya estan escritos y no queria editar linea por linea, pero me invente la siguiente solucion, la dejo a manera de comentario.

Cree un formulario con un objeto textbox multilinea invisibles ambos, formulario y texbox

La impresion se envia a un archivo de texto, para esto no tengo q cambiar nada del codigo de los informes solo cambio LPT1 por impresora.txt, por ejemplo.

Uso una funcion q esta al final de cada reporte (cerrarpuertoimpresora) y envio el contenido del archivo al textbox invisible del formulario invisible (solo para las impresoras de windows) e imprimo con la instruccion printer.print form1.textbox.text. Los reportes me salen perfectos y asi tengo las dos opciones de impresion.

A Facundo, gracias por el comentario.
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