Visual Basic


Aplicación para que dibujen los más peques de la casa.

 

pizarra.png

 

Código del único Formulario:

 

Option Explicit

Dim Click As Boolean

Dim ColorTiza As Integer

 

Private Sub Form_Load()

ColorTiza = 15 ‘Color blanco por defecto al abrir el programa

End Sub

 

Private Sub Picture1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)

If Button = vbLeftButton Then

Click = True

Picture1.PSet (X, Y), QBColor(ColorTiza)

End If

End Sub

 

Private Sub Picture1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)

If Button = vbLeftButton Then

Click = True

Picture1.Line -(X, Y), QBColor(ColorTiza)

End If

End Sub

 

Private Sub Picture1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)

If Button = vbLeftButton Then

Click = False

End If

End Sub

 

Private Sub BotonVerdeOscuro_Click(Index As Integer)

ColorTiza = 2 ‘Color Verde Oscuro

End Sub

 

Private Sub BotonRojo_Click(Index As Integer)

ColorTiza = 4 ‘Color Rojo Claro

End Sub

 

Private Sub BotonGris_Click(Index As Integer)

ColorTiza = 8 ‘Color gris

End Sub

 

Private Sub BotonAzul_Click(Index As Integer)

ColorTiza = 9 ‘Color Azul Marino

End Sub

 

Private Sub BotonVerdeClaro_Click(Index As Integer)

ColorTiza = 10 ‘Color Verde Claro

End Sub

 

Private Sub BotonRosa_Click(Index As Integer)

ColorTiza = 13 ‘Color Rosa

End Sub

 

Private Sub BotonAmarillo_Click(Index As Integer)

ColorTiza = 14 ‘Color Amarillo

End Sub

 

Private Sub BotonBlanco_Click(Index As Integer)

ColorTiza = 15 ‘Color blanco

End Sub

 

Private Sub BotonBorrar_Click()

Picture1.Cls

End Sub

 

Private Sub BotonSalir_Click()

End

End Sub

 

Puedes descargarte el ejecutable aquí.

 

Una aplicación sencilla para ir aprendiendo.

calculadoramini_png.png

 

Private Sub CommandSuma_Click()

TextRes.Text = Val(TextOp1.Text) + Val(TextOp2.Text)

LabelOperacion.Caption = “+”

End Sub

 

 

Private Sub CommandResta_Click()

TextRes.Text = Val(TextOp1.Text) – Val(TextOp2.Text)

LabelOperacion.Caption = “-”

End Sub

 

 

Private Sub CommandProducto_Click()

TextRes.Text = Val(TextOp1.Text) * Val(TextOp2.Text)

LabelOperacion.Caption = “*”

End Sub

 

 

Private Sub CommandDivision_Click()

TextRes.Text = Val(TextOp1.Text) / Val(TextOp2.Text)

LabelOperacion.Caption = “/”

End Sub

house_ico_png.png

El código fuente en Visual Basic:

 

 

DECLARACIONES

 

Option Explicit

Dim Led As Byte

Dim Control As Boolean

Dim bRetVal As Boolean, bit As Byte

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

 

FORMULARIO DE CARGA

 

Private Sub Form_Load()

Frame1.Enabled = False

Text1.Text = 0

PortOut &H378, 0

For Led = 0 To 7

Led1(Led).Visible = False

LedE1(Led).Visible = False

Next Led

Control = False

End Sub

 

FORMULARIO DE SALIDA

 

Private Sub Form_Unload(Cancel As Integer)

PortOut &H378, 0

End Sub

 

 

 

FRAME 2

frame2_png.pngbotonactivar_png.png

 

Private Sub BotonActivar_Click()

If Control = False Then

LedActivar(1).Visible = True

LedActivar(0).Visible = False

Control = True

Frame1.Enabled = True

Else

LedActivar(0).Visible = True

LedActivar(1).Visible = False

Control = False

Frame1.Enabled = False

End If

End Sub

 

Private Sub BotonApagarGeneral_Click()

apagar_general_png.png

Text1.Text = 0

PortOut &H378, 0

For Led = 0 To 7

