12 | |||||||
Auteur | Messages | ||||||
---|---|---|---|---|---|---|---|
O.Coquet | #1 Posté le 31/10/2024 à 19:51:08 | ||||||
Ce qui n'est pas devra-t-être inventé | Tout est dans le titre mais je répète au cas ou.... Question: une fonction peut elle retourner un tableau de structure ? Une âme charitable aurait elle la réponse ? Merci Amitié Olivier (Alias Olinux) Amitié Olivier (Alias Olinux) Raspberry pi 3 et 4, pc Xubuntu, Arduino..... Quelques autres "vieux" ordinateurs ! Et un bon fer à souder | ||||||
linuxos | #2 Posté le 31/10/2024 à 23:35:16 | ||||||
Un peu de sel, de poivre et la crevette sera... | Bonjour, Oui tout a fait, meme selon la structure il y aura differentes facons de le faire. Un Object 'Collection' est une structure Un tableau de 'Class' est une autre structure Enfin il existe l'Objet 'Struct' qui est similaire aux structures de C/C++ mais déconseillé par Benois dans la documention (moins performant)(plutot utilisé pour faire le lien avec des librairies C) Donc, comment ce présente cette structure ? Olivier Lorsqu'on s'occupe d'informatique, il faut faire comme les canards... Paraître calme en surface et pédaler comme un forcené par en dessous. | ||||||
O.Coquet | #3 Posté le 31/10/2024 à 23:42:59 | ||||||
Ce qui n'est pas devra-t-être inventé | dans ma class fmain j'ai:
je souhaiterai faire appel à une fonction qui se trouve dans une autre class de la façon suivante:
Mais je n'arrive pas a trouver comment déclarer cette fonction dans l'autre class. Amitié Olivier (Alias Olinux) Amitié Olivier (Alias Olinux) Raspberry pi 3 et 4, pc Xubuntu, Arduino..... Quelques autres "vieux" ordinateurs ! Et un bon fer à souder | ||||||
linuxos | #4 Posté le 1/11/2024 à 14:45:37 | ||||||
Un peu de sel, de poivre et la crevette sera... | Bonjour, Je pense qu'il faut soit déclarer une propriété dans 'autreclass' qui revera la valeur de autreclass.mafonction() ou bien il faut que la fonction 'mafonction()' dans 'autreclass' soit public pour etre accessible depuis le reste de ton projet. Il y a aussi un option dans les Parametres de ton projets qui autorise ou pas si les objects/formulaires/classes sont 'Public' ou pas Olivier Lorsqu'on s'occupe d'informatique, il faut faire comme les canards... Paraître calme en surface et pédaler comme un forcené par en dessous. | ||||||
vuott | #5 Posté le 1/11/2024 à 17:52:00 | ||||||
Ne cedere ineluctabili possimus | Bonsoir Coquet, cette page pourrait peut-être vous aider: https://www.gambas-it.org/wiki/index.php/Uso_delle_Strutture_tra_Classi_e_Moduli « Vita non suavis esse potest, nec Mors amara. » | ||||||
O.Coquet | #6 Posté le 2/11/2024 à 06:59:44 | ||||||
Ce qui n'est pas devra-t-être inventé | Bonsoir Coquet, A priori oui mais dans cette page, on parle surtout de modifier le contenu de la structure déclarée dans la classe principale à l'aide d'une fonction qui se trouve dans la classe secondaire ce que je n'aime pas beaucoup. Ce que je recherche, ça serait le moyen de retourner une structure depuis la classe secondaire de la même façon que l'on retourne une valeur ou un tableau depuis une fonction. mais merci quand même Amitié Olivier (Alias Olinux) Amitié Olivier (Alias Olinux) Raspberry pi 3 et 4, pc Xubuntu, Arduino..... Quelques autres "vieux" ordinateurs ! Et un bon fer à souder | ||||||
vuott | #7 Posté le 2/11/2024 à 13:59:29 | ||||||
Ne cedere ineluctabili possimus | En d'autres termes, dans le cas que vous proposez, la Structure n'est présente que dans la Classe secondaire et est renvoyée à la Classe principale ? « Vita non suavis esse potest, nec Mors amara. » | ||||||
O.Coquet | #8 Posté le 2/11/2024 à 14:31:11 | ||||||
Ce qui n'est pas devra-t-être inventé | Non pas du tout, je m'exprime mal, la structure est présente dans la classe principale dans mon cas je souhaiterais - appeler la fonction dans la seconde classe - cette fonction va remplir une structure équivalente mais locale - elle la renvoie en paramètre de retour - je récupère ses informations dans ma classe principale Suis je plus clair ? Amitié Olivier (Alias Olinux) Amitié Olivier (Alias Olinux) Raspberry pi 3 et 4, pc Xubuntu, Arduino..... Quelques autres "vieux" ordinateurs ! Et un bon fer à souder | ||||||
Patrick | #9 Posté le 2/11/2024 à 16:10:11 | ||||||
Bonsoir, A mon avis il suffit que la fonction appelante est en paramètre une variable de type variant, ce qui donnerait : - dans la classe principale
Puis dans la classe seconde :
| |||||||
Patrick | #10 Posté le 2/11/2024 à 16:38:00 | ||||||
Personnellement moi qui n'utilise pas de bibliothèques externes, je n'utilise les structures que quand j'ai besoin de données imbriquées par exemple un homme qui contient la tête qui contient les yeux, le nez, la bouche .... et ou j'en ai besoin que dans une classe. Cela m'économise un certain nombre de fichier. Mais si je devais faire différemment je pense que j'opterai pour la solution ci dessous :
Cela me donne une classe indépendante que je peut appeler et instancier de n'importe ou et à la quelle je peu ajouter des méthodes. | |||||||
vuott | #11 Posté le 3/11/2024 à 14:30:44 | ||||||
Ne cedere ineluctabili possimus |
Vous voulez dire que vous voulez une fonction qui renvoie une Structure par 'valeur' ? variable_structure = Fonction() « Vita non suavis esse potest, nec Mors amara. » | ||||||
O.Coquet | #12 Posté le 3/11/2024 à 14:53:04 | ||||||
Ce qui n'est pas devra-t-être inventé | bingo, c'est ça .... Sauf que pour corser le tout je voudrais qu'elle renvoie un tableau de structure pas juste une structure... genre: dim variable_structure as ma_structure[] variable_structure = Fonction() pas simple hein Amitié Olivier (Alias Olinux) Amitié Olivier (Alias Olinux) Raspberry pi 3 et 4, pc Xubuntu, Arduino..... Quelques autres "vieux" ordinateurs ! Et un bon fer à souder | ||||||
linuxos | #13 Posté le 3/11/2024 à 15:04:00 | ||||||
Un peu de sel, de poivre et la crevette sera... | O.Coquet, Je reste persuadé que l'utilisation de STRUCT n'est pas la plus simple approche, et qu'un simple tableau de Class serait plus Gambas style.
==========================================================================
==========================================================================
Voila J'espere que cela aidera Olivier Lorsqu'on s'occupe d'informatique, il faut faire comme les canards... Paraître calme en surface et pédaler comme un forcené par en dessous. | ||||||
O.Coquet | #14 Posté le 3/11/2024 à 15:36:46 | ||||||
Ce qui n'est pas devra-t-être inventé | Hello, merci pour tous ces conseils et surtout pour avoir pris le temps de chercher tout ça pour moi, j'ai lu attentivement toutes vos suggestions et elles ont été utiles dans ma réflexion. Pour Linuxos, la similitude inversée de nos pseudonymes (Linuxos / Olinux) et de nos prénoms, me laissent penser que nos esprits sont aussi tordus l'un que l'autre. En effet, tu me fais deux classes qui accèdent à une structure qui se trouve dans une troisième classe (Si j'ai bien tout suivi......) Pour ma part, j'ai choisi de créer une structure publique dans ma FMain, et d'intervenir directement dessus depuis ma seconde classe utilitaires ou se trouve ma fonction. Pas très élégant mais un peu moins tortueux quand même. Quand à l'utilisation des structures, cela fait 25ans que je suis en désaccord avec Benoît sur le sujet, mais c'est normal, c'est un épitalien et je suis un ecelien......comprendra qui pourra :))))) Amitié Olivier (Alias Olinux) Raspberry pi 3 et 4, pc Xubuntu, Arduino..... Quelques autres "vieux" ordinateurs ! Et un bon fer à souder | ||||||
linuxos | #15 Posté le 3/11/2024 à 16:40:25 | ||||||
Un peu de sel, de poivre et la crevette sera... | Je comprends, pas de soucis, chacun utilise la méthode ou il se sent le plus a l'aise. Dernier détail, dans la majorité de mes projets, dont 1 qui fait presque 100 000 lignes, je concentre les Variables (de tous types) dans un module. Cela permet de ne pas avoir a les chercher dans tous les Forms, Classes, etc... Cela pourrait te simplifier le developpement. Ex:
Ensuite pour y acceder de n'importe ou:
Voila Olivier Lorsqu'on s'occupe d'informatique, il faut faire comme les canards... Paraître calme en surface et pédaler comme un forcené par en dessous. | ||||||
12 |