Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Como acceder al puerto LPT1 o COM1

297 views
Skip to first unread message

Antonio OG

unread,
Jun 14, 2002, 1:16:51 PM6/14/02
to
Con VB6 yo abría el puerto de la impresora mediante el
mandato [Open "LPT1" FOR OUTPUT, #1] para imprimir
directamente a la impresora. Ahora su equivalencia en
VB.Net creía que era [FileOpen(iFF, "LPT1",
OpenMode.Output)], pero me da un error que no me permite
abrir así el puerto. ¿Como se puede hacer esto?. No me
vale utilizar la clase PrintDocument() porque me imprime
en modo gráfico yo quiere imprimir en una impresora creada
como Genérica solo texto (en impresoras matriciales).

Tristan

unread,
Jun 14, 2002, 8:25:02 PM6/14/02
to
1. Puedes imprimir sin problemas en una impresora genérica, solo texto
siempre que el tipo de letra sea un tipo de impresora. Bueno, es más creo
que si no también, pero de la otra forma seguro.

2. Puedes escribir sobre el puerto paralelo creando un TextWriter. Te pongo
el código en C#, supongo que sabrás traducirlo.

StreamWriter f = File.AppendText("LPT1:");
f.WriteLine("Texto de prueba");
f.Close();

Pero por mil razones es muchísimo mejor opción la primera.


Antonio OG

unread,
Jun 17, 2002, 3:52:38 AM6/17/02
to

Respuesta a Tristan de Antonio OG:

- La primera parte a tu respuesta no la tengo muy clara lo
que quieres decir.

- La segunda parte he probado esto en VB.Net:
Dim FS As StreamWriter
FS = File.AppendText("LPT1")
FS.WriteLine("Texto de prueba")
FS.Close()
No me funciona, el resultado es el mismo cuando lo hago
FileOpen(iFF, "LPT1", OpenMode.Output), me muestra el
mismo mensage de error:
Additional information: FileStream was asked to open a
device that was not a file. FileStream's constructors
that take a String will only work with devices that are
really files. If you need support for devices
like "com1:" or "lpt1:", then call CreateFile yourself
then use the FileStream constructors that take an OS
handle as an IntPtr.
¿No se que es lo que estoy haciendo mal?

Tristan

unread,
Jun 26, 2002, 11:15:18 AM6/26/02
to
Bueno, pues tenemos un problema. Este código funcionaba en la Beta 2, que es
lo que he tenido hasta hace muy poco tiempo. En la versión definitiva al
parecer comprueba que el path es un nombre de archivo válido y al no serlo
da error.

Lo cierto es que el propio error que muestra al abrir LPT1 da una idea de
cual es la solución.

"Información adicional: Se solicitó a FileStream que abriera un dispositivo
que no era un archivo. Los constructores de FileStream que toman una cadena
sólo funcionarán con dispositivos que realmente sean archivos. Si necesita
ayuda con dispositivos como "com1:" o "lpt1:", llame a CreateFile y, a
continuación, utilice constructores FileStream que tomen un identificador
del sistema operativo como puede ser IntPtr."

Lo otro que te había dicho no se que es, ya que no veo el mensaje.


0 new messages