Led1(Led).Visible = False

 

 

 

 

 

 

 

 

Led0(Led).Visible = True

Next Led

End Sub

 

salir_png.png

 

 

 

Private Sub BotonSalir_Click()

PortOut &H378, 0

End

End Sub

 

 

 

 

 

 

 

FRAME 1

1_png.png

Private Sub Pin2_Click()

‘Verifica el estado del bit 0

bRetVal = GetPortBit(&H378, 0)

Select Case bRetVal

Case Is = False

‘Pone el bit 0 a nivel 1

SetPortBit &H378, 0

Text1.Text = Val(Text1.Text) + 1

Led1(0).Visible = True

Led0(0).Visible = False

Case Is = True

‘Pone el bit 0 nivel 0

NotPortBit &H378, 0

Text1.Text = Val(Text1.Text) – 1

Led1(0).Visible = False

Led0(0).Visible = True

End Select

End Sub

 

 

 

Private Sub Pin3_Click()

‘Verifica el estado del bit 1

bRetVal = GetPortBit(&H378, 1)

Select Case bRetVal

Case Is = False

‘Pone el bit 1 a nivel 1

SetPortBit &H378, 1

Text1.Text = Val(Text1.Text) + 2

Led1(1).Visible = True

Led0(1).Visible = False

Case Is = True

‘Pone el bit 1 a nivel 0

NotPortBit &H378, 1

Text1.Text = Val(Text1.Text) – 2

Led1(1).Visible = False

Led0(1).Visible = True

End Select

End Sub

 

 

Private Sub Pin4_Click()

‘Verifica el estado del bit 2

bRetVal = GetPortBit(&H378, 2)

Select Case bRetVal

Case Is = False

‘Pone el bit 2 a nivel 1

SetPortBit &H378, 2

Text1.Text = Val(Text1.Text) + 4

Led1(2).Visible = True

Led0(2).Visible = False

Case Is = True

‘Pone el bit 2 a nivel 0

NotPortBit &H378, 2

Text1.Text = Val(Text1.Text) – 4

Led1(2).Visible = False

Led0(2).Visible = True

End Select

End Sub

 

Private Sub Pin5_Click()

‘Verifica el estado del bit 3

bRetVal = GetPortBit(&H378, 3)

Select Case bRetVal

Case Is = False

‘Pone el bit 3 a nivel 1

SetPortBit &H378, 3

Text1.Text = Val(Text1.Text) + 8

Led1(3).Visible = True

Led0(3).Visible = False

Case Is = True

‘Pone el bit 3 a nivel 0

NotPortBit &H378, 3

Text1.Text = Val(Text1.Text) – 8

Led1(3).Visible = False

Led0(3).Visible = True

End Select

End Sub

 

Private Sub Pin6_Click()

‘Verifica el estado del bit 4

bRetVal = GetPortBit(&H378, 4)

Select Case bRetVal

Case Is = False

‘Pone la línea 4 a nivel 1

SetPortBit &H378, 4

Text1.Text = Val(Text1.Text) + 16

Led1(4).Visible = True

Led0(4).Visible = False

Case Is = True

‘Pone el bit 4 a nivel 0

NotPortBit &H378, 4

Text1.Text = Val(Text1.Text) – 16

Led1(4).Visible = False

Led0(4).Visible = True

End Select

End Sub

 

Private Sub Pin7_Click()

‘Verifica el estado del bit 5

bRetVal = GetPortBit(&H378, 5)

Select Case bRetVal

Case Is = False

‘Pone el bit 5 a nivel 1

SetPortBit &H378, 5

Text1.Text = Val(Text1.Text) + 32

Led1(5).Visible = True

Led0(5).Visible = False

Case Is = True

‘Pone el bit 5 a nivel 0

NotPortBit &H378, 5

Text1.Text = Val(Text1.Text) – 32

Led1(5).Visible = False

Led0(5).Visible = True

End Select

End Sub

 

Private Sub Pin8_Click()

‘Verifica el estado del bit 6

bRetVal = GetPortBit(&H378, 6)

Select Case bRetVal

