WinDev : Ligne survolée sur un champ table
par
, 09/09/2015 à 23h04 (1045 Affichages)
Une fonction pour récupérer la ligne survolée d'un champ Table
Dans ce billet je propose une petite fonction qui permet de récupérer la ligne survolée d'un champ Table.
Contexte technique
En effectuant une recherche sur Google, j'ai plus m'apercevoir qu'un certains nombre de développeurs cherchaient comment récupérer l'indice de la ligne survolée.
WinDev permet récupérer cet indice mais le WLangage ne possède pas de fonction native et intuitive, c'est donc pour cette raison que j'ai créé une nouvelle fonction.
Version : 20 et antérieures
Nouvelle fonction
Nom de la fonction : TableLigneSurvol
Code WinDev : Sélectionner tout - Visualiser dans une fenêtre à part
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 // 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
Les exceptions
Comme vous avez pu le constater en lisant le code source de la fonction, celle-ci déclenche des exceptions en cas de problème. Deux types d'exceptions sont gérées :
Code Message 1 Le champ '%%Champ%%' n'existe pas 2 Le champ '%%Champ%%' n'est pas de type table
Exemple d'utilisation avec la gestion des exceptions :
Conclusion
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 QUAND EXCEPTION DANS TableLigneSurvol(Tab_LstClient..nom) FAIRE //Gestion des exceptions FIN
Cette fonction permet de faciliter la programmation et rendre plus lisible le code de récupération la ligne survolée d'un champ Table.
Bon dev à tous