B4A - Duvida - Demonstrar resultado do Mapa em Tela

Bom dia.

Pessoal, sou iniciante em B4A, comecei meu primeiro aplicativo ontem, mas, estou com duvida sobre como mostrar meu mapa em tela.
Fiz um mapa para gerar números randômicos, mas, não consigo de forma alguma exibir o resultado em tela.

Como posso fazer para exibir o resultado em uma mensagem, ou em um label, ao clicar no botão Mostrar_click?

Desde já agradeço,
obrigada.



Sub btn_Mostrar_Click As Map
numeroMap.Initialize


numeroMap = CreateMap("Numero 1":1, "Numero 2":2)

qtdNumerosTotal = 0
qtdNumeros = 0



If Rb_17.Checked Then
qtdNumerosTotal = 26
qtdNumeros = 17
Else
If Rb_18.Checked Then
qtdNumerosTotal = 26
qtdNumeros = 18
Else
If Rb_19.Checked Then
qtdNumerosTotal = 26
qtdNumeros = 19
Else
If Rb_20.Checked Then
qtdNumerosTotal = 26
qtdNumeros = 20
Else
If Rb_21.Checked Then
qtdNumerosTotal = 26
qtdNumeros = 21
Else
If Rb_22.Checked Then
qtdNumerosTotal = 26
qtdNumeros = 22
End If
End If
End If
End If
End If
End If



Do Until numeroMap.Size=qtdNumeros
numeroMap.Put(Rnd(qtdNumerosInicial,qtdNumerosTotal+1),Null)

Loop
Return (numeroMap)

Log("Mensagem: ${numeroMap}"$)

End Sub
 

Xandoca

Active Member
Licensed User
Longtime User
olá.

Você tem que criar um layout, adicionar um label (por exemplo) e no evento click do botao colocar label.text = xxxx
Vou fazer um exemplo para você. me dê alguns minutos.
 

Xandoca

Active Member
Licensed User
Longtime User
Anexo exemplo bem simples. É isso que você precisava?
 

Attachments

  • 1.zip
    9.1 KB · Views: 395
Pessoal, deu certo, consegui.
Agradeço pela ajuda!!

Somente mais uma dúvida: com relação ao MAP que utilizei o resultado foi {13=null, 6=null, 14=null...}. Existe uma forma de demonstrar somente os números, sem as chaves, = e null? Vi que para o null, posso deixar como " " que fica um espaço em branco, então tudo bem. Mas com relação ao = e as {} é possível retirar?

Obrigada :)
 

Xandoca

Active Member
Licensed User
Longtime User
Olá,

O código abaixo talvez te ajude. Mas o ponto é que Map é uma estrutura de dados, não é uma string.
B4X:
    Dim m As Map
    m.Initialize
    
    m.Put(1,"a") '1 é a key, e a é o value
    m.Put(2,"")
    m.Put(3,"b")
    
    Log(m)    'não é correto fazer isso pois pode ter uma imagem como valor e vai dar erro ao fazer log de uma imagem
    'saída: (MyMap) {1=a, 2=, 3=b}
    
    Dim sm As String = m 'nao é correto
    Log(sm.Replace("{","").Replace("}",""))
    'saída: (MyMap) 1=a, 2=, 3=b
    
    For Each key In m.keys    'forma correta de fazer
        Log(key & ", " & m.Get(key))
    
    Next
    'saída do for
    '1,a
    '2,
    '3,b

Quando eu comecei aqui eu li e fiz alguns dos exemplos que estão nos Booklets. Levei uns dois dias para passar por todos e valeu muito a pena.
 
Top