Case Is = False

‘Pone el bit 6 a nivel 1

SetPortBit &H378, 6

Text1.Text = Val(Text1.Text) + 64

Led1(6).Visible = True

Led0(6).Visible = False

Case Is = True

‘Pone el bit 6 a nivel 0

NotPortBit &H378, 6

Text1.Text = Val(Text1.Text) – 64

Led1(6).Visible = False

Led0(6).Visible = True

End Select

End Sub

 

Private Sub Pin9_Click()

‘Verifica el estado del bit 7

bRetVal = GetPortBit(&H378, 7)

Select Case bRetVal

Case Is = False

‘Pone el bit 7 a nivel 1

SetPortBit &H378, 7

Text1.Text = Val(Text1.Text) + 128

Led1(7).Visible = True

Led0(7).Visible = False

Case Is = True

‘Pone el bit 7 a nivel 0

NotPortBit &H378, 7

Text1.Text = Val(Text1.Text) – 128

Led1(7).Visible = False

Led0(7).Visible = True

End Select

End Sub

 

https://japerfer.wordpress.com

 

El sistema de control de vivienda se puede perfeccionar para que no se tenga que estar físicamente delante del ordenador cuando se quiere interactuar con los elementos a controlar de la vivienda.

 

 

 

Dependiendo de las distintas situaciones se puede actuar de forma diferente. Estas situaciones podrían ser:

1. Nos encontramos en la misma sala donde se encuentra el ordenador.

Se podría utilizar un emisor de infrarrojos.

 

Ejemplo de emisor de infrarrojos: Mando de la TV.

 

Inconvenientes: solo funciona a corta distancia y no funciona con obstáculos.

 

2. Estamos en otra habitación donde esta el ordenador o fuera de la vivienda.

 

 

Se puede utilizar un emisor de radiofrecuencia, dependiendo de este se puede estar a una distancia por ejemplo de 100 metros.

 

3. Nos encontramos en cualquier lugar con conexión a Internet, teniendo un MODEM, podemos controlar cualquier elemento de la vivienda.

 

4. También desde un teléfono móvil, con un simple mensaje podríamos, por ejemplo, poner en funcionamiento los aspesores de riego del jardín.

5. El sistema nos podría avisar en el teléfono móvil de ultima generación de que nos están robando y podríamos ver quien esta realizando el robo gracias a las cámaras.

 

 

Las posibilidades son inmensas y solo nos puede parar nuestra imaginación.

 

Teniendo en cuenta la cantidad de visitas a mi post Programación del puerto paralelo con VB, anuncio que cuanto acabe esta semana, (estoy asistiendo a las 4ª Jornadas tecnológicas de Software libre en Sevilla) revisare el post y se podrá descargar la aplicación y la dll, y estará disponible el código fuente. Perdonen la espera.

La siguiente aplicación consiste en la gestión de un parking de automóviles.

En esta captura de pantalla se puede ver la ventana principal del programa cuando se inicializa.

parking_portada.jpg

El código de FormParking:

Option Explicit
Private n As Integer
Private Anterior As Integer: Private Actual As Integer

Private Sub BotonContabilidad_Click()
Call AbrirFormContabilidad
End Sub

Private Sub BotonEntradas_Click()
Call AbrirFormEntrada
End Sub

Private Sub BotonImagenSalir_Click() ‘Boton Imagen para salir del programa
End
End Sub

Private Sub BotonSalidas_Click()
Call AbrirFormSalida

End Sub

Private Sub Form_Load()
Dim i As Integer
For i = 0 To 24
Picture1(i).Visible = False

Next
Picture1(0).Visible = True

End Sub
Private Sub Timer1_Timer()
LabelFecha = Format(Now(), (“DD/MM/YY”))
LabelHora = Format(Now(), (“HH:MM:SS”))
End Sub
Private Sub Timer2_Timer() ‘Para visualizar Icono: Car

If n < 24 Then
Picture1(Anterior).Visible = False

Actual = Anterior + 1
Picture1(Actual).Visible = True

Anterior = Actual
n = n + 1

Else

