|     Inicio    |   |         |  |   FOROS      |  |      |      
   Elastix - VoIP B4A (Basic4Android) App inventor 2 PHP - MySQL
  Estación meteorológica B4J (Basic4Java) ADB Shell - Android Arduino
  AutoIt (Programación) Visual Basic Script (VBS) FireBase (BD autoactualizable) NodeMCU como Arduino
  Teleco - Emisora de A.M. Visual Basic Cosas de Windows Webs interesantes
T Búsqueda en este sitio:


.

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

________________________________

- Mi correo:
juana1991@yahoo.com
- KIO4.COM - Política de cookies. Textos e imágenes propiedad del autor:
© Juan A. Villalpando
No se permite la copia de información ni imágenes.
Usamos cookies propias y de terceros que entre otras cosas recogen datos sobre sus hábitos de navegación y realizan análisis de uso de nuestro sitio.
Si continúa navegando consideramos que acepta su uso. Acepto    Más información