Salut à tous !
Comment tester si un membre existe ou non dans une classe ?
Dans le genremais pour les membres =)
Code : Sélectionner tout - Visualiser dans une fenêtre à part champExiste(monChamp)
Meci d'avance ! ^^
Salut à tous !
Comment tester si un membre existe ou non dans une classe ?
Dans le genremais pour les membres =)
Code : Sélectionner tout - Visualiser dans une fenêtre à part champExiste(monChamp)
Meci d'avance ! ^^
On ne peut pas rien en standard ne le permet.
Tu dois toi même implémenter une méthode qui renvoie la liste des méthodes disponibles. Ainsi tu pourras tester l'existence d'une méthode.
Ok, mais c'est bon, j'me suis arrangé autrement...
J'ai tout simplement fait un test au moment où je suis en train de faire mon traitement sur le membre, au cas où ça plante, je fais une exception pour lui dire de tracer le fait que le membre est dans mon tableau mémoire, et je l'efface du tableau mémoire ^^
cf : code :
Pour toutes questions, envoyez moi un e-mail ^^
Code : 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 PROCEDURE Load_Data(p_Tableau, p_Requete est une chaîne) v_Cpt est un entier = 0 v_NbMembre est un entier = Dimension(p_Tableau) //On récupère la valeur de chaque membre dans la bdd POUR v_Cpt=1 A v_NbMembre QUAND EXCEPTION DANS {":m_" + p_Tableau[v_Cpt]} = {p_Requete+"."+p_Tableau[v_Cpt]} FAIRE g_trace:Trace("Attention, le membre :m_" + p_Tableau[v_Cpt]+" n'existe pas !","Membres_err") TableauSupprime(p_Tableau,v_Cpt) v_NbMembre-- FIN FIN RENVOYER v_NbMembre
Ca me plairait bien de tester ta petite méthode. Probléme : il faut deviner comment on l'utilise.
Je voyais un truc plus simple genre :
:m_tabmembre étant un tableau de chaîne représentant la liste des membres de la class.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 EstmembreExistant ( local p_nomMembre ) renvoyer TableauCherche(:m_tabMembre, tclineaire, p_nomMembre) <>-1 ? true sinon false
Ce tableau peut être initialisé dans le constructeur.
On peut également imaginer une signature différente.
Dans ce cas on ira vérifier directement dans un fichier( texte ou ini) si la membre est existante
Code : Sélectionner tout - Visualiser dans une fenêtre à part EstmembreExistant ( local p_ficmembre, local p_membre)
des idées comme ça...
Ok, voici l'explication de ma méthode :
Cette méthode sert à remplir les membres d'une Instance de classe à partir d'une base de données (ici par une requete HF, mais j'pense qu'on peut l'adapter).
Elle doit se trouver dansla classe mère de toutes vos classes qui sont remplies de la même manière.
Paramètre :
p_Tableau > tableau de chaîne (1 Dimension) avec les noms des rubriques dans le fichier HF.
p_Requete > chaîne de caractère servant à connaitre le nom de la requete (exemple : Req_Client) ou même un fichier HF.
Dans le cas où le membre n'existe pas dans la classe fille (celle qu'on rempli), la méthode Trace (ici mon g_trace crée un fichier txt dans temp windows) et supprime le nom de la rubrique dans le tableau.
En fait mon tableau est remplie par une fonction qui lit les rubriques de la requete justement... Et il est possible que ma classe ne contienne pas forcément le même nombre de membre qu'il y a de rubrique...
J'espère que j'ai été assez clair... Cette fonction me permet de pas devoir coder les :
Ce que je trouve assez lourd...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 :m_Nom = Req_Client.Nom :m_Prenom = Req_Client.Prenom ...
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager