|     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
Translate:
Búsqueda en este sitio:


Nuevo concurso para España, Argentina, Brasil, Chile, Colombia, Ecuador, México, Perú y Portugal.

B4A en español - Juan Antonio Villalpando
(BASIC4Android)

-- Tutorial de B4A --

Volver al índice del tutorial

____________________________

32B.- InputBox con la librería Dialog.

- Tutoriales. InputBox con la librería Dialog.

- Presentación.

Basic4Android, no dispone de la ventana de entrada de datos InputBox, pero podemos crearlo mediante la librería Dialogs.

El tutorial de la librería Dialogs lo encontramos en:
http://www.basic4ppc.com/android/help/dialogs.html

El tutorial de la utilización de archivos y directorios lo encontramos en:
http://www.basic4ppc.com/android/help/files.html

En el tutorial anterior vimos distintas posibilidades de la librería Dialogs, ahora vamos a crear un InputBox.

 

__________________________
1.- Entrada de datos mediante ventana. InputBox.

Al pulsar el botón "Pulsa" nos sale una ventana en donde podemos escribir un dato.

Ventana de introducción de datos

 

 



En este proyecto los controles se crean en el código, no hace falta Layout

 

Cargamos la librería: Dialogs


_____________________
- Comentarios.

Al pulsar el botón sale una ventana emergente.

Si escribimos algo y pulsamos el botón "Cambiar", cambia el texto de la etiqueta.
Si pulsamos "Borrar", borra el texto de la etiqueta.
Si pulsamos "Cancelar", no hace ninguna operación en la etiqueta.

ret = -1 se produce cuando pulsamos el primer botón.
ret = -3 se produce cuando pulsamos el segundo botón.
ret = -2 se produce cuando pulsamos el tercer botón.

Si no queremos que salga un botón ponemos solo comillas: ""
ret = Id.Show("Escribe un texto, pulsa botones", "Título", "Cambiar", "Borrar", "", Null)

En vez de Null, podemos poner una imagen bmp.

Código del Basic4Android
Sub Process_Globals
' Juan Antonio Villapando
' juana1991@yahoo.com

' junio 2013
End Sub

Sub Globals
    Dim boton As Button
    Dim etiqueta As Label
Dim ret As String End Sub Sub Activity_Create(FirstTime As Boolean) ' Crea Botón (Button) boton.Initialize("boton") boton.TextColor = Colors.Red boton.Text = "Pulsa" Activity.AddView(boton, 0dip, 10dip, 100%x, 10%y) ' Crea etiqueta (Label) etiqueta.Initialize("etiqueta") etiqueta.TextSize = 20 etiqueta.Color=Colors.Red etiqueta.Gravity = Gravity.CENTER etiqueta.Text = "Label es Etiqueta" Activity.AddView(etiqueta, 20dip, 80dip, 270dip, 40dip) End Sub Sub Activity_Resume End Sub Sub Activity_Pause (UserClosed As Boolean) End Sub Sub boton_Click Dim Id As InputDialog Id.Hint = "Escribe algo" Id.HintColor = Colors.ARGB(196, 255, 140, 0) ret = Id.Show("Escribe un texto, pulsa botones", "Título", "Cambiar", "Borrar", "Cancelar", Null) ' Primer botón -1 If ret = -1 Then etiqueta.Text = Id.Input ToastMessageShow("Has pulsado: Cambiar", False) End If ' Tercer botón -2 If ret = -2 Then ToastMessageShow("Has pulsado: Cancelar", False) End If ' Segundo botón -3 If ret = -3 Then etiqueta.Text = "" ToastMessageShow("Has pulsado: Borrar", False) End If End Sub

__________________________

2.- Subrutina InputBox.

En los tutoriales de B4A, concretamente en este, muestran una Subrutina llamada InputBox que al llamarla funciona de una forma parecida a la de Visual Basic.

'Following  is  a  Sub  from Pfriemler which acts like InputBox:

