Fonction table ligne survolée
Bonjour :coucou:
WinDev met à disposition des fonctions de gestion des champs table .
Mais WinDev ne propose pas de fonction dans le même esprit pour récupérer la ligne survolée, cette opération est possible en utilisant la fonction TableInfoXY. Je trouve cette démarche moins intuitive et ne facilite pas la lecture et la compéhension du code lors d'un premier passage. Je poste une petite fonction TableLigneSurvol (Pour conserver l'esprit WinDev) qui renvoie l'indice de la ligne survolée.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
|
// Résumé : retourne l'indice de la ligne survolée dans un champ table
// Syntaxe :
//[ <Résultat> = ] TableLigneSurvol (<ps_Champ> est chaîne)
//
// Paramètres :
// ps_Champ (chaîne ANSI) : Nom du champ table
// Valeur de retour :
// entier : indice de la ligne survolée. -1 si pas de ligne survolée
//
// Exemple :
// TableLigneSurvol(Tab_ListeClient..nom)
//
PROCEDURE TableLigneSurvol(ps_Champ est une chaîne) : entier
SI ChampExiste(ps_Champ) ALORS
SI {ps_Champ,indChamp}..Type = typTable ALORS
RENVOYER TableInfoXY(ps_Champ, tiNumLigne, SourisPosX(), SourisPosY())
SINON
ExceptionDéclenche(2,"Le champ '"+ps_Champ+"' n'est pas de type table")
FIN
SINON
ExceptionDéclenche(1,"Le champ '"+ps_Champ+"' n'existe pas")
FIN
RENVOYER -1 |
Pour avoir plus de renseignements sur
- la gestion des exceptions
- exemple d'utilisation
je vous invite à consulter le billet WinDev : Ligne survolée sur un champ table de mon blog
Bon dev à tous :ccool: