| para_number para_value$()??? | |
|
|
Auteur | Message |
---|
Invité Invité
| Sujet: para_number para_value$()??? Sam 9 Jan 2010 - 15:08 | |
| A quoi sert PARA_NUMBER et PARA_VALUE$() ? Y-a-t'il un rapport avec EXECUTE ? Si c'est le cas, comment passer les paramètres pour les récupérer si on se sert d'un programme Panoramic binaire? |
|
| |
JL35
Nombre de messages : 7095 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: para_number para_value$()??? Sam 9 Jan 2010 - 15:34 | |
| Aucun rapport avec Execute.
Ca sert à récupérer les paramètres passés à l'activation du binaire d'un programme Panoramic. Par exemple tu écris un petit éditeur de textes en langage Panoramic, que tu vas compiler en exécutable Edito.exe. Tu décides que cet éditeur peut être appelé avec un nom de fichier à éditer en paramètre. Par exemple: Edito.exe Monfichier.txt Au début de ton programme Edito, PARA_NUMBER te permet de récupérer le nombre de paramètres fournis par l'utilisateur, et PARA_VALUE$(1 à PARA_NUMBER) le ou les paramètres eux_mêmes. Dans le cas ci-dessus PARA_NUMBER vaudra 1 (1 paramètre), et PARA_VALUE$(1) contiendra la chaîne "Monfichier.txt".
(pardon d'avoir éventuellement enfoncé des portes ouvertes). | |
|
| |
Invité Invité
| Sujet: Re: para_number para_value$()??? Sam 9 Jan 2010 - 15:51 | |
| Merci pour ta réponse, mais j'arrive pas à comprendre. A l'occasion, peux mettre un petit exemple. Merci A+ |
|
| |
JL35
Nombre de messages : 7095 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: para_number para_value$()??? Sam 9 Jan 2010 - 16:23 | |
| Par exemple: - Code:
-
' EDITO.EXE Exemple de prise en compte des paramètres d'activation ' Lancement du programme (en ligne de commande): ' EDITO.exe Nomfichier [param2 [param3...]] DIM nbp, i DIM param$(10) LABEL Fin
nbp = PARAM_NUMBER IF nbp > 0 ' il y a au moins un paramètre ' récupération du ou des paramètres FOR i = 1 TO nbp param$(i) = PARAM_VALUE$(i) NEXT i ELSE ' activation sans paramètre PRINT "Erreur: pas de paramètres" WAIT 2000 GOTO Fin END_IF
' Traitement...
END
Fin: TERMINATE On ne peut tester ces fonctions qu'après compilation, avec l'exécutable, dommage. (par exemple avec FreeBasic on peut dans l'Editeur donner des paramètres d'activation avant lancement, pour essais). | |
|
| |
Invité Invité
| Sujet: Re: para_number para_value$()??? Sam 9 Jan 2010 - 17:04 | |
| Merci pour ton exemple. Surement que cela me dépasse, mais ici tu récupère des paramètres. Mais pour les envoyer, je ne vois pas la méthode. Il y a une chose qui m'échappe, et comme tu peux le voir, je suis un peu limite en compréhension. Je ne vois pas trop quel paramètre on peut envoyer. @+ |
|
| |
jjn4
Nombre de messages : 2709 Date d'inscription : 13/09/2009
| Sujet: Non non non Sam 9 Jan 2010 - 17:29 | |
| Je ne suis pas d'accord, param_value et param_number ont un rapport net avec execute. C'est par là qu'on peut envoyer et recevoir des paramètres. Par exemple : supposons que dans un programme, on obtienne des choix effectués par l'utilisateur, par exemple (un exemple absurde) : 1 = Monsieur 2 = Madame 3 = Mademoiselle et cette donnée (1, 2 ou 3) se trouve dans la variable nb puis : F = habite en France I = habite en Italie C = habite au Canada etc... et cette donnée se trouve en pay$ on peut envoyer les données à un autre programme par : execute "Autre-Pg.exe "+str$(nb)+" "+pay$ terminate et l'autre programme appelé les récupère par : a=param_number --> donne a=2 m$=param_value$(1) --> va donner la civilité choisie p$=param_value$(2) --> va donner le pays choisi Vérifiez, je l'ai fait là dans l'absolu, sans regarder si je ne faisais pas une erreur mais je l'ai souvent utilisé à d'autres moments et je sais que ça marche comme ça. PS : je ne sais pas si je répond exactement à la question, car je vois qu'il était question de programme panoramic binaire... et je ne sais pas ce qu'est un programme panoramic binaire. | |
|
| |
Invité Invité
| Sujet: Re: para_number para_value$()??? Sam 9 Jan 2010 - 18:09 | |
| Je vous remercie tous les deux. J'emploie binaire pour un fichier compilé, donc avec "*.exe". Je l'ai souvent lue comme ça, mais effectivement ça fait drôle. Merci A Jean-Claude: je n'avais pas remarqué la phrase qu'il n'y avait pas de rapport avec execute. Je lis un peu trop vite. Maintenant il faut que j'essaye cela. A+ |
|
| |
JL35
Nombre de messages : 7095 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: para_number para_value$()??? Sam 9 Jan 2010 - 18:47 | |
| Bon, je vais encore pinailler jjn4, mais je ne suis pas tout à fait d'accord avec toi. Evidemment, les exemples que tu donnes marchent très bien et c'est bien ça le principe de fonctionnement. Mais ce n'est pas restreint aux programmes fabriqués avec Panoramic.
EXECUTE sert à appeler un programme externe , quel qu'il soit, par exemple: EXECUTE "notepad.exe fichier.txt"
Evidemment, dans le cas particulier où le programme exécutable appelé a été fabriqué sous Panoramic, par le même programmeur qui écrit le programme appelant, il y a bien un lien entre EXECUTE (programme appelant) et PARAM_NUMBER et VALUE (programme appelé).
Mais pour moi ce sont des notions plus générales qui s'appliquent à tous les exécutables.
Allez, je pinaille, encore une fois.
Par 'programme binaire', sauf erreur, cosmos entend le programme exécutrable .exe résultat de la compilation. | |
|
| |
jjn4
Nombre de messages : 2709 Date d'inscription : 13/09/2009
| Sujet: + Sam 9 Jan 2010 - 19:07 | |
| Non, non, c'est pas du pinaillage, c'est intéressant de savoir qu'il y a des utilisations plus générales. Mais je suis comme cosmos70, c'est à dire que pour moi, ça reste un peu flou. Supposons donc un programme hors panoramic, mettons la liste des commissions à effectuer, que je vais taper avec notepad.exe Et alors j'envoie et je récupère quels paramètres avec quoi, comment et dans quel but ? | |
|
| |
Jean Claude
Nombre de messages : 5950 Age : 69 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: para_number para_value$()??? Sam 9 Jan 2010 - 20:49 | |
| | |
|
| |
JL35
Nombre de messages : 7095 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: para_number para_value$()??? Sam 9 Jan 2010 - 21:16 | |
| @jjn4, tu ne peux envoyer à un programme externe que des paramètres qu'il attend, et ça tu n'en es pas maître si ce n'est pas toi qui as écrit ledit programme. Par exemple, Notepad.exe n'attend comme paramètre qu'un nom de fichier (enfin, son chemin d'accès), et éventuellement, comme on l'a déjà vu, le 1er paramètre "/p" suivi du nom de fichier à imprimer. Soit depuis un programme Panoramic: - Code:
-
EXECUTE "Notepad.exe /p Monfichier.txt" ou, comme on a déjà vu également pour IrfanView: - Code:
-
EXECUTE_WAIT "...\i_view32.exe Monimage.jpg /crop=/... /convert=..." dans les deux cas on ne peut leur passer que des paramètres bien définis dans le mode d'emploi de ces programmes. Par contre, si c'est toi qui écris le programme appelé, c'est toi qui décides quels paramètres tu attends, par exemple un nom de fichier, ou des valeurs diverses. Un exemple, j'ai écrit en RapidQ (mais c'est exactement pareil en Panoramic), un programme d'impression de fichier, Fprint, compilé (donc .exe) qui attend un ou plusieurs paramètres: d'abord le nom du fichier à imprimer, puis éventuellement la police, puis éventuellement la taille, puis la marge gauche, puis la marge haut. En Panoramic je récupérerais d'abord le nombre de paramètres reçus par PARAM_NUMBER, par exemple n, puis successivement chacun des paramètres eux-mêmes avec PARAM_VALUE$(1 à n). Cet utilitaire je peux l'appeler à partir d'un programme Panoramic: EXECUTE "Fprint.exe Monfich.txt Arial 12 10 4" C'est vrai que le lien donné par Jean Claude répond à beaucoup de questions. | |
|
| |
Invité Invité
| Sujet: Re: para_number para_value$()??? Sam 9 Jan 2010 - 21:43 | |
| Moi je m'en sert pour ouvrir une nouvelle extention de fichier que j'ai créer. |
|
| |
Invité Invité
| Sujet: Re: para_number para_value$()??? Sam 9 Jan 2010 - 23:55 | |
| Je viens de voir que l'astuce que je proposais avec execute de passer des paramètres par l'intermédiaire d'un fichier, Georges l'avait déjà fait en juillet. |
|
| |
Contenu sponsorisé
| Sujet: Re: para_number para_value$()??? | |
| |
|
| |
| para_number para_value$()??? | |
|