Picture1(Actual).Visible = False
Actual = Anterior – 24
Picture1(Actual).Visible = True
Anterior = Actual
n = 0

End If

End Sub

Otras capturas de pantalla y su correspondiente código:

parking_entrada.jpg

El código de FormEntrada:

Option Explicit

Private Sub BotonGuardar_Click()

‘Ver si se han introducido datos en TextBox(0):Matricula
If TextEntradas(0).Text = “” Then
MsgBox “Introduce Matrícula”, vbInformation, “”
Else
Call GuardarEntrada
End If
End Sub

Private Sub BotonVolver_Click()
Call Volver
End Sub

parking_salida.jpg

El código de FormSalida:

Option Explicit

Private Sub BotonGuardar_Click()
‘Ver si se han intrioducido datos en TextBox(0):Matricula
If TextSalidas(0).Text = “” Then
MsgBox “Introduce Matrícula”, vbInformation, “ATENCION”
Else
Call GuardarSalida
End If
End Sub

Private Sub BotonVolver_Click()
Call Volver
End Sub

parking_contabilidad.jpg

El código de FormContabilidad:

Option Explicit

Private Sub BotonCalcular_Click()
Call ImporteTotal
End Sub

Private Sub BotonVolver_Click()
Call Volver
End Sub

Private Sub Form_Load()
Combo1(1).ListIndex = 0
Combo1(2).ListIndex = 0
End Sub

CODIGO DE LOS MODULOS:

ModuleGeneral:

Option Explicit
‘Public ImporteHora As Single
Public BDParking As Database
Public Registro As Recordset
Public Formula As Single
Public ImporteHora As Single
Sub main()
‘Se le asigna valor a ImporteHora
‘ImporteHora = FormParking.TextImporteHora.Text

‘Declaración de la Base de Datos Parking
Set BDParking = Workspaces(0).OpenDatabase(CurDir & “\Parking97.mdb”)
‘(“a:\parking\parking97″)

‘Abrir pantalla principal:Parking
Load FormParking
FormParking.Show
End Sub
Sub Volver()
Unload FormEntrada: Unload FormSalida: Unload FormContabilidad
FormParking.Show
End Sub

ModuleEntrada:

Option Explicit
Private MesTotal As Integer
Private AñoTotal As Integer
Private SQL As String
Private Suma As Single
Private Historico As Recordset
‘Private historico As Recordset
Sub AbrirFormContabilidad()
Unload FormParking
Load FormContabilidad
FormContabilidad.Show
End Sub
Sub ImporteTotal()
MesTotal = FormContabilidad.Combo1(1).ListIndex + 1 ‘ListIndex devuelve la posición de la lista del comboList
AñoTotal = FormContabilidad.Combo1(2).Text
‘Seleccionar Mes y año a buscar en la Tabla TablaHistoricos
SQL = “Select Factura from TablaHistoricos where (Month([FechaSalida])=” & MesTotal & ” ) and Year([FechaSalida])=” & AñoTotal
Set Historico = BDParking.OpenRecordset(SQL)
‘Se va ha sumar los campos de factura
Suma = 0

While Not Historico.EOF ‘Mientras no se llegue al final de la tabla
Suma = Suma + Historico!Factura
Historico.MoveNext
Wend
FormContabilidad.Text1.Text = Suma
End Sub

ModuleSalida:

Option Explicit
Private MesTotal As Integer
Private AñoTotal As Integer
Private SQL As String
Private Suma As Single
Private Historico As Recordset
‘Private historico As Recordset
Sub AbrirFormContabilidad()
Unload FormParking
Load FormContabilidad
FormContabilidad.Show
End Sub
Sub ImporteTotal()
MesTotal = FormContabilidad.Combo1(1).ListIndex + 1 ‘ListIndex devuelve la posición de la lista del comboList
AñoTotal = FormContabilidad.Combo1(2).Text
‘Seleccionar Mes y año a buscar en la Tabla TablaHistoricos
SQL = “Select Factura from TablaHistoricos where (Month([FechaSalida])=” & MesTotal & ” ) and Year([FechaSalida])=” & AñoTotal
Set Historico = BDParking.OpenRecordset(SQL)
‘Se va ha sumar los campos de factura
Suma = 0

While Not Historico.EOF ‘Mientras no se llegue al final de la tabla
Suma = Suma + Historico!Factura
Historico.MoveNext
Wend
FormContabilidad.Text1.Text = Suma
End Sub

ModuleContabilidad:

Option Explicit
Private MesTotal As Integer
Private AñoTotal As Integer
Private SQL As String
Private Suma As Single
Private Historico As Recordset
‘Private historico As Recordset
Sub AbrirFormContabilidad()
Unload FormParking
Load FormContabilidad
FormContabilidad.Show
End Sub
Sub ImporteTotal()
MesTotal = FormContabilidad.Combo1(1).ListIndex + 1 ‘ListIndex devuelve la posición de la lista del comboList
AñoTotal = FormContabilidad.Combo1(2).Text
‘Seleccionar Mes y año a buscar en la Tabla TablaHistoricos
SQL = “Select Factura from TablaHistoricos where (Month([FechaSalida])=” & MesTotal & ” ) and Year([FechaSalida])=” & AñoTotal
Set Historico = BDParking.OpenRecordset(SQL)
‘Se va ha sumar los campos de factura
Suma = 0

While Not Historico.EOF ‘Mientras no se llegue al final de la tabla
Suma = Suma + Historico!Factura
Historico.MoveNext
Wend
FormContabilidad.Text1.Text = Suma
End Sub

Este programa tiene asociado una base de datos llamada Parkin97 que dispone de dos tablas, una llamada TablaRegistros y otra TablaHistoricos.

basedatos.jpg

El siguiente circuito electronico y la aplicacion en Visual Basic los realice para dar una clase sobre la programación del puerto paralelo, es un ejemplo didactico que nos da una ídea de las posibilidades del puerto paralelo, el cual se puede utilizar no solo para imprimir. Hay que tomar el ejemplo desde un punto didactico pues el puerto paralelo tiene ciertas limitaciones.

 

fotosim22.jpg

PROGRAMACIÓN DEL PUERTO PARALELO

 

1 INTRODUCCIÓN.

2 PROGRAMACIÓN.

2.1 Obtención del puerto.

2.2 Acceso a los puertos.

3 FUNDAMENTOS DE PROGRAMACION

3 .1 ¿Que son las variables?

3.2 Tipos de Variables

3.3 Declaración de las variables

3.4 Declaración de Constantes

3.5 Que son las estructuras de Decisiones?

3.5.1 Sentencia If Then Else

3.5.2 Sentencia Select CASE

3.5.3 Sentencia de Control While Wend

3.5.4 Sentencia de Control Do Until

3.5.5 Sentencia de Control For Next

3.5.6 ¿Por qué Tomar Decisiones?

4. CIRCUITO ELECTRONICO

5. APLICACION EN VISUAL BASIC

 

PROGRAMACIÓN DEL PUERTO PARALELO

1 INTRODUCCIÓN.

El puerto paralelo del PC es un conjunto de dispositivos (conector, circuitos electrónicos, etc.) que permite la conexión de un equipo informático con el propósito de intercambiar información digital.

El intercambio de información se lleva a cabo de acuerdo a unos protocolos de comunicación. Un protocolo es un conjunto de normas que definen la forma en que se establece el proceso de comunicación, permitiendo que se desarrolle de una manera ordenada y libre de errores. Los protocolos se siguen para iniciar y finalizar la comunicación de forma que ninguna de las partes implicadas quede bloqueada en un estado no deseado.

Desde el punto de vista del software, el puerto paralelo son tres registros de 8 bits cada uno, ocupando tres direcciones de I/O consecutivas de la arquitectura x86.

Desde el punto de vista hardware, el puerto es un conector hembra DB25 con doce salidas y cinco entradas, con 8 líneas de masa.

La función normal es transferir datos a una impresora a través de las 8 líneas de datos, usando las señales restantes como control de flujo.

clip_image0024.gif

 

2 PROGRAMACIÓN.

