Professional Documents
Culture Documents
VISUAL BASIC
Appearance (Apariencia): Tiene dos valores, 0 para que se vea plano, y 1 para
que se vea en tres dimensiones.
Back Color (Color de Fondo): Asigna el color de fondo sobre el que aparece el
texto o se dibujan los gráficos.
Fore Color (Color de Primer Plano): Asigna un color al primer plano (color de
la tinta o del texto).
Font (Fuente o Tipo de Letra): Asigna el tipo de letra, los atributos y el tamaño
de la fuente que se usa para un control de texto (el texto en un control TextBox,
el título de una etiqueta o de un botón de comando, etc.).
Text (Texto): Asigna el texto que se muestra en los controles y acepta que lo
introduzca el usuario, por ejemplo, el control TextBox.
Visible: Esta propiedad se pone como False para que el control sea invisible.
Ejemplo:
Clear, Setfocus, Refresh, Etc.
Clear (Borrar): Algunos métodos son simples verbos que dicen al objeto la
acción que deben realizar. El método Clear le dice el control que borre su
contenido. Si el control es un ListBox, el método Clear elimina todas sus
entradas.
EVENTO: Una acción reconocida por un objeto, como hacer clic con el Mouse
o presionar una tecla, para la que se puede escribir código para responder. Los
eventos pueden producirse como resultado de una acción del usuario o por
programa, o pueden ser disparados por el sistema.
Ejemplo:
Click encima de un botón de comando.
Click (Clic), DblClick (Doble Clic): El suceso Click tiene lugar cuando el
usuario hace clic con el botón izquierdo del ratón; el DblClick tiene lugar
cuando el usuario hace doble clic en el botón izquierdo del ratón.
VARIABLES:
En Visual Basic, como en cualquier otro lenguaje de programación, las variables
se usan para almacenar valores durante la ejecución de un programa. Las
variables son huecos en memoria en los que se puede dejar valores para
recogerlos cuando se necesiten.
En la mayoría de los lenguajes de programación, se deben definir las variables.
En otras palabras, se debe decir por adelantado al compilador las variables que se
van a usar. La razón por la que se hace así es para ayudar al compilador. Si el
compilador conoce las variables y sus tipos, puede producir un código más
optimizado.
TIPOS DE VARIABLES:
Para definir variables de cualquiera de los tipos que hemos visto, se usa la
sentencia Dim, seguida del nombre de la variable, la palabra clave As, y el tipo
de la variable.
Ejemplo;
Dim pagos As Single
If…Then…End If:
La estructura If comprueba una condición especifica y, si es verdadera, ejecuta
las sentencias que le siguen. La estructura If puede tener o una sola línea, o
varias líneas. Para ejecutar una sentencia condicional se usa la sintaxis de una
sola línea:
Ejemplo:
If…Then…Else…End If:
Una variación de la sentencia If …Then es la sentencia If…Then…Else … End
If, que ejecuta un bloque de sentencias si la condición es verdadera, y otro
bloque si es falsa. La sintaxis de la sentencia If … Then … Else End If es:
If condición Then
Bloque de sentencias 1
Else
Bloque se sentencias 2
End If
Debido a que la estructura ElseIf puede crear código eficiente pero difícil de leer,
hay una alternativa: la sentencia Select Case.
SELECT CASE:
La estructura Select Case compara la misma expresión con diferentes valores. La
ventaja de esta sentencia sobre If … Then múltiples hace que el código sea más
fácil de leer y mantener.
La estructura Select Case comprueba una sola expresión, que se evalúa una sola
vez al principio de la estructura. El resultado de esta comprobación se compara
con varios valores y, si coincide con uno de ellos, se ejecuta el bloque de
sentencias correspondiente. Sintaxis:
Select Case expresión
Case valor 1
Bloque de sentencias 1
Case valor 2
Bloque de sentencias 2
.
.
.
Case Else
Bloque de sentencias
End Select
Ejemplo:
Select Case WeeDay(Date)
Case 1
NombreDía= “Lunes”
Mensaje= “Feliz semana”
Case 6
NombreDía= “Sábado”
Mensaje= “Feliz fin de semana”
Case 7
NombreDía= “Domingo”
Mensaje= “ ¿Has tenido un buen fin de semana”
Case Else
Mensaje= “ ¡Bienvenido de nuevo”
End Select
DO … LOOP:
Ejecuta un bloque de sentencias mientras la condición sea verdadera. Existen dos
variantes de la sentencia Do … Loop, pero ambas usan el mismo modelo básico.
Visual Basic evalúa la expresión y, si la expresión es falsa, el programa continúa
con las sentencias que van después del bucle.
Cuando Visual Basic ejecuta los bucles anteriores, evalúa primero la condición.
Si es falsa, se salta el bucle Do While o Do Until. Cuando se llega a la sentencia
Loop, Visual Basic evalúa de nuevo la expresión y repite el bloque de sentencias
si la expresión en el bucle Do While es verdadera, o si la expresión en el bucle
Do Until es falsa.
El bucle Do se repite todas las veces que sea necesario siempre que la condición
sea verdadera (o distinta de cero si la condición evalúa un número).
FOR … NEXT: El bucle For … Next es una de las estructuras de bucle más
antiguas dentro de los lenguajes de programación. A diferencia del bucle Do, el
bucle For … Next requiere que se conozca el número de veces que se van a
ejecutar las sentencias del bucle. Este bucle es una variable (llamada el contador
del bucle) que incrementa o disminuye su valor durante cada repetición del
bucle. Su sintaxis es:
For contador = principio To final [Step incremento]
Sentencias
Next [contador]
La parte más importante a tener en cuenta cuando se trabaja con bucle For Next
es que el contador del bucle se establece al principio del bucle. Si cambiamos el
valor de la variable final mediante una sentencia dentro del bucle, no se detecta
el cambio y se ejecuta como si no se hubiera producido.
PARTE PRACTICA
CalcularPeso Click
Private Sub CalcularPeso_Click()
estatura = EntradaEstatura.Text
sexo = EntradaSexo.Text
If (sexo = "F") Or (sexo = "f") Then resultado = (estatura - 100) * 0.87
If (sexo = "M") Or (sexo = "m") Then resultado = (estatura - 100) * 0.92
PesoIdeal.Caption = Str(resultado) + " Kilos"
End Sub
Command1 Click
Private Sub Command1_Click()
cargo = Text3.Text
If cargo = "Funcionario" Then Text5.Text = 10
If cargo = "Empleado" Then Text5.Text = 6
If cargo = "Obrero" Then Text5.Text = 8
Text7.Text = Text5.Text * 0.4 + Text5.Text
Label11.Caption = (Text4.Text * Text5.Text) + (Text6.Text * Text7.Text)
Label12.Caption = Label11.Caption * 0.13
Label13.Caption = Label11.Caption - Label12.Caption
End Sub
Ejemplo N° 11:
Command1 Click
Private Sub Command1_Click() Command2 Click
Data1.Recordset.AddNew Private Sub Command2_Click()
Text1.SetFocus On Error Resume Next
End Sub Data1.Recordset.Delete
If Not Data1.Recordset.EOF Then
Command4 Click Data1.Recordset.MoveNext
Private Sub Command4_Click() ElseIf Not Data1.Recordset.BOF Then
List1.Clear Data1.Recordset.MovePrevious
End Sub Else
MsgBox "Este era el último
Command5 Click registro de la tabla"
Private Sub Command5_Click() End If
End Data1.Refresh
End Sub End Sub
Command3 Click
Private Sub Command3_Click()
Dim a As String
Dim b As String
Dim c As String
Dim d As String
Dim e As String
Dim f As String
Do While Not Data1.Recordset.EOF
If Not IsNull(Data1.Recordset(0)) Then
a = Data1.Recordset(0)
End If
If Not IsNull(Data1.Recordset(1)) Then
b = Data1.Recordset(1)
End If
If Not IsNull(Data1.Recordset(2)) Then
c = Data1.Recordset(2)
End If
If Not IsNull(Data1.Recordset(3)) Then
d = Data1.Recordset(3)
End If
If Not IsNull(Data1.Recordset(4)) Then
e = Data1.Recordset(4)
End If
If Not IsNull(Data1.Recordset(5)) Then
f = Data1.Recordset(5)
End If
List1.AddItem (a + " " + b + " " + c + " " + d + " " + e + " " + f)
Data1.Recordset.MoveNext
Loop
Data1.Refresh
List1.ListIndex = 0
Screen.MousePointer = 0
End Sub
General Click
Private Sub General_Click()
Dim a As String
Dim b As String
Dim c As String
Dim d As String
Dim e As String
Dim f As String
Do While Not Form1.Data1.Recordset.EOF
If Not IsNull(Form1.Data1.Recordset(0)) Then
a = Form1.Data1.Recordset(0)
End If
If Not IsNull(Form1.Data1.Recordset(1)) Then
b = Form1.Data1.Recordset(1)
End If
If Not IsNull(Form1.Data1.Recordset(2)) Then
c = Form1.Data1.Recordset(2)
End If
If Not IsNull(Form1.Data1.Recordset(3)) Then
d = Form1.Data1.Recordset(3)
End If
If Not IsNull(Form1.Data1.Recordset(4)) Then
e = Form1.Data1.Recordset(4)
End If
If Not IsNull(Form1.Data1.Recordset(5)) Then
f = Form1.Data1.Recordset(5)
End If
Form1.List1.AddItem (a + " " + b + " " + c + " " + d + " " + e + " " + f)
Form1.Data1.Recordset.MoveNext
Loop
Form1.Data1.Refresh
Form1.List1.ListIndex = 0
Screen.MousePointer = 0
End Sub
Personal
Nuevo
Borrar Ctrl + O
Boleta de Pagos
Listado
Borrar Click
Private Sub Borrar_Click()
On Error Resume Next
Form1.Data1.Recordset.Delete
If Not Form1.Data1.Recordset.EOF Then
Form1.Data1.Recordset.MoveNext
ElseIf Not Form1.Data1.Recordset.BOF Then
Form1.Data1.Recordset.MovePrevious
Else
MsgBox "Este era el último registro de la tabla"
End If
Form1.Data1.Refresh
End Sub
Listado Click
Private Sub Listado_Click()
Dim a As String
Dim b As String
Dim c As String
Dim d As String
Dim e As String
Dim f As String
Dim g As String
Do While Not Form1.Data1.Recordset.EOF
Agregar Click
Private Sub Agregar_Click()
Dim c As Currency
Dim d As Currency
c = Form3.Label12.Caption
d = Form3.Label16.Caption
Form3.List1.AddItem (Form3.Text6.Text)
Form3.List2.AddItem (Form3.Text7.Text)
Form3.List3.AddItem (Form3.Text8.Text)
Form3.List4.AddItem (Form3.Text9.Text)
Form3.List5.AddItem (Form3.Text10.Text)
Form3.List6.AddItem (Form3.Label12.Caption)
Form3.Label16.Caption = Format$(c + d, "#.00")
End Sub
Borrar2 Click
Private Sub Borrar2_Click()
On Error Resume Next
Form2.Data1.Recordset.Delete
If Not Form2.Data1.Recordset.EOF Then
Form2.Data1.Recordset.MoveNext
ElseIf Not Form2.Data1.Recordset.BOF Then
Form2.Data1.Recordset.MovePrevious
Else
MsgBox "Este era el último registro de la tabla"
End If
Form2.Data1.Refresh
End Sub
Listado2 Click
Private Sub Listado2_Click()
Dim a As String
Dim b As String
Dim c As String
Dim d As String
Dim e As String
Do While Not Form2.Data1.Recordset.EOF
If Not IsNull(Form2.Data1.Recordset(0)) Then
a = Form2.Data1.Recordset(0)
End If
If Not IsNull(Form2.Data1.Recordset(1)) Then
b = Form2.Data1.Recordset(1)
End If
If Not IsNull(Form2.Data1.Recordset(2)) Then
c = Form2.Data1.Recordset(2)
End If
If Not IsNull(Form2.Data1.Recordset(3)) Then
d = Form2.Data1.Recordset(3)
End If
If Not IsNull(Form2.Data1.Recordset(4)) Then
e = Form2.Data1.Recordset(4)
End If
Form2.List1.AddItem (a + " - " + b + " - " + c + " - " + d + " - " + e)
Form2.Data1.Recordset.MoveNext
Loop
Form2.Data1.Refresh
Form2.List1.ListIndex = 0
Screen.MousePointer = 0
End Sub