B4A en español - Juan Antonio Villalpando
(BASIC4Android)
-- Tutorial de B4A --
Volver al índice del tutorial
____________________________
56.- Programas básicos I. Diccionario web. Bisiesto.
Aquí voy a exponer una serie de programa básicos y sencillos de entender, posiblemente esta página podría estar en el comienzo del tutorial, pero ha quedado en un lugar más avanzado.
- Diccionario RAE
- Año bisiesto.
- Divisores de un número.
- Letra del NIF
________________________________________________
1.- Diccionarios web. RAE.
Escribes una palabra, el programa se comunica con la página de la RAE y muestra su significado.
Es un ejemplo de intent.
Crea un nuevo proyecto con este contenido:
Copia y pega este código en un nuevo proyecto |
Sub Process_Globals
' Juan Antonio Villalpando
' juana1991@yahoo.com ' febrero 2013
' Diccionario RAE. Escribes una palabra y
' mediante la web de la RAE obtienes la respuesta
End Sub
Sub Globals
Dim etiqueta As Label
Dim casillero As EditText
Dim boton As Button
Dim palabra As String
End Sub
Sub Activity_Create(FirstTime As Boolean)
' Crea etiqueta
etiqueta.Initialize("etiqueta")
etiqueta.TextColor = Colors.Red
etiqueta.Text = "Introduce una palabra "
Activity.AddView(etiqueta, 5, 10, 300, 60)
' Crea casillero
casillero.Initialize("casillero")
casillero.Text="aprender"
Activity.AddView(casillero, 5, 100, 200, 60)
' Crea Botón
boton.Initialize("boton")
boton.Text = "Pulsa"
Activity.AddView(boton, 5, 200, 160, 60)
End Sub
Sub Activity_Resume
End Sub
Sub Activity_Pause (UserClosed As Boolean)
End Sub
Sub boton_Click
palabra = "http://lema.rae.es/drae/srv/search?val=" & casillero.Text
Dim Intent1 As Intent
Intent1.Initialize(Intent1.ACTION_VIEW, palabra)
StartActivity(Intent1)
End Sub |
________________________
2.- Año bisiesto.
Un año es bisiesto cuando es divisible entre 4. Los años bisiestos también son olimpicos.
Para ver si un número es divisible entre 4, utilizamos la función matemática Mod (módulo).
If (annus Mod 4) = 0 Then ...
Esta función nos da el resto de una división. Si el resto es 0, el numerador es divisible por el denominador.
Crea un nuevo proyecto con este contenido:
Copia y pega este código en un nuevo proyecto |
Sub Process_Globals
' Juan Antonio Villalpando
' juana1991@yahoo.com ' febrero 2013
' Calculo de año bisiesto.
' Un año es bisiesto y olímpico cuando es divisible por 4.
End Sub
Sub Globals
Dim etiqueta, etiqueta2 As Label
Dim casillero As EditText
Dim boton As Button
Dim annus As Int
End Sub
Sub Activity_Create(FirstTime As Boolean)
' Crea etiqueta
etiqueta.Initialize("etiqueta")
etiqueta.TextColor = Colors.Red
etiqueta.Text = "Introduce un año"
Activity.AddView(etiqueta, 5, 10, 300, 60)
' Crea etiqueta2
etiqueta2.Initialize("etiqueta2")
etiqueta2.TextColor = Colors.Blue
etiqueta2.Text = "---"
Activity.AddView(etiqueta2, 5, 300, 350, 100)
' Crea casillero
casillero.Initialize("casillero")
casillero.Text = ""
Activity.AddView(casillero, 5, 100, 200, 60)
' Crea Botón
boton.Initialize("boton")
boton.Text = "Pulsa"
Activity.AddView(boton, 5, 200, 160, 60)
End Sub
Sub Activity_Resume
End Sub
Sub Activity_Pause (UserClosed As Boolean)
End Sub
Sub boton_Click
annus = casillero.Text
If (annus Mod 4) = 0 Then
etiqueta2.Text = "El año " & annus & " es bisiesto. "
Else
etiqueta2.Text = "El año " & annus & " no es bisiesto."
End If
End Sub
|
_____________________________
3.- Divisores de un número.
Un número es divisible por otro cuando al dividirlo da resto 0.
- Para realizar el resto de una división utilizamos la función matemática Mod
resto = numero Mod n
- Para ir agregando los nuevos valores a la variable todos, lo hacemos de esta manera:
todos = todos & " - " & n
Copia y pega este código en un nuevo proyecto |
Sub Process_Globals
' Juan Antonio Villalpando
' juana1991@yahoo.com ' febrero 2013
' Divisores de un número.
' Un número es divisible entre otro cuando al dividirlo
' da de resto 0
End Sub
Sub Globals
Dim etiqueta, etiqueta2 As Label
Dim casillero As EditText
Dim boton As Button
Dim n, numero As Int
Dim resto As Float
Dim todos As String
End Sub
Sub Activity_Create(FirstTime As Boolean)
' Crea etiqueta
etiqueta.Initialize("etiqueta")
etiqueta.TextColor = Colors.Red
etiqueta.Text = "Introduce un número entero"
Activity.AddView(etiqueta, 5, 10, 300, 60)
' Crea etiqueta2
etiqueta2.Initialize("etiqueta2")
etiqueta2.TextColor = Colors.Blue
etiqueta2.Text = "---"
Activity.AddView(etiqueta2, 5, 300, 350, 300)
' Crea casillero
casillero.Initialize("casillero")
casillero.Text = ""
Activity.AddView(casillero, 5, 100, 200, 60)
' Crea Botón
boton.Initialize("boton")
boton.Text = "Pulsa"
Activity.AddView(boton, 5, 200, 160, 60)
End Sub
Sub Activity_Resume
End Sub
Sub Activity_Pause (UserClosed As Boolean)
End Sub
Sub boton_Click
numero = casillero.Text
todos = ""
For n = 1 To numero
resto = numero Mod n
If resto = 0 Then
' Fíjate como se va agregando los divisores a todos.
todos = todos & " - " & n
End If
Next
etiqueta2.Text = todos
End Sub
|
________________________________________________
4.- Cálculo de la letra del D.N.I. Un clásico en Visual Basic.
- Para calcular el DNI, se hace el módulo 23 de su número. El módulo 23 se refiere a dividir el dni entre 23 y tomar su resto.
- El módulo o resto lo obtenemos mediante: dni Mod 23
- Según el resto obtenido se consulta en una tabla para elegir la letra correspondiente.
- Es decir, si dividimos 55555555 entre 23 sale de resto: 21
- Consultamos la cadena = "TRWAGMYFPDXBNJZSQVHLCKE" le corresponde la letra K, (hemos comenzado contando desde 0).
- La linea letra = cadena.SubString2(resto, resto+1) es la que realiza la obtención de la letra.
- En Visual Basic la función de cadena para elegir la letra sería Mid, pero aquí esta función no existe y tenemos que hacerlo comm SubString2.
Copia y pega este código en un nuevo proyecto |
Sub Process_Globals
' Juan Antonio Villalpando
' juana1991@yahoo.com
' Calculo de la letra del DNI
' febrero 2013
End Sub
Sub Globals
Dim etiqueta, etiqueta2 As Label
Dim casillero As EditText
Dim boton As Button
Dim dni, resto As Int
Dim cadena, letra As String
cadena = "TRWAGMYFPDXBNJZSQVHLCKE"
End Sub
Sub Activity_Create(FirstTime As Boolean)
' Crea etiqueta
etiqueta.Initialize("etiqueta")
etiqueta.TextColor = Colors.Red
etiqueta.Text = "Introduce el número del DNI (sin puntos separadores)"
Activity.AddView(etiqueta, 5, 10, 300, 60)
' Crea etiqueta2
etiqueta2.Initialize("etiqueta2")
etiqueta2.TextColor = Colors.Red
etiqueta2.TextSize = 30
etiqueta2.Text = "---"
Activity.AddView(etiqueta2, 5, 300, 350, 100)
' Crea casillero
casillero.Initialize("casillero")
casillero.Text = ""
Activity.AddView(casillero, 5, 100, 200, 60)
' Crea Botón
boton.Initialize("boton")
boton.Text = "Pulsa"
Activity.AddView(boton, 5, 200, 160, 60)
End Sub
Sub Activity_Resume
End Sub
Sub Activity_Pause (UserClosed As Boolean)
End Sub
Sub boton_Click
dni = casillero.Text
resto = dni Mod 23
letra = cadena.SubString2(resto, resto+1)
etiqueta2.Text = dni & " - " & letra
casillero.Text = ""
End Sub
|
________________________________
|