2.1 Obtención del puerto.

Las direcciones de I/O de los puertos paralelo:

0×378 – 0x37F Direcciones usuales para LPT1.

0×278 – 0x27F Direcciones usuales para LPT2.

A continuación se muestra como obtener dichas direcciones en el lenguaje C:

/* En portnum debo guardar el número de puerto (1,2,3).

En la variable lptadr, tipo unsigned, obtengo la dirección.*/

portnum–;

lptadr = peek(0×0040,0×0008+portnum*2);

2.2 Acceso a los puertos.

C

Se utilizan las funciones outportb() e inportb().

Visual Basic

Visual Basic no tiene una instrucción para lectura / escritura de puertos. Una segunda limitación es el tipo de sistema operativo y su configuración. En sistemas Windows 3.x, 9x, Me, Xp, se puede construir una librería de enlace dinámico (DLL) que provea a los programas realizados en Visual Basic de las funciones INP y OUT.

3 FUNDAMENTOS DE PROGRAMACION

3 .1 ¿Que son las variables?

En cualquier programa necesitamos hacer cálculos, usar información, procesarla y mostrarla. En la mayoría de los casos, necesitamos un lugar temporal en el cual guardar parte de esa información, incluso toda.

Es aquí donde entran en juego las variables, las que nos permite guardar datos en memoria, para que cuando los necesitemos, podamos tomarlos, modificarlos y volverlos a guardar para usar mas tarde.

La memoria es el lugar donde el ordenador almacena de forma temporal los programas y parte de la información que necesita o utiliza. Esas posiciones o lugares de la memoria donde los programas pueden almacenar información son las variables.

Es una ubicación de almacenamiento temporal con nombre que se encuentra en memoria, siendo capaz de contener cierto tipo de datos que pueden modificarse durante la ejecución del programa.

En Visual Basic los nombres de las variables deben limitarse a 255 caracteres, empezar con un carácter alfabético y no pueden obtener un punto

Resumen: Utilización temporal de almacenamiento de datos dentro de un programa. Permiten asignar nombres cortos y fácil de recordar. Son para manejar cualquier tipo de información.

3.2 Tipos de Variables

Dim : Al declarar una variable con esta palabra estamos diciendo que la variable sea local al ámbito en que se declara. Puede ser dentro de un procedimiento o dentro de un formulario, de esta forma no sería accesible desde los demás procedimientos o formularios.

Ejemplo: Dim suma

Public : Las variables declaradas serán publicas y podrán estar accesibles desde todos los formularios de la aplicación. Para conseguirlo tendremos que declararlas en un módulo de código, no en la sección declarations de cualquier formulario de los que conste la aplicación.

Ejemplo: Public suma

Static : Con esta forma de declarar variables conseguiremos que las variables locales no se creen y se destruyan al entrar y salir de los procedimientos donde fueron declaradas sino que se mantenga su valor durante todo el periodo de ejecución de la aplicación. De esta forma a entrar en algún procedimiento las variables recuerdan el valor que tenían cuando se salió de él.

Ejemplo: Static suma

TIPOS DE VARIABLES

TIPO

COMENTARIO
BOOLEAN Sólo admite 2 valores TRUE o FALSE
BYTE Admite valores entre 0 y 255
INTEGER Admite valores entre –32768 y 32767
LONG Admite valores entre -2.147.483.648 y 2.147.483.647
SINGLE Admite valores decimales con precisión simple
DOUBLE Admite valores decimales de doble precisión
CURRENCY Válido para valores de tipo moneda
STRING Cadenas de caracteres
Variant Admite cualquier tipo de datos
DATE fechas, permite operar con ellas

3.3 Declaración de las variables

Ejemplos :

Dim nombre As String

Dim led As Byte

Dim Control As Boolean

3.4 Declaración de Constantes

Como su palabra lo dice es Información que no varía hace más fácil la comprensión del código y permite modificar un valor en un solo lugar no ocupa espacio extra, Ejemplo: Const Mínimo = 1, Máximo = 10

3.5 Que son las estructuras de Decisiones?

Estas estructura caen en dos amplias categorías: Ramificaciones y Ciclos . Los dispositivos como If..Then y Select Case hacen que el programa continúe en una dirección cuando se encuentra una condición particular, sin mirar nunca atrás.

Las construcciones en ciclos como Do.. Loop y While..Wend , se usan para repetir un cierto bloque limitado de instrucciones hasta que las condiciones especificadas son True (cierta) o False (Falsa).

3.5.1 Sentencia If Then Else

If condición then

bloque de sentencias

Else

bloque de sentencias

End If

Si los bloques de sentencias están formados por una sola instrucción podemos utilizar la versión reducida que ocupa una sola línea:

If condición then sentencia else sentencia

Ejemplos:

(1) If isnumeric(numero) then la variable numero es numérica else no es numerica.

(2) I f dato<10 then

la variable dato contiene un solo dígito

Else

If dato<100 then

la variable dato contiene 2 dígitos

Else

la variable dato contiene más de 2 dígitos

end If

End If

 

3.5.2 Sentencia Select CASE

Esta sentencia permite realizar operaciones diferentes dependiendo del valor de una variable:

Estructura General:

Select Case dato

Case valor1

bloque de sentencias

case valor2

bloque de sentencias

Case valor3

bloque de sentencias

case else

bloque de sentencias, se ejecutan si no se cumple ninguno de los valores anteriores

End Select

Ejemplo:

Select Case NotaFinal

Case Is < 5

Suspendido

Case 5 to 6.99

Aprobado

Case 7 to 8.99

Notable

Case Else

Sobresaliente

End Select

3.5.3 Sentencia de Control While Wend

Ejecuta repetidamente una o más instrucciones mientras una condición dada es cierta.

Sintaxis:

While condición

[ instrucciones]

Wend

3.5.4 Sentencia de Control Do Until

Proporciona una forma mas estructurada y flexible para ejecutar ciclos. Esta repite un bloque de código mientras una condición es True o a partir de que la condición sea True.

Sintaxis:

Do Until cliente.EOF

Print cliente(“nombre”)

Cliente.movenext

Loop

Exit Do transfiere el control a la instrucción que sigue inmediatamente al ciclo.

3.5.5 Sentencia de Control For Next

Esta sentencia repite un grupo de instrucciones, un numero especificado de veces. Sintaxis:

For contador = 1 To 10

Print cliente(“nombre”)

Cliente.Movenext

Next contador

Se puede especificar también el intervalo Step , la cantidad que cambiar el contador cada vez que se ejecuta el ciclo. Si no se especifica, el incremento toma un valor por omisión de 1.

Ejemplo:

For porcentaje = 0 To 100 Step 5

Print porcentaje & “%”

Next porcentaje

Exit For se usa frecuentemente con la evaluación de algunas condicionantes If..Then y transfiere el control a la instrucción que se encuentra a continuación de Next .

3.5.6 ¿Por que Tomar Decisiones?

Los lenguajes de computación al igual que la vida real deben ser capaces de realizar diferentes juegos de acciones, algunas veces repetidas, indicadas por circunstancias internas o externas. Por ejemplo, en un sistema de administración de personal, si un empleado ha estado en la compañía por espacio de una año, este empleado obtiene un aumento. Si el empleado entra en la edad de la jubilación, hay que jubilarlo.

4. CIRCUITO ELECTRONICO

circuito1.jpg

circuito1.jpg
Esquema del circuito electrónico.

Este circuito permite controlar ocho led´s . En el circuito integrado ULN2803 se encuentran los componentes de protección y limitación de corriente, así como los transistores de potencia que se encargan de las señales provenientes del puerto paralelo.

circuito2.jpg

Circuito visto desde los componentes.

 

circuito3.jpg

Conector del puerto paralelo.

 

5. APLICACIÓN EN VISUAL BASIC

aplic.jpg

Se puede descargar esta aplicación pinchando aquí (esta en formato *.rar, hay que descomprimirlo) y la librería io.dll aquí. Los dos archivos deben estar en la misma carpeta.

Seguir

Recibe cada nueva publicación en tu buzón de correo electrónico.