1. Ce site utilise des cookies. En continuant à utiliser ce site, vous acceptez l'utilisation des cookies. En savoir plus.
  2. Bonjour tout le monde ! Veillez consulter la Politique de forum pour comprendre nos règles, Merci a vous !
    Rejeter la notice

WM ZoneRépétée avec une télécommande de TV

Discussion dans 'Windev Mobile' créé par Wikeos, Déc 16, 2023.

  1. Wikeos

    Wikeos Active Member

    Inscrit:
    Fev 27, 2020
    Messages:
    167
    J'aime reçus:
    166
    Bonjour à tous,

    Après avoir fait le tour, je donne ma langue au chat.
    J'ai un soucis avec la zone répété en version mobile mais uniquement quand l'application est sur un téléviseur.

    Voici le soucis, quand je souhaite selectionner un indice de ma zone répétée avec les fleches directionnelles d'une télécommande, il m'est impossible de savoir sur quel indice je suis de ma zone répétée, plus exactement je ne sais pas si il existe un évenement sur windev mobile pour cela.

    J'ai bien évidemment essayé ZR_Users, ZR_Users[Users] pour essayer de récupérer l'indice mais rien n'y fait, le but etant sur l'image ci dessous de changer le fond d'un indice de la zone quand on est positionné dessus et ça grâce à la télécommande.

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!



    Je suppose que ça simule une tabulation mais j'en ai pas la certitude.

    Bonne journée à tous.
     
    Tags:
  2. popoy

    popoy Well-Known Member
    MEMBRE WX

    Inscrit:
    Fev 23, 2018
    Messages:
    2,885
    J'aime reçus:
    1,533
    Salut,
    C'est

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    , qui m'as fourni la réponse
    Dans l'événement WmKeydown
    Et en ajoutant un
    Code (Text):
    EXTERNE "KEYCONST.wl"
    Tu peux ensuite utiliser les constantes
    Code (Text):
    VK_DOWN
    VK_RIGHT
    VK_UP
    VK_LEFT
    Et tu utilises la variable clavier

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

     
  3. popoy

    popoy Well-Known Member
    MEMBRE WX

    Inscrit:
    Fev 23, 2018
    Messages:
    2,885
    J'aime reçus:
    1,533
    J'ai oublié que tu peux tester le
    Code (Text):
    ..Occurrence
    De la ZR.
     
  4. popoy

    popoy Well-Known Member
    MEMBRE WX

    Inscrit:
    Fev 23, 2018
    Messages:
    2,885
    J'aime reçus:
    1,533
    La touche OK renvoie
    Code (Text):
    0
    VK_PLAY
    Ou
    VK_RETURN
     
  5. Wikeos

    Wikeos Active Member

    Inscrit:
    Fev 27, 2020
    Messages:
    167
    J'aime reçus:
    166
    Merci beaucoup Popoy et Trick, je vais essayer cela tout à l'heure.
     
  6. Wikeos

    Wikeos Active Member

    Inscrit:
    Fev 27, 2020
    Messages:
    167
    J'aime reçus:
    166

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    Salut,
    C'est

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    , qui m'as fourni la réponse
    Dans l'événement WmKeydown
    Et en ajoutant un
    Code (Text):
    EXTERNE "KEYCONST.wl"
    Tu peux ensuite utiliser les constantes
    Code (Text):
    VK_DOWN
    VK_RIGHT
    VK_UP
    VK_LEFT
    Et tu utilises la variable clavier

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    Cliquez pour agrandir...
    Je viens d'essayer et effectivement c'est très bien pour savoir sur quoi j'appuie, mais hélas ça ne résous pas mon problème quand à savoir sur quel indice et de ma zone répétée je suis
     
  • popoy

    popoy Well-Known Member
    MEMBRE WX

    Inscrit:
    Fev 23, 2018
    Messages:
    2,885
    J'aime reçus:
    1,533
    Salut,
    Je crois que
    Code (Text):
     info (<Nom Zone répétée>[<Nom Zone répétée>])
    Ou
    Info(<Nom Zone répétée>)
    Renvoie l'indice en cours quand tu sélectionnes.
     
  • popoy

    popoy Well-Known Member
    MEMBRE WX

    Inscrit:
    Fev 23, 2018
    Messages:
    2,885
    J'aime reçus:
    1,533
    A priori tu l'as déjà essayé sauf que tu n'as pas essayé dans ton cas
    Code (Text):
    ZR_Users[ZR_Users]
     
  • Wikeos

    Wikeos Active Member

    Inscrit:
    Fev 27, 2020
    Messages:
    167
    J'aime reçus:
    166

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    A priori tu l'as déjà essayé sauf que tu n'as pas essayé dans ton cas
    Code (Text):
    ZR_Users[ZR_Users]
    Cliquez pour agrandir...
    Si c'est juste une erreur sur mon premier message mais j'ai bien essayé ceci, cela fonctionne pas avec une télécommande.
    C'est super étrange.
     
  • Wikeos

    Wikeos Active Member

    Inscrit:
    Fev 27, 2020
    Messages:
    167
    J'aime reçus:
    166
    Petit up, je n'ai toujours pas résolu mon problème si jamais une personne avait une piste ça serais top !
     
  • popoy

    popoy Well-Known Member
    MEMBRE WX

    Inscrit:
    Fev 23, 2018
    Messages:
    2,885
    J'aime reçus:
    1,533
    J'espère que

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    ne m'en voudra pas
    Je te transmets son code qui fonctionne
    Chez moi
    Code (Text):

    PROCÉDURE Touchepressee()

            //ToastAffiche(Majuscule(ChampEnCours()))

            //si Majuscule(ChampEnCours()) = Majuscule(ZR_Contact..Nom) alors
            SI MaFenêtre..Plan = Cst_CarnetAdresse_TV _ET_ PAS EnModeTest() ALORS
            SI Clavier.Code = VK_DOWN _OU_ Clavier.Code = VK_RIGHT ALORS
            EcranPremier(ZR_Contact_TV)
            SI ZR_Contact_TV <= ZR_Contact_TV..Occurrence - 1 ALORS
            ZR_Contact_TV += 1
            SINON
            ZR_Contact_TV = -1
            EcranPremier(BTN_RetourContact)
            DonneFocus(BTN_RetourContact)
            RENVOYER -1
            FIN
            ZoneRépétéeSelectPlus(ZR_Contact_TV)
            EcranPremier(ZR_Contact_TV)
            RENVOYER -1
            FIN

            SI Clavier.Code = VK_UP _OU_ Clavier.Code = VK_LEFT ALORS
            EcranPremier(ZR_Contact_TV)
            SI ZR_Contact_TV > 1 ALORS
            ZR_Contact_TV -= 1
            SINON
            ZR_Contact_TV = 1 //ZR_Chaines..Occurrence - 1
            FIN
            ZoneRépétéeSelectPlus(ZR_Contact_TV)
            EcranPremier(ZR_Contact_TV)
            RENVOYER -1
            FIN

            // Touche de 1 à 9 //
            // 49 à 57 inclus //

            // ToastAffiche("Touche enfoncée : " + Clavier.Code ,toastCourt,cvMilieu,chCentre)

            SI Clavier.Code >=49 _ET_ Clavier.Code <=57 ALORS // Touche de 1 à 9
            nValeur est un entier = Clavier.Code - 48 // pour que le code 49 = 1
            //ToastAffiche("Touche clavier : " + clavier.code)
            nPos est un entier = ZoneRépétéeCherche(ZR_Contact_TV.ATT_Numero,nValeur,rechercheIdentique,1)
            SI nPos > 0 ALORS
            ZoneRépétéeSelectPlus(ZR_Contact_TV,nPos)
            SI ZR_Contact_TV.ATT_Actif = Vrai ALORS
            SI AjouteContact() = Vrai ALORS
            EcranPremier(ZR_Contact_TV)
            RepriseSaisie(ZR_Contact_TV)
            RENVOYER -1
            FIN
            FIN
            FIN
            FIN


            // Touche Ok et les autres //
            SI Clavier.Code = 0 _OU_ Clavier.Code = VK_PLAY _OU_ Clavier.Code=VK_RETURN ALORS // Touche OK
            SI ZR_Contact_TV.ATT_Actif = Vrai ALORS
            SI AjouteContact() = Vrai ALORS
            EcranPremier(ZR_Contact_TV)
            RepriseSaisie(ZR_Contact_TV)
            RENVOYER -1
            FIN
            FIN
            FIN

            FIN


            // ToastAffiche("Touche clavier : " + clavier.code)
            SI MaFenêtre..Plan = Cst_CarnetAdresse_TV _ET_ PAS EnModeTest() ALORS
            RENVOYER Clavier.Code
            SINON
            RENVOYER -1
            FIN
     
    Wikeos et WX1331 aiment ça.
  • popoy

    popoy Well-Known Member
    MEMBRE WX

    Inscrit:
    Fev 23, 2018
    Messages:
    2,885
    J'aime reçus:
    1,533
    Tu remarqueras que c'est ZR_Contact_TV tout court qui est utilisé pour connaître l'indice.
     
  • Wikeos

    Wikeos Active Member

    Inscrit:
    Fev 27, 2020
    Messages:
    167
    J'aime reçus:
    166

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    J'espère que

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    ne m'en voudra pas
    Je te transmets son code qui fonctionne
    Chez moi
    Code (Text):

    PROCÉDURE Touchepressee()

            //ToastAffiche(Majuscule(ChampEnCours()))

            //si Majuscule(ChampEnCours()) = Majuscule(ZR_Contact..Nom) alors
            SI MaFenêtre..Plan = Cst_CarnetAdresse_TV _ET_ PAS EnModeTest() ALORS
            SI Clavier.Code = VK_DOWN _OU_ Clavier.Code = VK_RIGHT ALORS
            EcranPremier(ZR_Contact_TV)
            SI ZR_Contact_TV <= ZR_Contact_TV..Occurrence - 1 ALORS
            ZR_Contact_TV += 1
            SINON
            ZR_Contact_TV = -1
            EcranPremier(BTN_RetourContact)
            DonneFocus(BTN_RetourContact)
            RENVOYER -1
            FIN
            ZoneRépétéeSelectPlus(ZR_Contact_TV)
            EcranPremier(ZR_Contact_TV)
            RENVOYER -1
            FIN

            SI Clavier.Code = VK_UP _OU_ Clavier.Code = VK_LEFT ALORS
            EcranPremier(ZR_Contact_TV)
            SI ZR_Contact_TV > 1 ALORS
            ZR_Contact_TV -= 1
            SINON
            ZR_Contact_TV = 1 //ZR_Chaines..Occurrence - 1
            FIN
            ZoneRépétéeSelectPlus(ZR_Contact_TV)
            EcranPremier(ZR_Contact_TV)
            RENVOYER -1
            FIN

            // Touche de 1 à 9 //
            // 49 à 57 inclus //

            // ToastAffiche("Touche enfoncée : " + Clavier.Code ,toastCourt,cvMilieu,chCentre)

            SI Clavier.Code >=49 _ET_ Clavier.Code <=57 ALORS // Touche de 1 à 9
            nValeur est un entier = Clavier.Code - 48 // pour que le code 49 = 1
            //ToastAffiche("Touche clavier : " + clavier.code)
            nPos est un entier = ZoneRépétéeCherche(ZR_Contact_TV.ATT_Numero,nValeur,rechercheIdentique,1)
            SI nPos > 0 ALORS
            ZoneRépétéeSelectPlus(ZR_Contact_TV,nPos)
            SI ZR_Contact_TV.ATT_Actif = Vrai ALORS
            SI AjouteContact() = Vrai ALORS
            EcranPremier(ZR_Contact_TV)
            RepriseSaisie(ZR_Contact_TV)
            RENVOYER -1
            FIN
            FIN
            FIN
            FIN


            // Touche Ok et les autres //
            SI Clavier.Code = 0 _OU_ Clavier.Code = VK_PLAY _OU_ Clavier.Code=VK_RETURN ALORS // Touche OK
            SI ZR_Contact_TV.ATT_Actif = Vrai ALORS
            SI AjouteContact() = Vrai ALORS
            EcranPremier(ZR_Contact_TV)
            RepriseSaisie(ZR_Contact_TV)
            RENVOYER -1
            FIN
            FIN
            FIN

            FIN


            // ToastAffiche("Touche clavier : " + clavier.code)
            SI MaFenêtre..Plan = Cst_CarnetAdresse_TV _ET_ PAS EnModeTest() ALORS
            RENVOYER Clavier.Code
            SINON
            RENVOYER -1
            FIN
    Cliquez pour agrandir...
    Je vais essayer de suite, merci les gars
     
  • Wikeos

    Wikeos Active Member

    Inscrit:
    Fev 27, 2020
    Messages:
    167
    J'aime reçus:
    166

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    J'espère que

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    ne m'en voudra pas
    Je te transmets son code qui fonctionne
    Chez moi
    Code (Text):

    PROCÉDURE Touchepressee()

            //ToastAffiche(Majuscule(ChampEnCours()))

            //si Majuscule(ChampEnCours()) = Majuscule(ZR_Contact..Nom) alors
            SI MaFenêtre..Plan = Cst_CarnetAdresse_TV _ET_ PAS EnModeTest() ALORS
            SI Clavier.Code = VK_DOWN _OU_ Clavier.Code = VK_RIGHT ALORS
            EcranPremier(ZR_Contact_TV)
            SI ZR_Contact_TV <= ZR_Contact_TV..Occurrence - 1 ALORS
            ZR_Contact_TV += 1
            SINON
            ZR_Contact_TV = -1
            EcranPremier(BTN_RetourContact)
            DonneFocus(BTN_RetourContact)
            RENVOYER -1
            FIN
            ZoneRépétéeSelectPlus(ZR_Contact_TV)
            EcranPremier(ZR_Contact_TV)
            RENVOYER -1
            FIN

            SI Clavier.Code = VK_UP _OU_ Clavier.Code = VK_LEFT ALORS
            EcranPremier(ZR_Contact_TV)
            SI ZR_Contact_TV > 1 ALORS
            ZR_Contact_TV -= 1
            SINON
            ZR_Contact_TV = 1 //ZR_Chaines..Occurrence - 1
            FIN
            ZoneRépétéeSelectPlus(ZR_Contact_TV)
            EcranPremier(ZR_Contact_TV)
            RENVOYER -1
            FIN

            // Touche de 1 à 9 //
            // 49 à 57 inclus //

            // ToastAffiche("Touche enfoncée : " + Clavier.Code ,toastCourt,cvMilieu,chCentre)

            SI Clavier.Code >=49 _ET_ Clavier.Code <=57 ALORS // Touche de 1 à 9
            nValeur est un entier = Clavier.Code - 48 // pour que le code 49 = 1
            //ToastAffiche("Touche clavier : " + clavier.code)
            nPos est un entier = ZoneRépétéeCherche(ZR_Contact_TV.ATT_Numero,nValeur,rechercheIdentique,1)
            SI nPos > 0 ALORS
            ZoneRépétéeSelectPlus(ZR_Contact_TV,nPos)
            SI ZR_Contact_TV.ATT_Actif = Vrai ALORS
            SI AjouteContact() = Vrai ALORS
            EcranPremier(ZR_Contact_TV)
            RepriseSaisie(ZR_Contact_TV)
            RENVOYER -1
            FIN
            FIN
            FIN
            FIN


            // Touche Ok et les autres //
            SI Clavier.Code = 0 _OU_ Clavier.Code = VK_PLAY _OU_ Clavier.Code=VK_RETURN ALORS // Touche OK
            SI ZR_Contact_TV.ATT_Actif = Vrai ALORS
            SI AjouteContact() = Vrai ALORS
            EcranPremier(ZR_Contact_TV)
            RepriseSaisie(ZR_Contact_TV)
            RENVOYER -1
            FIN
            FIN
            FIN

            FIN


            // ToastAffiche("Touche clavier : " + clavier.code)
            SI MaFenêtre..Plan = Cst_CarnetAdresse_TV _ET_ PAS EnModeTest() ALORS
            RENVOYER Clavier.Code
            SINON
            RENVOYER -1
            FIN
    Cliquez pour agrandir...
    Il utilise sa procédure Touchepressee() dans l'évenement WmKeydown ?
     
  • Wikeos

    Wikeos Active Member

    Inscrit:
    Fev 27, 2020
    Messages:
    167
    J'aime reçus:
    166
    J'ai réadapté le code et c'est parfait, ça fonctionne, encore merci !
    Sujet résolu.
     
  • trick

    trick Active Member
    MEMBRE WX DUMP TEAM

    Inscrit:
    Jan 1, 2018
    Messages:
    170
    J'aime reçus:
    95
    Merci Mr Trick :cool:
     
    WX1331 et Wikeos aiment ça.
  • Partager cette page

    Chargement...