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:
PortOut: Envía un byte al puerto especificado
PortWordOut: Envía una palabra (de 16 bits) al puerto especificado
PortDWordOut: Envía una palabra doble (de 32 bits) al puerto especificado
PortIn: Lee un byte del puerto especificado
PortWordIn: Lee una palabra (16 bits) del puerto especificado
PortDWordIn: Lee un palabra doble (32 bits) del puerto especificado
SetPortBit: Pone en 1 el bit especificado del puerto indicado
ClrPortBit: Pone en 0 el bit especificado del puerto indicado
NotPortBit: Invierte el estado del bit especificado del puerto indicado
GetPortBit: Obtiene el estado del bit especificado
RightPortShift: Rota a la derecha el contenido del puerto haciendo que LSB pase a MSB
LeftPortShift: Rota a la izquierda el contenido del puerto haciendo que MSB pase a LSB
IsDriverInstalled: Devuelve un valor diferente a 0 si el driver se encuentra cargado en memoria
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
************************************************** **[url]http://www.pablin.com.ar/computer/programa/vb/io.dll[/url]
[url]http://www.pablin.com.ar/computer/programa/vb/iodll.htm[/url]