IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Voir le flux RSS

Le Blog de DSR57 - Programmation WinDev

WinDev : Ligne survolée sur un champ table

Noter ce billet
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 :

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
Conclusion


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

Envoyer le billet « WinDev : Ligne survolée sur un champ table » dans le blog Viadeo Envoyer le billet « WinDev : Ligne survolée sur un champ table » dans le blog Twitter Envoyer le billet « WinDev : Ligne survolée sur un champ table » dans le blog Google Envoyer le billet « WinDev : Ligne survolée sur un champ table » dans le blog Facebook Envoyer le billet « WinDev : Ligne survolée sur un champ table » dans le blog Digg Envoyer le billet « WinDev : Ligne survolée sur un champ table » dans le blog Delicious Envoyer le billet « WinDev : Ligne survolée sur un champ table » dans le blog MySpace Envoyer le billet « WinDev : Ligne survolée sur un champ table » dans le blog Yahoo

Catégories
WinDev , Fonctions

Commentaires