1 | |||
Auteur | Messages | ||
---|---|---|---|
Askylh | #1 Posté le 20/3/2013 à 11:54:19 | ||
Bonjour, Je tourne en rond depuis qq temps sur ce sujet. Dans une class info.class/ex : 1- je voudrais charger un tableau avec les classes du projet en cours, 2- puis pour chacune des classes charger un tableau avec les méthodes décrites dans cette classe. Pour le point 1 je fais qq chose du genre dim cls class for each cls in classes debug cls.name end ça marche, avec cette boucle je pourrai par la suite charger un tableau de string contenant tous les noms des class Mais comment puis je utiliser ce nom stocké dans une variable tableau pour accéder aux méthodes de la classe ? Merci pour votre aide | |||
Prokopy | #2 Posté le 20/3/2013 à 13:57:41 | ||
Kinder Pingui | Salut Askylh, L'objet Class possède une propriété Symbols contenant tous les symboles de cette classe. Tu peux ensuite avoir plus d'information à propos de ce symbole en utilisant l'objet Class comme un tableau, comme ceci :
Plus d'infos sur la page de doc : http://gambasdoc.org/help/comp/gb/class?fr&v3 . La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand ça marche mais qu'on ne sait pas pourquoi. Quand la théorie rejoint la pratique, rien ne fonctionne et on ne sait pas pourquoi. | ||
Askylh | #3 Posté le 20/3/2013 à 14:09:23 | ||
SUPERBE ! Merci Prokopy. J'avais bien vu Kind et Symbols dans la doc, mais j'avais pas réussi à m'en dépatouiller. Pour bien faire d'ailleurs, il faudrait agrémenter la doc de ce petit exemple J'étais trés loin de l'avoir celui la If tClass[tSymbol].Kind == Class.Method Then :) Merci | |||
Flachy Joe | #4 Posté le 20/3/2013 à 21:41:10 | ||
Iguane : Il Gambas Uniquement pour Activer ses NEurones | Je sais pas si tu as trouvé cette page de doc : http://gambasdoc.org/help/comp/gb/.symbol?fr&v3 mais les propriétés Signature et Type devrait t'intéresser dans ton idée de lister toutes les méthodes d'un projet... Bonne continuation ! Flachy Joe | ||
Askylh | #5 Posté le 21/3/2013 à 11:27:35 | ||
Merci Flatchy Joe En reprenant l'exemple précédent, j'y accède comme ça :
Mais ça ne me donne rien de parlant,ii, b, ... Je demande ces infos pour mon projet GUTest, on y renseigne, pour l'instant à la main, le nom des méthodes que l'on veut tester, et je voudrais bien sur l'automatiser. En fait je cherche à avoir le comportement du navigateur d'aide : 1)Il sépare les classes locales du projet. 2)Il sépare les méthodes décrites localement dans la classe sélectionnée. (impécran par Shutter) Merci pour votre aide | |||
Flachy Joe | #6 Posté le 21/3/2013 à 18:55:48 | ||
Iguane : Il Gambas Uniquement pour Activer ses NEurones | Salut, les signature indiques les types de cette façon : b pour boolean i pour integer l pour long g pour single f pour float s pour string o; pour object etc... Pour une objet défini, le nom est entier, commence par un majuscule et termine par un point-virgule, Form; ou Long[]; par exemple. Pour faire la différence entre les méthodes locales et héritées, je pense que tu peux soustraire à la liste des méthodes de la classe celles de son parent (Class.Parent) en vérifiant si le parent est natif (Class.Native) où issu d'un composant (Class.Component). Par contre tu supprimeras de fait les méthodes surchargée... Flachy Joe | ||
Askylh | #7 Posté le 21/3/2013 à 22:58:50 | ||
hum... Je me demande si une analyse de syntaxe du code ne serait pas plus adapté pour mon cas... Je vais travailler dans ce sens pour l'instant, le coté OO de Gambas reste plutôt du coté ... obscur : ) Merci en tout cas | |||
1 |