Ce sujet est résolu.
12 | |||||||||
Auteur | Messages | ||||||||
---|---|---|---|---|---|---|---|---|---|
manu | #1 Posté le 25/3/2011 à 13:38:00 | ||||||||
Avec Gambas ca roule ! | Bonjour, j'ai un formulaire d’accès a une base de données qui me permet de créer, modifier ou supprimer un enregistrement avec 3 boutons en bas "créer" , "modifier", "supprimer". Bon ça, ça marche très bien Maintenant je voudrais lancer ce même formulaire, a partir d'un autre formulaire mais en mode création par exemple. Ma première idée serais d'utiliser une variable globale. Juste avant d'ouvrir mon formulaire je mettrais dans cette variable globale par exemple "créer" et a l'ouverture du formulaire, je lirais cette variable. En fonction du résultat je le mettrais en création ou modification. ça marchera mais ça me parais pas très beau comme code car l'utilisation de variable globale est pas conseillée. Est il possible a votre avis de lancer un formulaire un peu comme une fonction, avec des paramètres. Ou alors vous, comment faites vous ? Jeanne d'arc, elle a frit, elle a tout compris ! Config : Manjaro linux (excellent !) XFCE 4.1 (simple et efficace) Gambas 3 dans les dépots (confort total) | ||||||||
linuxos | #2 Posté le 25/3/2011 à 14:14:00 | ||||||||
Un peu de sel, de poivre et la crevette sera... | Manu, C'est du langage Objet, donc tu peux transmettre directement des paramètres a ton Form - soit en le créant (doublon de ton Form de base) - soit en le lanceant: - au travers de: PUBLIC SUB Form_Run(tonParamètre as String) Exemple d'un de mes Formulaires: J'ai créer un formulaire générique 'FormGene' pour afficher le contenu d'un fichier, donc le but est de transmettre le contenu ou le chemin du fichier au formulaire a son ouverture. Cela se fait de la manière suivante: Dans ton Formulaire 'APPELANT':
Dans ton Formulaire Generique:
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. | ||||||||
manu | #3 Posté le 25/3/2011 à 17:12:00 | ||||||||
Avec Gambas ca roule ! | Rhaaa, j'ai du mal avec la POO ! Je vais transcrire ça dans mon application, ça m'aidera a mieux comprendre .... Merci en tous cas, c'est une solution de ce type que je cherchais Jeanne d'arc, elle a frit, elle a tout compris ! Config : Manjaro linux (excellent !) XFCE 4.1 (simple et efficace) Gambas 3 dans les dépots (confort total) | ||||||||
spheris | #4 Posté le 25/3/2011 à 21:16:00 | ||||||||
manu, 2 solutions s'offrent à moi d'habitude: A) je crée un module et dans ce module je crée une variable publique lisible par tous les form comme ceci :
il me suffit de lire ou ecrire dedans et modifier mon meme form en edition, lecture ou suppression comme ceci :
--------------------------------------------------------------------------------------- B) j'utilise une fonction propre dans le form à modifier genre :
puis je l'appelle de n'importe ou par :
et le tour est joué. Dans les 2 cas le résultat est le même | |||||||||
manu | #5 Posté le 25/3/2011 à 21:23:00 | ||||||||
Avec Gambas ca roule ! | oui c'est ce que je pensais faire Spheris, c'est en gros ce que je dit dans ma premiere idée mais je cherchais quelque chose de plus élégant disont L'idée de linuxOs me plais car elle me fait aussi entrevoir l'idée, que dans certains cas je pourrais faire un form de base et qu'en fonction de comment je l'appel (ou à partir d'ou) je pourrais le modifier rien que par le code... Jeanne d'arc, elle a frit, elle a tout compris ! Config : Manjaro linux (excellent !) XFCE 4.1 (simple et efficace) Gambas 3 dans les dépots (confort total) | ||||||||
linuxos | #6 Posté le 25/3/2011 à 21:48:00 | ||||||||
Un peu de sel, de poivre et la crevette sera... | Manu, Si possible privilégie la POO dans ces cas la. Je sais que le concept n'est pas facile a comprendre, mais une fois que tu as compris, c'est que du bonheur. Un exemple simple: Comment faire pour ouvrir plusieurs fois le même sans la POO, ben faut créer autant de Formulaire qu'il faut .... lol Avec la POO, tu fais un seul Formulaire que tu dupliques a volonté, volonté, volonté ..... Trop bien ce truc.... mais galère a comprendre.... Et dans Gambas, a peu près tout est en Objet. T'inquiètes pas on sera là pour te guider du peu de connaissance que nous avons aquis. Spheris: Je trouve que t'as solution est pas jolie .... désolé .... mais je comprends, j'ai commencé comme ça moi aussi ... 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. | ||||||||
Prokopy | #7 Posté le 25/3/2011 à 22:56:00 | ||||||||
Kinder Pingui | linuxos, Il y a quelques trucs que je ne comprends pas bien dans ta méthode. Puisque justement il s'agit d'un objet, pourquoi s'embêter à faire un formulaire "générique" alors que tu peux passer le paramètre directement à l'instanciation ? En gros faire comme ceci : Formulaire appelant :
FormBDD :
Ça m'a tout de même l'air plus simple non ? Garanti zéro variable globale, encapsulation respectée. 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. | ||||||||
linuxos | #8 Posté le 25/3/2011 à 23:13:00 | ||||||||
Un peu de sel, de poivre et la crevette sera... | Prokopy, Cela est tout a fait vrai, je l'utilise aussi. Dans le cas ou tu veux pouvoir transmettre une autre valeur au paramètre sans devoir recréer ton Form cela peut aussi être utile. En fait tu a raison dans le sens ou on transmet généralement les paramètres a la création du Formulaire, mais pas toujours, c'est fonction de ce que tu veux réaliser dans ton programme. Au final, il n'existe pas une seule solution a un problème, mais plusieurs et certaines sont plus adapté que d'autre dans certain cas. Selon ce que je voulais réaliser, j'ai utilisé soit une solution soit l'autre. 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. | ||||||||
manu | #9 Posté le 26/3/2011 à 08:15:00 | ||||||||
Avec Gambas ca roule ! | ok proko, dans mon cas ta solution fonctionne aussi et c'est vrai que c'est plus simple Bon maintenant que ca c'est réglé, est-ce que l'on peux passer plusieurs paramètres et comment ? Par exemple le mode du formulaire (creation, moddification...) et un chemin de fichier ou le nom d'une table. Je suppose que oui ? Jeanne d'arc, elle a frit, elle a tout compris ! Config : Manjaro linux (excellent !) XFCE 4.1 (simple et efficace) Gambas 3 dans les dépots (confort total) | ||||||||
GarulfoUnix | #10 Posté le 26/3/2011 à 10:40:00 | ||||||||
By the way | Linuxos, tout comme prokopy, l'utilisation du constructeur dans cette situation est ma foi plus élégante, et plus orienté objet. Ensuite, l'utilisation du module est tout aussi bonne et correcte et en rien "moins POO". Je rappel qu'un module n'est rien d'autre qu'une classe statique. Et l'utilisation des classes statiques reste une pratique courante lorsqu'on a pas besoin d'instancier (dans ton cas linuxos, de "dupliquer"). Manu, tu peux employer sans soucis l'utilisation d'un module. Ca ne fait nullement sale. | ||||||||
manu | #11 Posté le 26/3/2011 à 13:56:00 | ||||||||
Avec Gambas ca roule ! | merci a tous pour toutes ces infos. Pour passer plusieurs paramètres, il suffis de faire comme ceci selon la methode de prokopy : Formulaire appelant :
FormBDD
Jeanne d'arc, elle a frit, elle a tout compris ! Config : Manjaro linux (excellent !) XFCE 4.1 (simple et efficace) Gambas 3 dans les dépots (confort total) | ||||||||
manu | #12 Posté le 5/11/2011 à 22:59:54 | ||||||||
Avec Gambas ca roule ! | Bon un petit deterrage.... Voici ce que je fait finalement : Dans le formulaire applelant :
Dans Le Form appelé (FReception)
Et voila le travail ça marche aussi avec plusieurs paramètres.... Plus simple tu meurs Jeanne d'arc, elle a frit, elle a tout compris ! Config : Manjaro linux (excellent !) XFCE 4.1 (simple et efficace) Gambas 3 dans les dépots (confort total) | ||||||||
GarulfoUnix | #13 Posté le 6/11/2011 à 10:28:22 | ||||||||
By the way | Quelques bugs se sont présentés à moi sur ce topics : - Pas de retour à la ligne dans les balises codes (en revanche en éditant ce message, celui de manu a 22:59 hier s'affiche correctement (seul le dernier)) - Toujours en mode "répondre", je ne vois que les messages de Manu! Pas les autres. 2 vilains bugs à chasser . | ||||||||
manu | #14 Posté le 6/11/2011 à 14:13:33 | ||||||||
Avec Gambas ca roule ! | Oui de Vilains bugs effectivement mais là, ca a l'air de marcher France1159, qu'est que tu penses de ma dernière solution ? pas mal non ? Jeanne d'arc, elle a frit, elle a tout compris ! Config : Manjaro linux (excellent !) XFCE 4.1 (simple et efficace) Gambas 3 dans les dépots (confort total) | ||||||||
gambix | #15 Posté le 6/11/2011 à 15:27:38 | ||||||||
Faire simple ! | Bon alors la technique standard Gambasienne ... depuis la v... heu 0.3 ou 0.4
Moins de texte dans une signature c'est agrandir son espace. | ||||||||
12 |