- Presentación.
- Un sencillo ejemplo de RadioButton.
- Primero entramos en el programa Basic4Android / Tools / Run AVD Manager
- Luego en el Android SDK Manager / Tools / Manage AVDs...
- Marcamos un AVD Name / y pulsamos Start y luego Launch para abrir un emulador.
Creamos una carpeta llamada RadioButton en...................... C:\Android\RadioButton y dentro un archivo llamado radiobutton.b4a
En el Basic4Android, entramos en File / OpenSource y cargamos el C:\Android\RadioButton\radiobutton.b4a
Pulsamos en File / Save y guardamos radiobutton.b4a
Este programa se lo dedicamos a los de Telecomunicaciones. Se trata de escribir un número y realizar su inverso. De tal manera que el número introducido puede estar en múltiplos o submúltiplos de la unidad, igualmente el resultado debe estar en la forma más apropiada de presentación.
- Por ejemplo, una señal tiene una frecuencia de 4 KHz, calculemos su periodo (T).
T = 1 / f
T = 1 / 4000 = 0,00025 segundos = 250 microsegundos
- Ahora calculemos la frecuencia de una señal cuyo periodo es de 50 nanosegundos
f = 1 / T
f = 1 / 0,00000005 = 20000000 Hercios = 20 Megahercios
- En el programa introduciremos un número, elegiremos en qué múltiplo o submúltiplo está expresado y automáticamente nos realizará su inverso presentándolo de manera apropiada.
____________________________
- Designer. Layout.
Creamos los controles
|
Una frecuencia de 4 KHz tiene un periodo de 250 microsegundos. |
Insertamos mediante
Designer / Add View
Label1.... Text .... Escribe un número
Label2, Label3
EditText1
RadioButton1
....
RadioButton8
Guardamos el Designer:
File / Save : Layout
Una vez cargado el Designer en el emulador, podemos ubicar los controles donde queramos. |
Ahora vamos al código del programa, pero antes seguimos en el Designer y marcamos todos los:
Tools / Generate members
RadioButton ChequedChange (Checked As Boolean)
Pulsamos Generate members
Esto lo hacemos para que en el código aparezca:
Sub RadioButton1_CheckedChange(Checked As Boolean)
End Sub
Que es donde pondremos el valor de la potencia y la llamada a la Subrutina Calculo.
(En realidad podríamos poner las dos líneas anteriores escrita manualmente, sin tener que hacerlo mediante el Generate members).
____________________________
- Código (copia y pega).
Código del programa RadioButton
|
Sub Process_Globals
' Juan Antonio Villalpando
' juana1991@yahoo.com
' abril 2013
End Sub
Sub Globals
Dim EditText1 As EditText
Dim Label2, Label3 As Label
Dim valor, potencia, resultado As Float
Dim m As String
End Sub
Sub Activity_Create(FirstTime As Boolean)
Activity.LoadLayout("Layout")
End Sub
Sub Activity_Resume
End Sub
Sub Activity_Pause (UserClosed As Boolean)
End Sub
Sub RadioButton1_CheckedChange(Checked As Boolean)
potencia = 1000000000
Calculo
End Sub
Sub RadioButton2_CheckedChange(Checked As Boolean)
potencia = 1000000
Calculo
End Sub
Sub RadioButton3_CheckedChange(Checked As Boolean)
potencia = 1000
Calculo
End Sub
Sub RadioButton4_CheckedChange(Checked As Boolean)
potencia = 1
Calculo
End Sub
Sub RadioButton5_CheckedChange(Checked As Boolean)
potencia = 0.001
Calculo
End Sub
Sub RadioButton6_CheckedChange(Checked As Boolean)
potencia = 0.000001
Calculo
End Sub
Sub RadioButton7_CheckedChange(Checked As Boolean)
potencia = 0.000000001
Calculo
End Sub
Sub RadioButton8_CheckedChange(Checked As Boolean)
potencia = 0.000000000001
Calculo
End Sub
' Subrutina de Calculo
Sub Calculo
valor = EditText1.Text
resultado = 1 / (valor * potencia)
Label3.Text = resultado
If resultado < 0.000000001 Then
resultado = resultado * 1000000000000 : m = " pico"
Else If resultado < 0.000001 Then
resultado = resultado * 1000000000 : m = " nano"
Else If resultado < 0.001 Then
resultado = resultado * 1000000 : m = " micro"
Else If resultado < 1 Then
resultado = resultado * 1000 : m = " mili"
Else If resultado < 1000 Then
resultado = resultado * 1 : m = " unidad"
Else If resultado < 1000000 Then
resultado = resultado * 0.001 : m = " Kilo"
Else If resultado < 1000000000 Then
resultado = resultado * 0.000001 : m = " Mega"
Else If resultado < 1000000000000 Then
resultado = resultado * 0.000000001 : m = " Giga"
End If
' Redondeo con 2 decimales
Label2.text = Round2(resultado,2) & m
End Sub
|
____________________________
- Comentarios.
- Según el RadioButton marcado, se tomará un valor de potencia e irá a la Subrutina Calculo para realizar el cálculo.
- En la Subrutina Calculo se realizará el inverso y se comprobará su valor.
- Según el resultado obtenido se adaptará a una presentación de múltiplo o submúltiplo.
NOTA IMPORTANTE: El algoritmo no está completamente depurado, comete errores cuando escribimos por ejemplo:
1 GHz y nos sale 1000 picosegundos, debiendo salir 1 nanosegundo. Se deja a la elección del lector que mejore el código y lo adapte a sus necesidades, ya que solo se pretende presentar el funcionamiento del RadioButton.
Operadores del If
> mayor que...
< menor que...
>= mayor o igual que...
<= menor o igual que...
= igual que...
<> distinto que...
AND y
OR o
If a > 1 And a < 3 Then MsgBox( "Es mayor de 1 y menor de 3", "Respuesta")
If a < 1 Or b >= 4 Then ........