Novembre 2024 | Lun | Mar | Mer | Jeu | Ven | Sam | Dim |
---|
| | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | | Calendrier |
|
|
| Problème de lancement d'un prg depuis du nom d'un fichier[R] | |
| | Auteur | Message |
---|
Oscaribout
Nombre de messages : 471 Date d'inscription : 29/12/2016
| Sujet: Problème de lancement d'un prg depuis du nom d'un fichier[R] Jeu 21 Déc 2017 - 12:15 | |
| Bonsoir, Le sujet que j'avais mis dans un autre post, que je pensais éventuellement déposer avec les sujets sur Noël que vous publieraient peut-être, mais ça ne ressemble pas à un cadeau. Voici un explorateur maison. J'ai essayé de trouver sur le NET un programme similaire, et je n'ai pas trouvé ce qui me convenait. Il s'agit de pouvoir ajouter des informations aux fichiers. J'avais réussi lorsque j'étais sur XP à le faire je ne sais plus comment, mais à chaque modification du fichier, il fallait recommencer. Le problème est qu'avec les années, ont cumul les programmes, et maintenant le simple nom d'un programme ne suffit plus à savoir à quoi il sert. Voici des captures de ce programme qui n'est pas fini. - images et +:
- copies d'écran:
]url=https://servimg.com/view/19606013/15] Lorsque l'on clique sur un fichier, si une information est déjà enregistrée, cette dernière s'affiche[/url] Dans celle-ci, il y a 3 filtres au dessus qui permettent de montrer une recherche avec le début d'un fichier, un mot à l'intérieur du nom, et une partie du final, évidemment le cumul des filtre n'est pas obligatoire. ici, on veut afficher les fichiers qui commence par 'ar', avec une extension: 'bas', et qui comprend le mot 're' dans le nom. Ici affichage d'une photo depuis le programme de Klaus, c'est un objet de navigateur de Klaus, qui permet d'afficher aussi les GIFs et je ne sais plus encore quoi. On peut voir le contenu d'un fichier, sans être obligé d'ouvrir le bloc-note. ICI LE PROBLÉME: A cela j'ai prévu la possibilité de faire des raccourcis pour retrouver les programmes. Là il y a un problème. Pour ce qui est des dossiers, ça marche, mais pour les fichiers, c'est autre chose. Le clic sur un programme EXE affiche le contenu du dossier du programme dans l'explorateur sans lancer le programme, et le clique sur un programme panoramic, m'envoit un message d'erreur: - code erreur:
Je ne comprend pas, je n'ai aucun problème normalement pour travailler avec ces dossiers, mais ici, quelque soit le dossier, il y a blocage pour lancer un programme depuis celui-ci. Le code: - Code:
-
if right$(lower$(e$),4)=".bas" then execute "C:\PANO\B_P\INSTANTANE_8-7-17\PANORAMIC.exe "+caption$(23) J'ai essayé de voir à travers les programmes que vous avez publiés, comment vous procédiez avec un fichier bat, mais je ne trouve pas. Je ne sais pas si vous connaissez une solution.
Dernière édition par Oscaribout le Ven 22 Déc 2017 - 0:01, édité 1 fois | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Problème de lancement d'un prg depuis du nom d'un fichier[R] Jeu 21 Déc 2017 - 13:17 | |
| Essaie de créer un fichier BAT dans lequel tu déposes ta commande telle que tu essaies de la soumettre à la commande EXECUTE. Puis, tu lances simplement: - Code:
-
exeecute "CMD /C MaCommande.bat" | |
| | | Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Problème de lancement d'un prg depuis du nom d'un fichier[R] Jeu 21 Déc 2017 - 13:22 | |
| Whoua ! ça a l'air costaud. Pour ton problème, je vois une chose qui pourrait être la raison. - Code:
-
if right$(lower$(e$),4)=".bas" then execute "C:\PANO\B_P\INSTANTANE_8-7-17\PANORAMIC.exe "+caption$(23) après PANORAMIC.exe il y a un espace. Ensuite je ne connais pas le contenu de cation$(23), mais je pense qu'il manque un anti-slash (\) . Je résume: un espace en trop et un anti-slash manquant. J'espère avoir trouvé une piste... A+ | |
| | | silverman
Nombre de messages : 970 Age : 52 Localisation : Picardie Date d'inscription : 18/03/2015
| Sujet: Re: Problème de lancement d'un prg depuis du nom d'un fichier[R] Jeu 21 Déc 2017 - 13:35 | |
| Bonjour à tous @Oscaribout Il y a une nouveauté avec la commande EXECUTE, faut introduire le caractère pipe(|) maintenant. Cette commande à été retravaillé pour corriger des bugs, mais d'autres pb ont apparu. Pour le détail des changements, c'est ICI. | |
| | | Oscaribout
Nombre de messages : 471 Date d'inscription : 29/12/2016
| Sujet: Re: Problème de lancement d'un prg depuis du nom d'un fichier[R] Jeu 21 Déc 2017 - 14:01 | |
| Bonjour Silverman.
Je savais cela, mais j'utilisais une ancienne version de panoramic, mais en lisant ta réponse, j'ai pensé à autre chose, et il faut que je vérifie quelque chose. Mon programme est fait à partir PsPad-Editor, et j'utilise un loader pour l'exécution. J'ai besoin de voir si il ne faut pas aussi que je mette à jour le loader, le programme basic est lui lancé avec la dernière version. J'approfondirai les choses ce soir. Merci pour ton intervention. | |
| | | Oscaribout
Nombre de messages : 471 Date d'inscription : 29/12/2016
| Sujet: Re: Problème de lancement d'un prg depuis du nom d'un fichier[R] Jeu 21 Déc 2017 - 17:01 | |
| Je viens de faire les testes. A partir de PsPad avec le loader sur une ancienne version de panoramic.exe: dans execute avec un espace pour passer le paramètre: cela donne le résultat que j'ai décrit. en mettant un pipe à la place, il n'y a pas de réponse. En remettant le programme dans panoramic_editor: sans le pipe avec un espace, il ne se passe rien, avec le pipe, cela correspond au message d'erreur cité plus haut, c'est à dire l'inverse avec les versions précédentes de panoramic.exe.
Par contre ce que je n'ai pas dit, car c'est en arrière plan, après le message d'erreur, j'ai la petite fenêtre qu'affiche panoramic avec 'open' pour appeler la recherche du programme. | |
| | | Oscaribout
Nombre de messages : 471 Date d'inscription : 29/12/2016
| Sujet: Re: Problème de lancement d'un prg depuis du nom d'un fichier[R] Ven 22 Déc 2017 - 0:10 | |
| D'abord je m'excuse auprès de Klaus, je n'avais pas vu ton message, je le vois à l'instant, même celle de JC, désolé. J'ai résolu le problème, mais je pense qu'il y a un bug avec execute. J'ai utilisé kgf.dll de Klaus avec la commande: res% = DLL_call4("ExecuteProgram",adr(path$),adr(param$),adr(folder$),borderless%)sous cette forme: - Code:
-
if right$(lower$(e$),4)=".bas" fiche$="" :' prg$ = PANORAMIC.exe , e$ = "source.bas res% = DLL_call4("ExecuteProgram",adr(prg$),adr(e$),adr(fiche$),1) else fiche$="" folder$="" :' programme rien rien res% = DLL_call4("ExecuteProgram",adr(e$),adr(fiche$),adr(folder$),1) end_if
Je n'ai plus la place de mettre résolu dans le titre, il me restait 3 caractères. Merci pour vos interventions. J'ai encore un peu de travail, et si ça vous intéressent, je publiais dans quelques jours, le temps de finir et de tester en profondeur, et selon le temps permis. Merci.
Dernière édition par Oscaribout le Sam 23 Déc 2017 - 14:15, édité 1 fois | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Problème de lancement d'un prg depuis du nom d'un fichier[R] Ven 22 Déc 2017 - 2:19 | |
| Bien sûr que ça nous intéresse ! On n'est pas pressé, mais intéressé. Et tu as raison: il y a un problème avec EXECUTE et EXECUTE_WAIT, dès l'instant qu'il faut transmettre des paramètres au programme qu'on veut lancer. C'est connu. C'est assez compliqué à réaliser. Il serait beaucoup plus intéressant d'avoir des commandes de la syntaxe suivante: - Code:
-
EXECUTE prog, params EXECUTE_WAIT prog, params les deux paramètres étant des chaînes de caractères, et le second serait transmis au programme lors du lancement. Ainsi, si l'on ne veut pas de paramètres, on ferait: - Code:
-
EXECUTE prog,"" Ou alors, pour rester compatible avec les programmes existants, on pourrait avoir de nouvelles commandes: - Code:
-
EXECUTE_PARAM prog, params EXECUTE_PARAM_WAIT prog, params ce qui serait parfait. Mais ça, c'est Jack qui voit... | |
| | | Oscaribout
Nombre de messages : 471 Date d'inscription : 29/12/2016
| Sujet: Re: Problème de lancement d'un prg depuis du nom d'un fichier[R] Ven 22 Déc 2017 - 10:30 | |
| Voila Klaus,
J'essaye de mettre une lecture pour les fichier pdf. J'ai téléchargé sumatra que je trouvais pas mal avant, mais j'ai remarqué qu'il y avait des fichiers qui posaient un problème de lecture.
En recherchant un autre logiciel pour l'inclure dans mon programme, je crois que tu avait mis dans kgf un truc comme une imprimante virtuelle. Si c'est le cas, peux-tu rapidement me dire comment procéder. Merci. Je ne trouve pas dans la doc. | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Problème de lancement d'un prg depuis du nom d'un fichier[R] Ven 22 Déc 2017 - 16:11 | |
| Non, je n'ai rien dans la DLL pour faire des PDF. Par contre, j'ai téléchargé et installé le logiciel PDF-Creator qui s'installe comme une imprimante virtuelle. C'est un freeware. Et lors de l'impression, si tu choisis PDF-Creator comme imprimante, ça crée un fichier PDF automatiquement, puis le propose en visualisation à l'écran. Pour mes besoins, c'est parfait. Léger inconvéniant: avec PDF-Creator, un autre logiciel s'installe automatiquement: PDF-Architect. C'est un outil (gratuit) permettant de modifier un fichier PDF. Pour ma part, je le désinstalle purement et simplement après l'installation, c'est tout. Moi, je le télécharge ici: http://www.01net.com/telecharger/windows/Bureautique/editeur_de_texte/fiches/26668.htmlmais Google donne une multitude de liens. | |
| | | Oscaribout
Nombre de messages : 471 Date d'inscription : 29/12/2016
| Sujet: Re: Problème de lancement d'un prg depuis du nom d'un fichier[R] Sam 23 Déc 2017 - 0:42 | |
| J'essaye de mettre un système simple pour les pdf, avoir une vue rapide sur le contenu, et aussi d'ouvrir pour de bon comme on le fait sur l'explorateur. Pour ce faire j'avais installé sumatra.pdf qui est un lecteur très léger, et qui m'avait pleinement satisfait pendant des années, mais là pour un certain fichier, il n'arrive pas à l'ouvrir, alors qu'avec foxit-reader il est lu.
Je me disais que le mieux serait de me servir de Sumatra-pdf normalement, et que si il y avait un fichier récalcitrant, on l'ouvre avec le lecteur installé. Ca fait des heures que je cherche sur le forum, une histoire de clique droit, et je n'ai pas trouvé. mais je viens d'avoir l'idée, et je suis sure que cela vient d'ici et je ne sais pas où. J'ai fait l'essai et ça marche: on_key_up ON_MOUSE_UP et scancode=4 (clic molette) pour ouvrir un list et pouvoir faire un choix. Je continu. | |
| | | silverman
Nombre de messages : 970 Age : 52 Localisation : Picardie Date d'inscription : 18/03/2015
| Sujet: Re: Problème de lancement d'un prg depuis du nom d'un fichier[R] Sam 23 Déc 2017 - 11:22 | |
| - Oscaribout a écrit:
- Ca fait des heures que je cherche sur le forum, une histoire de clique droit, et je n'ai pas trouvé
Si c'est un menu flottant qu'on appelle du clic droit, alors la commande c'est "main_menu_pop". Ca ne fonctionne que sur le form 0, s'utilise comme "main_menu" et n'est(provisoirement) pas écrit en bleu quant on l'utilise. | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Problème de lancement d'un prg depuis du nom d'un fichier[R] Sam 23 Déc 2017 - 12:39 | |
| Si tu utilises KGF.dll, pour lancer un programme avec des paramètres, tu as ceci: - Code:
-
res% = DLL_call4("ExecuteProgram",adr(path$),adr(param$),adr(folder$),borderless%) C'est un équivalent de la commande EXECUTE, mais avec un passage de paramètres facile. De même, pour remplacer EXECUTE_WAIT, tu as ceci: - Code:
-
res% = DLL_call3("ExecuteProgramAndWait",adr(path$),adr(param$),adr(folder$)) Les deux fonctions sont documentées dans la section "Fonctions diverses". | |
| | | Oscaribout
Nombre de messages : 471 Date d'inscription : 29/12/2016
| Sujet: Re: Problème de lancement d'un prg depuis du nom d'un fichier[R] Sam 23 Déc 2017 - 14:26 | |
| Merci à vous deux @Klaus: c'est ce que j'ai fait. J'ai réédité le post pour le mettre en gras. C'est à partir de là que j'ai avancé.
@Silverman: Je savais que j'avais vu quelque chose de ce genre mais pas trouvé. Par contre il me semblait que tu avais posté quelque chose avec le clic droit, et là aussi je ne l'ai pas retrouvé. J'ai perdu depuis quelques temps mes lunettes, mais j'utilise des loupes à lire en attendant. Peut-être que ça vient de là. Je vais simplifier la procédure, mais j'ai un problème. Il faut que je retrouve le décodeur de fichier exe généré. J'utilise pour PsPad un loader ancien pour lancer le programme, et il faut que je le mette à jour avec les nouvelles versions. Les dernières commandes ne passent pas (et c'est normal). | |
| | | Minibug
Nombre de messages : 4570 Age : 58 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Re: Problème de lancement d'un prg depuis du nom d'un fichier[R] Sam 23 Déc 2017 - 16:39 | |
| Salut tout le monde !
@klaus :
Tu dis utiliser la fonction res% = DLL_call3("ExecuteProgramAndWait",adr(path$),adr(param$),adr(folder$))
Mais comment fais tu par exemple pour executer convertir un fichier BAS en EXE avec le PANO SANS EDITEUR OU la dernier version de MAKE_EXE ?
J'ai tenter mais sans succès !
Dernière édition par Minibug le Sam 23 Déc 2017 - 16:47, édité 1 fois | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Problème de lancement d'un prg depuis du nom d'un fichier[R] Sam 23 Déc 2017 - 16:46 | |
| Ca devrait marcher comme ceci (non testé): - Code:
-
dim res%, path$, param$, folder$ path$ = "C:\...\MonDossierPourPanoramicExe\Panoramic.exe" param$ = "C:\...\MonDossierPourSourcesPanoramic\MonProgramme.bas" folder$ = "C:\...\MonDossierPourSourcesPanoramic" res% = DLL_call3("ExecuteProgramAndWait",adr(path$),adr(param$),adr(folder$))
Pour folder$, on choisit le dossier par défaut dans lequel le programme doit s'exécuter. En fait, cette fonction simule un raccourci Windows. Si tu regardes les propriétés d'un raccourci vers un EXE, tu trouveras des informations de ce genre. | |
| | | Minibug
Nombre de messages : 4570 Age : 58 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Re: Problème de lancement d'un prg depuis du nom d'un fichier[R] Sam 23 Déc 2017 - 17:00 | |
| Hum j'ai un message BAD PARAMETERS lors de la conversion en EXE !
Il me semble qu'il fallait utiliser quelque chose comme "-e" ?! Je crains que cela ne fonctionne plus avec les dernières versions de MAKE_EXE ! | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Problème de lancement d'un prg depuis du nom d'un fichier[R] Sam 23 Déc 2017 - 17:38 | |
| Je n'ai pas la syntaxe actuelle en tête. Mais s'il y a quelque chose de ce genre à spécifier, tu le mets en tête dans la variable param$, suivi d'un espace, puis le paramètre réel. Pas de guillemets sauf autour du chemin et nom du paramètre s'il contient des espaces. | |
| | | silverman
Nombre de messages : 970 Age : 52 Localisation : Picardie Date d'inscription : 18/03/2015
| Sujet: Re: Problème de lancement d'un prg depuis du nom d'un fichier[R] Dim 24 Déc 2017 - 10:23 | |
| @Oscaribout Pour le click droit, j'avais fait CECI. Le décodeur de fichier EXE ne fonctionne plus à partir de la version 0928 de panoramic, Jack à changé le codage. Sinon tu peux le trouver ICI. | |
| | | Oscaribout
Nombre de messages : 471 Date d'inscription : 29/12/2016
| Sujet: Re: Problème de lancement d'un prg depuis du nom d'un fichier[R] Dim 24 Déc 2017 - 12:09 | |
| Merci Silverman.
Je ne comprend pas, je ne l'ai pas retrouvé, alors que j'étais certain que tu étais l'auteur.
J'ai fais quelque chose de similaire, mais j'ai repris le code pour faire autre chose qui me convenait mieux pour ce programme.
Si j'ai le temps, je vais publier mon programme cet après midi, car pour quelques jours j'aurai du mal de programmer.
Mais voila, je plublirai le code avec mon astuce, cela pourrait donner des idées pour autre chose. Seulement je ne sais pas pourquoi, j'ai toujours tendance à faire plus compliqué que nécessaire. Pourquoi faire simple alors qu'on peut faire compliqué. Après réflexion, et revu ce que je comptais faire, un simple bouton aurait été plus simple, aussi bien pour l'emploi que pour le codage. Ensuite lorsque le temps viendra, je remettrais le code simplifié, et peut-être revoir certaines choses si j'ai droit à des remarques. | |
| | | Oscaribout
Nombre de messages : 471 Date d'inscription : 29/12/2016
| Sujet: Re: Problème de lancement d'un prg depuis du nom d'un fichier[R] Mar 26 Déc 2017 - 19:58 | |
| @Klaus,
Je me suis aperçu que lorsque je lançais l'exécution d'un programme bas par l'intermédiaire de DLL_call4("ExecuteProgram" de KGF qui devient incontournable dans la majorité des programmes, lorsqu'il y avait un espace, ça ne fonctionnait pas.
Je me suis demandé si il ne pourrait pas y avoir une commande dans la dll qui ajoute des guillemets dans un texte, puisse que Panoramic les supprime. Il y a bien la solution d'un nom court d'un fichier, mais cette commande pourrait être générale, à moins que je fasse fausse route.
Merci
J'ai pas vérifié que cela fonctionnait avec la dll en ajoutant des guillemets dans le nom d'un fichier. J'ai confondu affichage d'une variable et construction de celle-ci. Les guillemets se rajoutent peut-être. Donc je ne te préoccupes pas de ma question.
Edit: Après essais, ça ne marche pas. Bonsoir
| |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Problème de lancement d'un prg depuis du nom d'un fichier[R] Mer 27 Déc 2017 - 0:52 | |
| Pour pouvoir entourer une chaîne de caractères de guillemets, il suffit de coller un espace derrière la chaîne, comme ceci: - Code:
-
dim s$ s$ = chr$(34)+"abc 123"+chr$(34)+" " print s$ caption 0,s$ message s$
end
Si tu enlèves le +" " dans la deuxième ligne, les guillemets disparaissent. | |
| | | Oscaribout
Nombre de messages : 471 Date d'inscription : 29/12/2016
| Sujet: Re: Problème de lancement d'un prg depuis du nom d'un fichier[R] Mer 27 Déc 2017 - 2:21 | |
| Bonsoir, Merci pour ta réponse. Déjà au départ mon programme est pour moi terminé, et je ne trouve plus de problème.
J'ai utilisé: dll_call2("GetShortName" et lancer avec ta dll l'éxécution des programmes dans les items cliqués.
Pour ce qui est d'ajouté un espace après un guillemet pour éviter la suppression de ceux-ci, est-ce que ça fonctionne pour lancer l'exécution d'un fichier avec la dll. En réalité je m'étais dit d'une façon générale, qu'il pourrait être possible d'avoir une fonction dans une dll qui ajoute directement les guillemets dans la variable. Il est vrai que je ne sais pas si en faisant: variable$ = chr$(34)+variable$+chr$(34) enregistre les guillemets dans la variable, même si à la lecture de ceux-ci, ils sont effacés. Il faudrait décortiquer directement dans l'adresse de cette variable, chose que je ne fais pas.
J'ai encore besoin de tester mon programme qui à mon sens est fini, avant de mettre une copie ici. Jai mis un bouton pour exécuter un fichier. J'ai ajouté 1 check sur les raccourcis pour pouvoir modifier ceux-ci en montant ou descendant un item, j'ai ajouté un bouton pour effacer un fichier. Je ne vois pas ce que je peux ajouter de plus.
Si peut-être les attributs de fichier, et peut-être les modifier. Le but de ce programme dépasse ce que j'avais prévu au départ. Il a un intérêt pour moi, mais pas forcément pour vous. | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Problème de lancement d'un prg depuis du nom d'un fichier[R] Mer 27 Déc 2017 - 3:06 | |
| Le problème vient bien de l'interpréteur Panoramic. Regarde le code ci-dessous: - je crée une chaîne de caractères entourés de chr$(34) ce qui sont des guillemets - un PRINT (ou toute autre utilisation) ne trouve pas les guillemets - je vais chercher l'adresse de la chaîne dans a% qui donne en réalité l'adresse de l'adresse - je vais donc chercher la vraie adresse dans as% - je vais ensuite chercher le premier caractère pointé par l'adresse dans as% ==> le résultat est un a, pas un guillement Si, maitenant, tu mets la ligne 3 en commentaire et tu enlèves le commentaire devant la ligne 4, alors tu obtiens cette fois vraiment le guillemet. Cela prouve bien que Panoramic, de son propre chef, élimine purement et simplement les guillemets, ce ui n'est pas cool et cause souvent des difficultés. Voici le code: - Code:
-
dim s$, a%, as%, c%
s$ = chr$(34)+"abc"+chr$(34) ' s$ = chr$(34)+"abc"+chr$(34)+" " print s$ a% = adr(s$) as% = peek(a%)+peek(a%+1)*256+peek(a%+2)*256*256+peek(a%+3)*256*256*256 c% = peek(as%) print str$(c%)+" = "+chr$(c%)
end
| |
| | | Contenu sponsorisé
| Sujet: Re: Problème de lancement d'un prg depuis du nom d'un fichier[R] | |
| |
| | | | Problème de lancement d'un prg depuis du nom d'un fichier[R] | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |