French Liste déroulante (combobox ?)

Discussion in 'French Forum' started by JPP, Apr 29, 2015.

  1. JPP

    JPP Member Licensed User

    Bonjour à tous,

    Je débute à peine avec B4A. Mon objectif est d'essayer de faire tourner sur mon smartphone des applications que j'avais écrites en VBA sous Excel.

    J'ai réussi à tout installer, à essayer des petits programmes de démonstration, les transférer et le exécuter sur mon Wiko. Cela me semble prometteur...

    Mais maintenant, je ne trouve absolument pas comment mettre en place une liste déroulante (ou combobox).
    Je pensais pouvoir l'installer avec le "designer" de B4A - comme avec la barre d'outils contrôles sur PC - mais je ne trouve rien ! C'est mentionné dans l'aide de B4A, mais comment l'installer, mystère !

    Si quelqu'un l'a déjà fait (c'est un peu du B.A.BA) et peut m'aider, ce serait super.
    Avec un petit exemple, même, comme par exemple une liste des jours de la semaine permettant de choisir le jour.

    D'avance, merci !
    JPP
     
  2. klaus

    klaus Expert Licensed User

    Tu peux utiliser un Spinner dans le Designer.
    Et le remplir avec:
    Code:
    Spinner1.AddAll(Array As String("Lundi""Mardi""Mercredi""Jeudi""Vendredi""Samedi""Dimanche"))
     
    lemonisdead likes this.
  3. JPP

    JPP Member Licensed User

    Merci Klaus,

    effectivement, c'est une solution !
    Je sèche encore un peu : j'ai créé un spinner nommé Jours, et le membre :

    "Sub Jours_ItemClick (Position As Int, Value As Object)"

    Comment récupère-t-on pour utilisation ultérieure le jour choisi ?
    Merci !
    JPP
     
  4. klaus

    klaus Expert Licensed User

    Tu peux définir une variable, par exemple Jour, et attribuer Value à cette variable.
    Code:
    Sub Process_Globals
        
    Dim Jour As String
    End Sub

    Sub Jours_ItemClick (Position As Int, Value As Object)
        Jour = Value
    End Sub
    Après tu peux utiliser la variable Jour, qui contient la nom du jour sélectionné, n'importe où dans le programme.
    Tu peux l'afficher dans un Label avec Label1.Text = Jour.
     
  5. Laurent95

    Laurent95 Active Member Licensed User

    Bonjour,

    Comme l'a évoqué Klaus on peut remplir un spinner avec un tableau de chaines :
    Auquel cas la valeur retournée sera "Value", déclarée comme object pour retourner différents types de valeurs, int, string, image etc., et son index dans la liste sera "Position".
    Il suffit de mettre un log pour observer les valeurs retournées. Un exemple d'utilisation avec des noms de polices dans un de mes programmes ci-dessous.
    Cela reste un extrait je ne l'ai pas testé ainsi, mais le log suffit au besoin sans charger de fonts ou les affecter à un label.

    Bonne prog.

    Edit : Oppppsssss, Klaus est rapide aussi :)

    Code:
    Sub Globals
      
    Dim spFont As Spinner
      
    Dim lblFont As Label
    End Sub

    Sub Activity_Create(FirstTime As Boolean)
      spFont.Addall(
    Array As String("Digital","Cutabove","Diskoteq","TouristTrap","Albas""Gismonda", _
                     
    "SquaroDynamic","Rounded","DefaultBold"))
    End Sub

    Sub spFont_ItemClick (Position As Int, Value As Object)
       
    Log("Position Is : " & Position & ", value is : " & Value)
       lblFont.Typeface=Value
    End Sub
     
  6. JPP

    JPP Member Licensed User

    Merci à tous les deux !
    Cela commence à prendre tournure, mais il faut que je m'habitue, ce n'est plus ou pas exactement le VBA d'avant !
    J'aurai bien sûr, ultérieurement, d'autres questions générales à poser -- mais j'éplucherai les forums avant.

    Bonne journée,
    JPP
     
  7. Laurent95

    Laurent95 Active Member Licensed User

    D'autant que le VBA d'Excel est très orienté tableur, il n'y aura donc pas toutes les fonctions accessibles.
    En plus sous B4A il faudra absolument ne pas perdre de vue que le support est Android et donc Java, pas un OS comme Windows soit disant multi taches, enfin au moins multi fenêtres. Android gère certains paramètres comme l'occupation mémoire qui amène parfois des surprises. Mais bon cela est un autre sujet.
    Donc oui il y aura de l'adaptation à faire pour porter les applis.

    Mais bon Java est Open source et souple, et B4A encore plus du fait de la grande communauté autour.
    Il y a donc plein de possibilités, par exemple celle de créer des classes et de les surcharger (cf. billet avec les explications culinaires :) )

    Bonne prog.
     
  8. klaus

    klaus Expert Licensed User

    Tu peux lire le Beginner's Guide et le User's Guide, malheureusement seulement en anglais.
     
Loading...
  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice