| Param_value$() | |
|
|
Auteur | Message |
---|
Yannick
Nombre de messages : 8610 Age : 52 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: Param_value$() Lun 24 Mar 2014 - 20:48 | |
| J' ai fait une sub pour lancer un *.exe créer avec Panoramic : - Code:
-
Sub Affiche_couleurs_exe() dim_local F$,t$,l$,res% if Form_tools% >0 if show(Form_tools%)=1 if screen_x<(width(0)+295) t$=str$(top(0)+235) l$=str$(left(0)+700) else t$=str$(top(0)+235) l$=str$(left(0)+1005) end_if else if screen_x<(width(0)+295) t$=str$(top(0)) l$=str$(left(0)+700) else t$=str$(top(0)) l$=str$(left(0)+1005) end_if end_if else if screen_x<(width(0)+295) t$=str$(top(0)) l$=str$(left(0)+700) else t$=str$(top(0)) l$=str$(left(0)+1005) end_if end_if F$=string$(255," ") res% = DLL_call2("GetShortName",adr(Color_tools$),adr(F$)) F$=trim$(F$) F$=F$+" "+t$+"/"+l$ Message F$ execute F$ End_sub et voilà le code du *.exe : - Code:
-
dim P$,t%,l%,t$,l$
message str$(param_number)
P$=param_value$(1)
t$=left$(P$,2) l$=right$(P$,2)
t%=val(t$) l%=val(l$)
Caption 0,"Outils - Couleurs" height 0,230 width 0,290 top 0,t% left 0,l%
end Seulement que F$ soit : F$=F$+" "+t$+" "+l$ ou F$=F$+" "+t$+"/"+l$ j' ai d' abord un message me disant que l' ouverture n' est pas possible, puis la fenêtre d' ouvre avec l' affichage de : Message str$(param_value) qui me renvoie toujours 1 ce qui me crée un autre bug | |
|
| |
Yannick
Nombre de messages : 8610 Age : 52 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Mar 25 Mar 2014 - 23:47 | |
| Voilà, j' ai deux sources tests dont j' ai créé un *.exe sur le bureau. Prog1.exe =>ouverture + p1+P2 => Prog2.exe Prog1: - Code:
-
dim t%,l%,f$ label appel
caption 0,"Prog1 - Appelant" height 0,100 width 0,350 top 0,(screen_y-100)/2 left 0,(screen_x-350)/2
t%=top(0) l%=left(0)
gosub appel end
appel: f$="C:\Users\Yannick\Desktop\prog2.exe"+chr$(32)+str$(t%)+chr$(32)+str$(l%) message f$ execute f$ return Prog2: - Code:
-
dim t%,l%
message str$(Param_number)
t%=val(Param_value$(1)) l%=val(Param_value$(2))
caption 0,"Prog2 - Appelé"
height 0,100 width 0,350 top 0,t% left 0,l%
end Param_number renvoie 1 et cela me dit : impossible d' ouvrir 100 35 erreur line 5 Je suis fou, j' ai raté quelque chose ou il y a un bug ?... | |
|
| |
Yannick
Nombre de messages : 8610 Age : 52 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: Re Mer 26 Mar 2014 - 13:02 | |
| Bon, je vois que cela n' intéresse personne... | |
|
| |
jjn4
Nombre de messages : 2689 Date d'inscription : 13/09/2009
| Sujet: +++ Jeu 3 Avr 2014 - 14:22 | |
| Mais si, mais si ! Mais il faut le temps ! (tu comprends, beaucoup ici sont à la retraite et ils n'ont plus un instant...!) Ce problème a déjà été signalé à la fin de : « problème avec Write /p C:\Tagada... » situé dans la rubrique « A l'aide » Il s'agit effectivement d'un bug. En attendant, tu peux passer le message « 100 35 » dans un fichier. | |
|
| |
Yannick
Nombre de messages : 8610 Age : 52 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Jeu 3 Avr 2014 - 14:28 | |
| Je vais surement finir par trouver un palliatif mais c' est ennuyeux... le passage de ces paramètres définissait l' emplacement d' ouverture de la fenêtre du programme appelé pour éviter des fenêtres soit hors écran, soit l' une sur l' autre. | |
|
| |
papydall
Nombre de messages : 6996 Age : 73 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Param_value$() Jeu 3 Avr 2014 - 17:29 | |
| Hello Ygeronimi - Ygeronimi a écrit:
- Bon, je vois que cela n' intéresse personne...
Hmm, j'ai raté de passer par là! Ton prog1 affiche C:\Users\Yannick\Desktop\prog2.exe 400 625Tu utilises juste après : execute f$Ça revient à : execute C:\Users\Yannick\Desktop\prog2.exe 400 625Or, la commande execute ( ou execute_wait) necessite que le nom du programme (avec les éventuels paramètres à passer) soit entouré des guillemets d’où l’erreur qui en découle. Bon, après ce long préambule, voici la solution (ajouter des guillemets au début et à la fin de f$) Or on sait que Panoramic ne gère pas bien de telles guillemets. Ma solution que je proposeJuste avant d’afficher le message, ajoute cette ligne et ça devrait marcher - Code:
-
f$ = " "+chr$(34) +f$ + chr$(34) J’attends le résultat de ton test ! Si c'est positif, la fonction PARAM_VALUE$ sera disculpée (j'en suis sûr : PARAM_VALUE$ est innocente !!!) | |
|
| |
JL35
Nombre de messages : 7095 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Param_value$() Jeu 3 Avr 2014 - 18:08 | |
| J'ai des doutes papydall (par expérience) Le programme appelé (exécutable Test.exe): - Code:
-
DIM i% Print "Nb paramètres: " + STR$(Param_Number) FOR i% = 1 TO Param_Number print str$(i%)+" "+Param_Value$(i%) NEXT i% END Le programme appelant: - Code:
-
EXECUTE "C:\PANORAMIC\Test.exe AAA BBB CCC" end Et ça me répond: 'Cannot open file AAA BBB CCC' Comme dit dans le post rapporté par jjn4, il y a eu à un moment donné une modification (probablement involontaire) dans le traitement des paramètres du programme activé. Finalement, je pense que c'est l'exécutable Panoramic appelé qui ne sait pas récupérer les paramètres, et non pas la commande EXECUTE qui ne saurait pas les passer. Si on lance cette commande avec un programme externe quelconque (ex IrfanView, ou Jhead, entre autres), le programme appelé récupère bien ses paramètres. Et pourtant... dans mon exemple, l'erreur est bien renvoyée par l'Execute | |
|
| |
papydall
Nombre de messages : 6996 Age : 73 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Param_value$() Jeu 3 Avr 2014 - 19:23 | |
| @JL35 VOICI LA SOLUTION !!! - Code:
-
EXECUTE "C:\PANORAMIC\Test.exe" + " " + chr$(34) + "AAA BBB CCC DDD EEE XXX YYY ZZZ" + chr$(34) End
J’ai testé et ça marche. L A P R E U V E Qui peut confirmer ? | |
|
| |
JL35
Nombre de messages : 7095 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Param_value$() Jeu 3 Avr 2014 - 20:07 | |
| Je confirme, comme ça ça marche, mais c'est quand même un peu acrobatique, et il faut y penser le jour où on en a besoin.
Autrement dit, la chaîne de paramètre doit arriver dans le récepteur encadrée de ses guillemets, ce qui n'est pas le cas dans l'activation de n'importe quel module externe, autre que créé avec Panoramic. Deux poids deux mesures, ce n'est pas normal quand même. | |
|
| |
papydall
Nombre de messages : 6996 Age : 73 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Param_value$() Jeu 3 Avr 2014 - 21:07 | |
| Je suis entièrement d’accord avec toi, JL35 concernant les poids et les mesures. La programmation n’est-elle pas l’art de trouver une solution (même acrobatique) à un problème qui peut se poser ? Et c’est toujours enrichissant de pouvoir passer outre les contraintes du langage. Personnellement, ça réconforte le petit enfant qui sommeille en moi, lorsque j'arrive à résoudre un problème. | |
|
| |
JL35
Nombre de messages : 7095 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Param_value$() Jeu 3 Avr 2014 - 21:27 | |
| Oui, mais il va bientôt être l'heure de faire dodo pour le petit enfant qui sommeille ! | |
|
| |
Yannick
Nombre de messages : 8610 Age : 52 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Ven 4 Avr 2014 - 9:50 | |
| Je testerai dès que je pourrai, pour le moment, c' est les valises. Je vais piquer un bout de soleil à Jean Claude . | |
|
| |
JL35
Nombre de messages : 7095 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Param_value$() Sam 5 Avr 2014 - 10:08 | |
| Je ne comprends pas, avec tout le soleil que tu as déjà en Bretagne... | |
|
| |
papydall
Nombre de messages : 6996 Age : 73 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Param_value$() Sam 5 Avr 2014 - 11:24 | |
| | |
|
| |
Contenu sponsorisé
| Sujet: Re: Param_value$() | |
| |
|
| |
| Param_value$() | |
|