La Web del Programador: Comunidad de Programadores
 
    Pregunta:  70 - LEER DATOS DEL PUERTO PARALELO CON VISUAL BASIC 4
Autor:  Pachi
Estoy tratando de hacer una tarjeta de adquisición de datos a través del puerto paralelo, en realidad, haría una doble función ya que necesitaría leer y escribir datos en el puerto paralelo bajo Windows 95, programando en Visual Basic 4. El caso es que no se como leer ni escribir los datos ni si se puede o no insertar código en ensamblador.

  Respuesta:  CX-Rom CX-Team
Primero que nada VB no nos deja accesar a los puertos con alguna funcion, se debe escribir una dll en c++ y cargarla desde VB y asi utilizar desde VB

Codigo de c++

#include <conio.h>

' Esta funcion retorna nada solo se escribe el numero del puerto
' Si se quiere escribir en el LPT1 888 o 3F8h
EXPORT lectura(int)
{
int regData;
regData = _outp(int);
}

'Esta funcion retorna el dato leido del puerto especificado en la funcion
' en este caso el puerto en la variable se puede poner en Hex o Dec
EXPORT Escritura(int Puerto)
{
int regData;
regData = _inp(int);
}

Estas dos funciones tienen que ser exportadas en el archivo de cabezare hay que ponerlas para exportar y generar la dll y insertarla de la misma manera que se usa la API de Windows solo que hay que poner la direccion completa del fichero o en dado caso colocarla en la carpeta de SYstem

Y ya tienes la funcion para poder escibir o leer desde el puerto paralelo o cuialquier puerto fisico

Dudas a mi mail

  Respuesta:  Jose Antonio Sanchez
A mi me pasa el mismo caso.
Y la unica solución que he encontrado es crear una dll en c++ y llamarla desde Visual Basic, la llamada desde Visual Basic es mas bien facil, mirando las ayudas lo encontraras, pero crear la dll en C++ es algo mas complicado.

  Respuesta:  Carlos
El año pasado me conseguí unos archivos VBX para manejar el puerto paralelo. Nunca los he usado. Quien los desee puede escribirme.
Atte. Carlos

  Respuesta:  Fabio
si necesitas leer y escribir por el puerto paralelo desde vb4 la solucion es la siguiente:
tenes que bajarte de internet dos archivos .dll segun el windows que uses. si es para win 95 o superior el archivo es inpout32.dll y para win 3.1 el archivo es inpout16.dll.
luego copias este archivo en el sistem de windows
Cuando bajes estos archivos .dll seguramente tambien encontraras un .bas con la declaracion de estas bibliotecas.este .bas tenes que cargarlo en tu programa (insertar modulo) y luego solo utilizas las sentencias out y inp como en qbasic.
una buena direccion para buscar es www.lvr.com funciona porque yo cree mi propio adquisidor de datos.
si tenes algun problema o necesitas mas informacion sobre esto escribime y te contesto.