Librería de E/S para VB (funciona en NT/2000/XT)


Si bien ya teníamos en nuestro sitio un conjunto de librerías para tener acceso a los puertos desde VisualBasic las mismas sólo funcionaban bajo Windows 3.1, 3.11, 95, 98 y ME. Pero bajo sistemas operativos Windows derivados del NT (NT, 2000 ó XP) los programas realizados con esas librerías fallaban considerablemente.

La librería que presentamos ahora permite desarrollar aplicaciones que funcionen tanto en Windows95 como en Windows XP pasando por todas las versiones intermedias. Adicionalmente tenemos un conjunto extendido de operaciones posibles a realizar tales como:

Para poder utilizar esta librería basta con copiar el archivo IO.DLL en la carpeta donde está el programa en desarrollo y agregar en un módulo BAS lo siguiente:

Private Declare Sub PortOut Lib "IO.DLL" (ByVal Port As Integer, ByVal Data As Byte)
Private Declare Sub PortWordOut Lib "IO.DLL" (ByVal Port As Integer, ByVal Data As Integer)
Private Declare Sub PortDWordOut Lib "IO.DLL" (ByVal Port As Integer, ByVal Data As Long)
Private Declare Function PortIn Lib "IO.DLL" (ByVal Port As Integer) As Byte
Private Declare Function PortWordIn Lib "IO.DLL" (ByVal Port As Integer) As Integer
Private Declare Function PortDWordIn Lib "IO.DLL" (ByVal Port As Integer) As Long
Private Declare Sub SetPortBit Lib "IO.DLL" (ByVal Port As Integer, ByVal Bit As Byte)
Private Declare Sub ClrPortBit Lib "IO.DLL" (ByVal Port As Integer, ByVal Bit As Byte)
Private Declare Sub NotPortBit Lib "IO.DLL" (ByVal Port As Integer, ByVal Bit As Byte)
Private Declare Function GetPortBit Lib "IO.DLL" (ByVal Port As Integer, ByVal Bit As Byte) As Boolean
Private Declare Function RightPortShift Lib "IO.DLL" (ByVal Port As Integer, ByVal Val As Boolean) As Boolean
Private Declare Function LeftPortShift Lib "IO.DLL" (ByVal Port As Integer, ByVal Val As Boolean) As Boolean
Private Declare Function IsDriverInstalled Lib "IO.DLL" As Boolean

Licencia:
El uso es totalmente gratuito siempre y cuando no se lo quiera utilizar con fines de comercialización por separado. Esto quiere decir que si utilizan esta librería para permitirle a un programa acceder a los puertos no hay que pagar un peso, pero no se debe vender la librería a programadores como herramienta. La distribución de la misma debe ser totalmente gratuita. Por otra parte, el autor (que lamentablemente no se quien es) vende el código fuente de esta librería por mil dólares (permite verla, no sede derecho alguno sobre ella). Asimismo, por quinientos dólares el autor desarrolla un driver específico para la aplicación (para evitar tener que hacer uso directo del puerto).