Msgbox2Async("Acepta las condiciones?", "Terminos Licencia", "Sí", "", "No", Null, False)
Wait For Msgbox_Result (Result As Int)
If Result = DialogResponse.POSITIVE Then
'...
End If
Esa línea lo que hace es que cuando se muestre el msgbox, se espere por el resultado. El resultado lo devuelve el Msgbox_result como un entero (Result as int) y ese entero representa cada una de las respuestas ("Aceptar", "Cancelar", ....)Wait For Msgbox_Result (Result As Int)
¿Realmente te has descargado y ejecutado el ejemplo de KVS2? No hace falta descargar ninguna librería ya que como indica al final del hilo, desde la versión 8 de B4A KVS2 es una librería interna, por lo que sólo tienes que seleccionarla en la pestaña lateral. Es más, cuando abres el ejemplo ni siquiera tendrás que marcarla ya que las librerías que ya existen se marcan solas. ¿Qué versión de B4A tienes?y me descarga archivos .bal o un proyecto de ejemplo
Nada que disculpar, mientras lo intentes y plantees dudas, aquí estaremos. Si no lo intentas, nosotros tampoco intentaremos ayudarte ;-)Mis disculpas por ser tan lento para entender.
Sub Process_Globals
Public kvs As KeyValueStore 'Declaras la base de datos sqlite para usarla
End Sub
Sub Service_Create
kvs.Initialize(File.DirInternal, "datastore2") 'La inicializas y haces que se grabe en File.Dirinternal, con el nombre datastore2, que puedes cambiar
End Sub
If (Starter.kvs.ContainsKey("MensajeMostrado") = False) Then 'Si kvs no contiene una clave llamada "MensajeMostrado"
'Muestras tu mensaje y si lo acepta
Starter.kvs.Put("MensajeMostrado", True) 'Se guarda como true, por tanto el if ya no será false nunca más
End If
If IdiomaGlobalVariable = "Español" Then
'Cambiar texto a español
Button1.Text = Chr(0xF1E6) & " - Eléctrico"
Button2.Text = Chr(0xF043) & " - Fontanería"
Button3.Text = Chr(0xF0AD) & " - Herramientas"
Spinner1.SelectedIndex = 0
'finaliza el cambiar texto al español
else if IdiomaGlobalVariable = "English" Then
'Cambiar texto a ingles
Button1.Text = Chr(0xF1E6) & " - Electric"
Button2.Text = Chr(0xF043) & " - Plumbing"
Button3.Text = Chr(0xF0AD) & " - Tools"
'finaliza el cambiar texto al ingles
Spinner1.SelectedIndex = 1
End If
Starter.kvs.Put("LicenciaAceptada", True)
Starter.kvs.Put("IdiomaIngles", True)
Starter.kvs.Put("IdiomaEspañol", True)
If (Starter.kvs.ContainsKey("IdiomaEspañol") = true) Then
IdiomaGloblaVariable = "Español"
Starter.kvs.Put("IdiomaEnglish", False)
end if
If (Starter.kvs.ContainsKey("IdiomaEnglish") = true) Then
IdiomaGloblaVariable = "English"
Starter.kvs.Put("IdiomaEspañol", False)
end if
If (Starter.kvs.ContainsKey("IdiomaEspañol") = True) Then
IdiomaGlobalVariable="Español"
End If
If (Starter.kvs.ContainsKey("IdiomaEnglish") = True) Then
IdiomaGlobalVariable="English"
End If
Select Spinner1.SelectedIndex
Case 0
IdiomaGlobalVariable = "Español"
'Cambiar texto a español
Button1.Text = Chr(0xF1E6) & " - Eléctrico"
Button2.Text = Chr(0xF043) & " - Fontanería"
Button3.Text = Chr(0xF0AD) & " - Herramientas"
ToastMessageShow ("Se ha cambiado el idioma al Español" , True)
'finaliza el cambiar texto al español
Starter.kvs.Put("IdiomaEspañol", True)
Starter.kvs.Remove("IdiomaEnglish")
Case 1
IdiomaGlobalVariable = "English"
'Cambiar texto a ingles
Button1.Text = Chr(0xF1E6) & " - Electric"
Button2.Text = Chr(0xF043) & " - Plumbing"
Button3.Text = Chr(0xF0AD) & " - Tools"
ToastMessageShow ("Language has been changed to English" , True)
'finaliza el cambiar texto al ingles
Starter.kvs.Put("IdiomaEnglish", True)
Starter.kvs.Remove("IdiomaEspañol")
End Select
Puedes echar un ojo a este postRealmente aun no entiendo la creacion de estos valores, pero esta linea que hace?
B4X:Starter.kvs.Put("LicenciaAceptada", True)
Starter.kvs.Put("Idioma", "Español")
o
Starter.kvs.Put("Idioma", "English")
Muchas gracias por todo, pero para salir de dudas, de la forma que lo hize, es mas complicado pero, no daría problema en algún momento el usarlo asi? ese es mi miedo.Hola chuy-mjr, me alegro de que vayas solucionando los problemas y sobre todo que estés motivado para seguir con ella e ir superando los problemas.
Puedes echar un ojo a este post
Creo que sería más fácil si hicieras:
B4X:Starter.kvs.Put("Idioma", "Español") o Starter.kvs.Put("Idioma", "English")
De esta forma tendrías en tu variable Idioma el idioma seleccionado.
saludos,
Otra opcion podria ser detectar el idioma en el que esta configurado el dispositivo y si no es el español mostrar la informacion en ingles.
If (Starter.kvs.ContainsKey("Idioma") = False) Then
Starter.kvs.Put("Idioma", True)
Starter.kvs.Put("Idioma" , "Español")
End If
If (Starter.kvs.ContainsKey("Idioma" , "Español") = True) Then
End If
If (Starter.kvs.ContainsKey("Idioma") = False) Then
Starter.kvs.Put("Idioma" , "Español")
’muestras el msgbox
End If
If Starter.kvs.ContainsKey("Idioma") Then
'aqui ya sabes que el idioma esta definido a español o ingles, porque habra entrado si es true
End If
if kvs.get("idioma") = "español" then
'idioma español
else
'ingles
emd if
No tanto:Eso suena interesante pero mas complejo me imagino.
Sub defaultLanguage As String
Dim r As Reflector
r.Target = r.RunStaticMethod("java.util.Locale", "getDefault", Null, Null)
Return r.RunMethod("getLanguage")
End Sub
Hola:
No has entendido bien el concepto. Containskey quiere decir “si contiene la clave”. Es decir, preguntas si ya has añadido a kvs una clave llamada idioma. Si no lo has hecho, quiere decir que no existe.
Por tanto, debería ser
B4X:If (Starter.kvs.ContainsKey("Idioma") = False) Then Starter.kvs.Put("Idioma" , "Español") ’muestras el msgbox End If
depues de esto, containskey sera TRUE porque kvs ya “contiene una clave idioma” (cuyo valor es “español” o ingles)
bastaria hacer
B4X:If Starter.kvs.ContainsKey("Idioma") Then 'aqui ya sabes que el idioma esta definido a español o ingles, porque habra entrado si es true End If
para obtener el valor de unaclave, se usa get.
B4X:if kvs.get("idioma") = "español" then 'idioma español else 'ingles emd if
No tanto:
B4X:Sub defaultLanguage As String Dim r As Reflector r.Target = r.RunStaticMethod("java.util.Locale", "getDefault", Null, Null) Return r.RunMethod("getLanguage") End Sub
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?