prooo
Páginas: 8 (1851 palabras)
Publicado: 15 de mayo de 2015
IO.DLL permite separar las operaciones sobre puertos de E/S en Windows
95/98/2000/XP utilizando la misma librería.
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 Windowsderivados 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:
PortOut: Envía un byte al puerto especificadoPortWordOut: 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 elbit 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 seencuentra 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 PortDWordOutLib "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)
PrivateDeclare 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 FunctionLeftPortShift 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 unpeso, 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 (paraevitar tener que hacer uso directo del puerto).
EL rand se utiliza de esta forma
valor = rand()%10
La variable valor va tomar un valor aleatorio(pseudialetorio realmente) de 0 a 9
Si quieres que te imprima de 0 a 10 seria asi: rand()%11
Si quieres de 1 a 10: rand()%10+1(recuerda que empieza en 0 y acaba en 9, pero si le sumas 1 empieza en 1 y acaba en 10)
Para que te imprima un intervalo...
Leer documento completo
Regístrate para leer el documento completo.