Sub InputBox(Prompt As String, Title As String, Default As String, Hint As String) As String
    Dim Id As InputDialog
    Id.Hint = Hint
    Id.Input = Default
    ret = Id.Show(Prompt, Title, "OK", "","Abbrechen", Null)
    If ret = -1 Then Return Id.Input Else Return ""
End Sub

      

Voy a adaptarla en el siguiente código.....

Código del Basic4Android
Sub Process_Globals
' Juan Antonio Villapando
' juana1991@yahoo.com

' junio 2013
End Sub

Sub Globals
    Dim boton As Button
    Dim etiqueta, etiqueta2 As Label
    Dim ret As String
End Sub

Sub Activity_Create(FirstTime As Boolean)
    ' Crea Botón (Button)
    boton.Initialize("boton")
    boton.TextColor = Colors.Red
    boton.Text = "Pulsa"
    Activity.AddView(boton, 0dip, 10dip, 100%x, 10%y)

    ' Crea etiqueta (Label)
    etiqueta.Initialize("etiqueta")
    etiqueta.TextSize = 20
    etiqueta.Color=Colors.Red
    etiqueta.Gravity = Gravity.CENTER
    etiqueta.Text = "Label es Etiqueta"
    Activity.AddView(etiqueta, 20dip, 80dip, 270dip, 40dip)
    
    ' Crea etiqueta (Label)
    etiqueta2.Initialize("etiqueta2")
    etiqueta2.TextSize = 20
    etiqueta2.Color=Colors.Red
    etiqueta2.Gravity = Gravity.CENTER
    etiqueta2.Text = "Label es Etiqueta2"
    Activity.AddView(etiqueta2, 20dip, 130dip, 270dip, 40dip)

End Sub

Sub Activity_Resume

End Sub

Sub Activity_Pause (UserClosed As Boolean)

End Sub

Sub boton_Click
    ' En las "", se puede poner un valor por defecto
    etiqueta.Text = InputBox("Escribe tu nombre", "NOMBRE", "", "Escribe aquí")
    etiqueta2.Text = InputBox("Escribe tu edad", "EDAD", "", "Escribe aquí")
End Sub

Sub InputBox(Prompt As String, Title As String, Default As String, Hint As String) As String
    Dim Id As InputDialog
    Dim ret As String
    Id.HintColor = Colors.ARGB(196, 255, 140, 0)
    Id.Hint = Hint ' Valor escrito en el casillero
    Id.Input = Default ' Valor por defecto en el casillero
    ' Cambiar, Borrar, Cancelar son los botones, si quieres quitar alguno: ""
    ret = Id.Show(Prompt, Title, "Cambiar", "Borrar", "Cancelar", Null)
    If ret = -1 Then Return Id.Input else  Return "" ' El valor del casillero es la salida
   ' If ret = -3 Then Return ""
   ' If ret = -2 Then Return 
End Sub
      

- El botón de Cancelar también borra la etiqueta.

Para que al pulsar Cancelar mantenga lo que tenía en el casillero, prueba esto...

etiqueta.Text = InputBox("Escribe tu nombre", "NOMBRE", etiqueta.Text, "Escribe aquí")
etiqueta2.Text = InputBox("Escribe tu edad", "EDAD", etiqueta2.Text, "Escribe aquí")

Sub InputBox(Prompt As String, Title As String, Default As String, Hint As String) As String
    Dim Id As InputDialog
    Dim ret, inicial As String
    Id.HintColor = Colors.ARGB(196, 255, 140, 0)
    Id.Hint = Hint ' Valor escrito en el casillero
   ' Id.Input = Default ' Valor por defecto en el casillero
    
    ' Cambiar, Borrar, Cancelar son los botones, si quieres quitar alguno: ""
    ret = Id.Show(Prompt, Title, "Cambiar", "Borrar", "Cancelar", Null)
    If ret = -1 Then Return Id.Input else  Return "" ' El valor del casillero es la salida
   ' If ret = -3 Then Return ""
   ' If ret = -2 Then Return 
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