Touches de fonction et saisie
Posted in 1997
Translated from English by DrWatson — View original
Bonjour à tous, {Infos système essentielles : HP 9000/896 sous HP-UX 10.01 ; Informix 5.04 ; I4gl 4.13} Je ne me souviens pas que cela se soit déjà produit auparavant, il peut donc s'agir d'un problème d'émulation de terminal, mais il se peut aussi que je n'aie jamais exécuté exactement ce type de fonction auparavant, ou que je n'aie jamais appuyé sur les mauvaises touches. Le problème : j'ai un « input ... without defaults » classique. J'ai plusieurs instructions « before field » et « after field », ainsi que « before input » et « after input ». J'ai également UNE seule clause « On Key (F2) » qui, en fonction du résultat de « infield() », appelle différentes fonctions pour la saisie étendue et les fenêtres « pop-up ». Nous venons de remarquer (parce que quelqu'un a cru que F7 était F2 !) que toutes les touches de fonction au-delà de F6 transmettent du code à l'écran et tentent même de valider (Accept) les données ! La touche F6 envoie un <ESC> et le code « [17~ » à l'écran. Le programme passe par la clause « after input » et, en cas de problème, place l'utilisateur dans le champ incorrect (comme il se doit), mais y insère cette valeur « [17~ ». {F7 à F12 font la même chose, sauf que le nombre augmente de 1 pour chaque touche.} Étant donné que je n'utilise aucune autre touche de fonction que F2, et que je ne les ai déclarées nulle part via « Options », Informix ne devrait-il pas simplement les ignorer ? La seule solution que j'arrive à imaginer est de déclarer « On Key » pour toutes les touches de fonction inutilisées, avec peut-être des messages d'erreur affichant « Cette touche n'est pas valide ». Il DOIT bien y avoir une meilleure méthode ! Merci, Michael