Aide - Recherche - Membres - Calendrier
Version complète : PP-Appel "dynamique" de procédures ou fonctions
Les Forums de PalmAttitude.org > GENERAL PalmOS > Développement sous PalmOS
Alastor 2262
Bonjour,

Je me remet à la progammation avec une application en mode console. Un petit interpréteur de commande.

Ma question est la suivante :

Est-il possible d'appeler une procédure dont le nom est contenu dans une variable ?

je précise :
je crée un tableau de string, nommé pour l'exemple listcmd, chaque entrée du tableau est une commande (dir, rm, help...). Si la commande tapée par l'utilisateur est présente dans le tableau à l'indice I, alors je souhaiterais appeler la procédure (ou une fonction) listcmd[I].

Merci.
Khertan
J'ai une solution qui consiste à avoir deux tableaux, le premier un tableau contenant les commandes et un second contenant les callback vers les methodes (un tableau de pointeur) ...

Regarde les exemples de codes multisegment sur ppcompiler.org
Alastor 2262
Merci pour la réponse. Je me remet tout juste à la programmation et ta solution ca à l'air anim_mur.gif ! (j'ai un vague souvenir des pointeurs qui rendaient des services inapréciables !)

Mais je me le met derriere l'oreille !

Merci !
aldweb
CITATION(Alastor 2262 @ 05/04/2006 à 12:35 ) *
Est-il possible d'appeler une procédure dont le nom est contenu dans une variable ?


Oui, c'est presque comme ça que je fais dans iziBasic siffle.gif

Tu peux simplement monter ton tableau listcmd, un peu mieux que comme le dit Khertan :p , fastoche, avec un type composé, 1 String pour le nom de la commande (Cmd) et 1 Pointer pour le pointeur de procedure (Exec). Alors, if listcmd[I].Cmd='cmd' then listcmd[I].Exec;

@+
aldweb
Khertan
Ah oui aussi sourire.gif Mais globalement c'est pareil sourire.gif
aldweb
Je te le concède bien volontiers, mais j'avais envie de te taquiner... wub.gif
Alastor 2262
Je repart vraiment de loin moi, j'ai pas tout compris icon_cry.gif mais j'y arriverais icon_biggrin.gif !

Merci à vous deux !
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.
Invision Power Board © 2001-2008 Invision Power Services, Inc.