| Synedit Parameters | |
|
+3Jean Claude Minibug Yannick 7 participants |
|
Auteur | Message |
---|
silverman
Nombre de messages : 970 Age : 52 Localisation : Picardie Date d'inscription : 18/03/2015
| Sujet: Re: Synedit Parameters Dim 25 Juin 2017 - 17:21 | |
| Vu que c'est un chemin de fichier passé en paramètre, ça veut dire qu'il ne sera pas exécuté puisque c'est un paramètre. Tu peux remplacer les espaces par un caractère interdit pour les noms de fichiers, le ? par exemple, transmettre, et à la reception remplacer les ? par des espaces. Facile et panoramic pur jus! | |
|
| |
Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Dim 25 Juin 2017 - 17:33 | |
| Effectivement. A force d' avoir la tête dans le guidon, on ne voit plus ce qui parait simple. | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Synedit Parameters Dim 25 Juin 2017 - 17:56 | |
| - Citation :
- Je sais Klaus mais le but est de faire du tout Panoramic.
Et, devoir embarquer KGF qui pèse lourd pour juste une fonction c' est un peu dommage. Alors, il te reste la solution brutale: introduire un paramètre bidon de "séparation" entre les paramètres réels. Et tu concatènes tout jusqu'à l'apparition du premier paramètre séparateur, et ainsi de suite. Exemple: - Code:
-
execute/wait "MonProgramme.exe|Mon source.bas & un autre source.bas & 123" Le programme devra attacher ensemble les pamamères 1 et 2, le 3 sert de séparateur, puis attacher en semble les paramètres 4, 5 et 6, le 7 sert de séparateur, et finalement on a 123. Ca devrait marcher dans tous les cas, et tu choisis librement ton caractère de séparation. | |
|
| |
Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| |
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Synedit Parameters Dim 25 Juin 2017 - 18:45 | |
| - Citation :
- Et pourquoi pas une petite dll spéciale juste pour ce besoin ?
Je vais le faire. Mais Jack a dit que c'est dans la ToDo-List, et ce ne sera donc valide que peu de temps. | |
|
| |
Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Synedit Parameters Dim 25 Juin 2017 - 18:58 | |
| Ou bien Yannick attend, Et en attendant il passe les paramètre par un fichier et utilise la sub nom_court de Papydall pour les système Windows.
A+ | |
|
| |
Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Dim 25 Juin 2017 - 19:26 | |
| Ne vous emballez pas. Je vais trouver une solution Panoramic. Silverman me l' a soufflé plus haut. En attendant, le zip sur mon webdev doit être fonctionnel. J' y ai intégré la sub de Paydall. Il est inutile de faire une dll rien que pour çà. Si un jour il faut découper KGF il vaut mieux que ce soit par thème et pas pour une seule fonction dont il est possible de se passer. | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Synedit Parameters Dim 25 Juin 2017 - 19:35 | |
| Dans mon WebDav, il y a maintenant une nouvelle DLL dans le dossier DLLs: KGF_ShortName.dll Elle contient une seule fonction: - Code:
-
res% = dll_call2('GetShortName',adr-long$),adr(court)) A appeler comme suit: - Code:
-
dim res%, court$, long$ long$ = ".../Mon fichier avec espaces.bas" court$ = string$(255," ") res% = dll_call2('GetShortName',adr-long$),adr(court)) court$ = trim$(court$)
| |
|
| |
Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Dim 25 Juin 2017 - 19:56 | |
| @ Klaus, Merci pour cette MiniKgf. @ Jean Claude, J' aimerai savoir si le dernier zip fonctionne chez toi. | |
|
| |
Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Synedit Parameters Dim 25 Juin 2017 - 20:17 | |
| Ben non. Le problème de la ligne 99 pour Syneditparameters, lui il a disparu. c'est déjà ça Pour le reste, le passage de paramètres ne fonctionne pas comme tu l'a bien expliqué: - Citation :
- Execute_Wait "C:\Users\Jean Claude\Desktop\MonExecutable.exe"+"|"+Par1$+" "+Par2$+" "+Par3$
le souci est que tu as un espace dans Par2$ et qu' un espace est une séparation de paramètre. donc c' est comme si tu avais : Par1$ = "1250" Par2$ = "C:\Users\Jean" Par3$ = "Claude\Desktop\Param.inf" Par4$ = "1"
Or, l' outils attend "1" en Par3$ et qu' il reçoit "Claude\Desktop\Param.inf" Saisis tu le pb ? donc j'ai toujours le message "impossible de charger le fichier en ligne..." Mais tu as la solution de passer les paramètres par un fichier en attendant que le problème soit résolu OU d'utiliser la mini DLL que Klaus est entrain de te concocter. Au passage, Klaus est vraiment sympa, il répond toujours positif... c'est à souligner. A+ | |
|
| |
Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Dim 25 Juin 2017 - 20:22 | |
| Je suis en train de mettre en place la solution de Silverman qui est tout panoramic. dans la version que tu viens de charger, je passe par la sub shotname de Papydall mais apparemment l' appel change selon la version de windows. Je vais y arriver, c' est pas un tas d' octet qui va m' arrêter, boudiou ! | |
|
| |
Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Synedit Parameters Dim 25 Juin 2017 - 20:34 | |
| Je viens de me rendre compte que j'ai zappé les 3 derniers messages. @Yannick, - Citation :
- @ Jean Claude,
J' aimerai savoir si le dernier zip fonctionne chez toi. Si le dernier ZIP est celui de fin d'après midi (vers 17h30, heure française pas celle du forum), alors ce que je viens d'écrire est valable. @Klaus, Tu es tellement rapide..., mais je pense que ta "KGF_ShortName.dll" ne sera pas inutile. je suis un peu honteux de t'avoir entraîné à créer quelque chose que Yannick ne souhaite pas choisir. En tous cas, merci, tu es super sympa. - Yannick a écrit:
- Je vais y arriver, c' est pas un tas d' octet qui va m' arrêter, boudiou !
Et y manquerait plus que ça... crévindiou ! A+ | |
|
| |
Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Dim 25 Juin 2017 - 20:51 | |
| Je viens de mettre sur mon webdev un enième zip de BasicEditor. J' ai pris la solution de Silverman en remplaçant les chr$(32) par des chr$(124) puis l' inverse. Jean Claude, toujours prêt ? Ceci dit, pour les petits programmes destinés à windows et qui ne nécessite qu' elle, j' ai chargé la petit dll de Klaus. | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Synedit Parameters Dim 25 Juin 2017 - 21:28 | |
| J'ai mis une version améliorée de KGF_GetShortName.dll sur le WebDav, dossier DLLs. Elle fournit maintenant ne nom même si le fichier n'existe pas. C'est une nouveauté. Voici une démo: - Code:
-
' test_GetShortName_nouveau.bas
label ouvrir
dim res%, court$, long$
dll_on "KGF_ShortName.dll"
width 0,800 button 1 : top 1,10 : left 1,10 : caption 1,"Ouvrir" : on_click 1,ouvrir alpha 2 : top 2,10 : left 2,width(1)+20 open_dialog 3
end
ouvrir: long$ = file_name$(3) if long$="_" then return court$ = string$(255," ") res% = dll_call2("GetShortName",adr(long$),adr(court$)) court$ = trim$(court$) caption 2,court$ select res% case 0 message "Le nom ou le chemin est invalide" case 1 message "Ce fichier n'existe pas" case 2 message "Ce fichier existe" end_select return Ainsi, cette fonction peut être utilisée pour passer un nom de source, de fichier de données ou de fichier exécutable, via les commandes EXECUTE et/ou EXECUTE_WAIT, sans se préoccuper de la gymnastique des guillemets dont l'usage devient superflu. Cette dll peut cohabiter avec une DLL chargée par DLL_ON en utilisant la commande LIBARY, de la manière suivante: - Code:
-
LIBRARY 1,"KGF_ShortName.dll" : ' déclaration de la DLL FUNCTION "GetShortName","GetShortName",1,"II","StdCall" On peut alors l'appeler simplement comme ceci: - Code:
-
res% = GetShortName(adr(court$),adr(long$)) | |
|
| |
Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Synedit Parameters Lun 26 Juin 2017 - 9:06 | |
| bonjour à tous, @Klaus, Cette dll apporte un vrai plus de confort. - Citation :
- cette fonction peut être utilisée pour passer un nom de source, de fichier de données ou de fichier exécutable, via les commandes EXECUTE et/ou EXECUTE_WAIT, sans se préoccuper de la gymnastique des guillemets dont l'usage devient superflu.
@Yannick, J'ai deux bonnes et deux mauvaises nouvelles Mais pas de panique, rien de grave. Au premier essai: c'est comme d'hab, impossible d'aller dans les paramètres "Impossible to load file...." C'est la première mauvaise nouvelle. La bonne nouvelle: j'ai trouvé (par hasard) la raison. Si je lance BasicEditor.exe sans charger de code et que je vais direct au paramètre ça marche ! Alors j'ai déplacé le code qui me sert de test dans le dossier "BasicEditor" et là tous les Plug-in fonctionnent parfaitement avec les bons retours. Donc le problème de l'espace dans mon nom est résolu. Je me demande si on a pas passé le weekend à chercher sur une mauvaise piste. La deuxième mauvaise nouvelle, qui a aussi sa solution. Je te la décrit quand même, ça peut rendre service: à la fermeture de l'éditeur, si, et seulement si, on a utilisé un Plug_in la fermeture par la croix rouge provoque ça: Puis ça: Tu as 2 solutions: soit tu trouves le bug, bonjour le plaisir... Soit tu neutralises la croix rouge (c'est ce que j'ai fait dans le mien, en utilisant une sub de Papydall, encore lui ) Je te file la sub si tu choisis la deuxième solution. - Code:
-
SUB Desactive_X(NumForm) Dim_local hWnd,hMenu,result%,flag%,SC_CLOSE : SC_CLOSE = hex("F060") dll_on "user32" : hWnd = handle(NumForm) : hmenu = dll_call2("GetSystemMenu",hWnd,0) : flag% = 1 result% = dll_call3("EnableMenuItem",hMenu, SC_CLOSE, flag%) : dll_off END_SUB
A toi de bosser ....
Dernière édition par Jean Claude le Lun 26 Juin 2017 - 11:20, édité 2 fois | |
|
| |
Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: Re Lun 26 Juin 2017 - 11:03 | |
| Je comprends pas bien ton histoire de premier essai. Pourrais tu me décrire étape par étape ce que tu fais quand cela ne fonctionne pas.
Pour l' erreur de fermeture, je pense que cela devrait se résoudre. J' ai une piste.
Edit : fausse piste. | |
|
| |
Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Synedit Parameters Lun 26 Juin 2017 - 11:17 | |
| Salut Yannick, Tu n'as pas bien lu ou es-tu mal réveillé. En résumé: Je ne peux pas utiliser les Plug-in si j'ai chargé un code-source de test qui n'est pas dans le répertoire BasicEditor. Si je déplace code-source de test dans le répertoire BasicEditor tous les Plug-in fonctionnent à merveille. C'est un problème de chemin. Tu dois pouvoir reproduire le problème chez toi. A+ | |
|
| |
Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Lun 26 Juin 2017 - 11:39 | |
| Effectivement. Je viens de voir çà. | |
|
| |
Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Lun 26 Juin 2017 - 11:52 | |
| J' ai bien trouvé le problème mais là c' est un casse tête.
Le chemin de base de l' exécutable est récupéré par dir_current$. Si tu charges un fichier depuis le bureau et que tu lances l' outils, dir_current$ ne renvoie pas le chemin de l' outils mais celui du fichier chargé.
C' est pas très normal puisque l' exécutable est indépendant. | |
|
| |
Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Lun 26 Juin 2017 - 12:04 | |
| @ Jean Claude,
Je mettrai un zip dans la journée mais en attendant et pour t' éviter de tout recharger, il suffit d' ajouter : dir_change Path$ dans les procédures :
OpenPanoLang() OpenSyneditParameters() OpenPanoSelectColor() OpenPanoCode() OpenPanoString()
et ce juste derrière la déclaration des variables locales | |
|
| |
Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Synedit Parameters Lun 26 Juin 2017 - 12:45 | |
| Bon, je vois que tu as la solution. J'attendrai le ZIP, j'ai d'autres chats à fouetter. A+ | |
|
| |
Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Lun 26 Juin 2017 - 12:49 | |
| Pauvres chats... | |
|
| |
Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Lun 26 Juin 2017 - 22:26 | |
| J' ai mis à jour le zip de BasicEditor pour les tests. Y' a même un bonus pour les utilisateurs de Windows... | |
|
| |
Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Synedit Parameters Mar 27 Juin 2017 - 8:46 | |
| Salut à tous, @Yannick, Et bien, ça fonctionne pas mal tout ça Plus de bug à la fermeture, le problème des chemins est résolu. Mais ! Tu ne crois tout de même pas que je ne vais pas t'embêter. Il y a un souci avec la recherche, mais je n'arrive pas à le reproduire à tous les coups. Sinon à propos de cette fenêtre de recherche, il faudrait que tu t'arranges pour quelle reste en premier plan. J'ai voulu agrandir en plein écran pendant que cette fenêtre était ouverte, du coup elle s'est retrouvée en arrière plan. Jolies les petites icônes dans le menu... A+ | |
|
| |
Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Mar 27 Juin 2017 - 9:08 | |
| Je vais regarder ce bug ou plutôt la ligne 369... | |
|
| |
Contenu sponsorisé
| Sujet: Re: Synedit Parameters | |
| |
|
| |
| Synedit Parameters | |
|