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 |
|
|
| Preparateur_Projet_Panoramic | |
| | Auteur | Message |
---|
Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Preparateur_Projet_Panoramic Lun 3 Fév 2014 - 11:42 | |
| Bonjour à tous, Je vous livre la version Preparateur_Projet_Panoramic.bas qui j'espère vous plaira. Si vous démarrez un projet avec l'IDE de Klaus, ce programme ne vous servira à rien, sinon le voici. Vous devez adapter le chemin de la ligne 20. (Dans un premier temps je vous conseille de choisir le bureau). Tout est expliqué au début du code. - Code:
-
' Preparateur_Projet_Panoramic.bas par JC
' Ce code prépare un dossier à l'emplacement que vous aurez indiqué ligne 20, ' avec le nom du projet, et initialise le fichier.bas à l'intérieur du dossier ' Le code généré est transformable suivant vos préférences de programmation ' (vous pouvez changer vos lignes pré-codées à partir de la ligne 92) ' Ce programme contrôle qu'il n'y a pas de caractères spéciaux dans le nom du fichier ' et il remplace tout les espaces par "_" ' Ce programme contrôle l’existence du fichier.bas à l'emplacement a$
' UTILISATION: ' Pour l'utiliser, adaptez l'emplacement ligne 20, enregistrez, puis créez un exécutable ' Fermez l'éditeur. Lancez l'exécutable, indiquez le nom du projet et cliquez sur [OK] ' Une fois le projet crée, vous ouvrez le dossier et vous double-cliquez sur le fichier.bas ' l'éditeur Panoramic s'ouvrira avec le projet chargé.
error_french hide 0 Dim_Label() a$="C:\Users\JeanClaude\Desktop\" : ' indiquez l'emplacement du projet New_Projet(): ' retourne le nom du projet dans b$ Cre_dossier_Fichier(a$,b$):' création du dossier et du fichier.bas terminate END ' ------------- Sub New_Projet() m1: b$=message_input$("Nouveau Projet Panoramic","Entrez le nom de votre nouveau projet Panoramic","Nouveau_Projet") if b$="" then message "Nom de Projet incorrect":goto m1 Ctrl_Caracteres_Interdits(b$) Ctrl_Nom_Interdit(b$) if ok$="N" then goto m1 if ok$="N" then goto m1 ' remplace tout les espaces de la chaine b$ par _ (sub de Bignono, adaptée JC) for n%=1 to len(b$) substitue(b$,"_"," "):b$=new_chaine$: ' remplace l'espaces par _ next n% c$=b$+".bas":' c$ est le fichier.bas End_sub
Sub Ctrl_Nom_Interdit(chaine$) ok$="":chaine$=upper$(chaine$) if chaine$="CON" or chaine$="PRN" or chaine$="AUX" or chaine$="NUL" or chaine$="COM1" message "désolé le nom de dossier [ "+chaine$+" ] est réservé à Windows":ok$="N":exit_sub end_if if chaine$="COM2" or chaine$="COM3" or chaine$="COM4" or chaine$="COM5" or chaine$="COM6" message "désolé le nom de dossier [ "+chaine$+" ] est réservé à Windows":ok$="N":exit_sub end_if if chaine$="COM7" or chaine$="COM8" or chaine$="COM9" or chaine$="LPT1" or chaine$="LPT2" message "désolé le nom de dossier [ "+chaine$+" ] est réservé à Windows":ok$="N":exit_sub end_if if chaine$="LPT3" or chaine$="LPT4" or chaine$="LPT5" or chaine$="LPT6" or chaine$="LPT7" message "désolé le nom de dossier [ "+chaine$+" ] est réservé à Windows":ok$="N":exit_sub end_if if chaine$="LPT8" or chaine$="LPT9" message "désolé le nom de dossier [ "+chaine$+" ] est réservé à Windows":ok$="N":exit_sub end_if End_sub ' ------------- Sub Ctrl_Caracteres_Interdits(chaine$) ok$="" dim_local a%,car1$ for a%=1 to len(chaine$) car1$=mid$(chaine$,a%,1) if asc(car1$)>0 and asc(car1$)<32 then message_car_interdit(car1$):exit_sub if asc(car1$)>32 and asc(car1$)<48 then message_car_interdit(car1$):exit_sub if asc(car1$)>57 and asc(car1$)<65 then message_car_interdit(car1$):exit_sub if asc(car1$)>90 and asc(car1$)<95 then message_car_interdit(car1$):exit_sub if asc(car1$)=96 then message_car_interdit(car1$):exit_sub if asc(car1$)>122 then message_car_interdit(car1$):exit_sub next a% End_sub ' ------------------------ Sub message_car_interdit(car$) message "Le caratère [ "+car$+" ] est interdit":ok$="N" End_sub ' ---------------------------------- Sub substitue(chaine$,new$,old$) ' remplace old$ par new$ et renvoi le résultat dans la variable globale new_chaine$ (sub de Bignono, modifiée JC) dim_local i% i%=instr(chaine$,old$) if i%>0 new_chaine$=left$(chaine$,i%-1)+new$:new_chaine$=new_chaine$+right$(chaine$,len(chaine$)-i%-len(old$)+1) else new_chaine$=chaine$ end_if End_sub ' ------------- Sub Cre_dossier_Fichier(dos_courant$,rep$) a$=dos_courant$+rep$ if dir_exists(a$)=0 dir_make a$:dir_change a$ file_open_write 1,c$ file_writeln 1,"' "+b$ file_writeln 1,"" file_writeln 1,"error_french" file_writeln 1,"Dim_Label()" file_writeln 1,"Objets()" file_writeln 1,"" file_writeln 1,"END" file_writeln 1,"' =============================================================================" file_writeln 1,"Sub Dim_Label()" file_writeln 1,"" file_writeln 1,"End_Sub" file_writeln 1,"' ----------" file_writeln 1,"Sub Objets()" file_writeln 1,"" file_writeln 1,"End_Sub" file_writeln 1,"' ----------" file_close 1 else message rep$+" existe déjà à l'emplacement "+dos_courant$ end_if end_sub ' ------------- Sub Dim_Label() dim a$,b$,c$,ok$,new_chaine$,n% label m1 end_sub N'hésitez pas à faire vos commentaires ou apporter vos modifications.A+ Réédité 03/02/2014 13:43
Dernière édition par Jean Claude le Lun 3 Fév 2014 - 17:40, édité 3 fois | |
| | | bignono
Nombre de messages : 1127 Age : 67 Localisation : Val de Marne Date d'inscription : 13/11/2011
| Sujet: Re: Preparateur_Projet_Panoramic Lun 3 Fév 2014 - 12:53 | |
| Bonjour Jean-Claude Ton programme fonctionne très bien, sauf que j'obtiens l'erreur suivante: (102) impossible de créer le répertoire: line 71 En effet, si tu tentes de rentrer des noms de répertoire comme: "CON","PRN","AUX","NUL","COM1","COM2","COM3","COM4","COM5","COM6","COM7","COM8","COM9","LPT1","LPT2","LPT3","LPT4","LPT5","LPT6","LPT7","LPT8","LPT9" Windows les interdit! Ce sont des mots réservés. Tu as très bien géré les caractères interdits, mais il manque les noms de répertoire interdits dans ton programme. Aussi bien en minuscule qu'en majuscule. A+ PS: Je ne sais pas si il y a d'autres restrictions... | |
| | | Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Preparateur_Projet_Panoramic Lun 3 Fév 2014 - 13:02 | |
| Merci Bignono,
tu as certainement vu que j'ai utilisé ta procédure subsitue.
Pour les répertoires interdits par Windows, ben j'en savais rien, je vais ajouter un contrôle.
Merci pour ton intervention.
A+ | |
| | | Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Preparateur_Projet_Panoramic Lun 3 Fév 2014 - 13:41 | |
| C'est fait le contrôle des fichiers réservés est fait.
Le code de début de page est corrigé.
A+ | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Lun 3 Fév 2014 - 14:40 | |
| Bravo Jean Claude ! Ton programme fonctionne très bien. Je constate seulement que tu as abandonné l' idée de l' ouverture dans l' éditeur... | |
| | | bignono
Nombre de messages : 1127 Age : 67 Localisation : Val de Marne Date d'inscription : 13/11/2011
| Sujet: Re: Preparateur_Projet_Panoramic Lun 3 Fév 2014 - 14:58 | |
| Jean-Claude, pour transformer les espaces en "_" au lieu d'utiliser ma sub, tu pourrais faire comme ceci avec une des dernières instruction Panoramic pour les chaines: - Code:
-
for n%=1 to len(b$) c$=mid$(b$,n%,1) if c$=" " then b$=left$(b$,n%-1)+"_"+right_pos$(b$,n%+1) ' substitue(b$,"_"," "):b$=new_chaine$: ' remplace l'espaces par _ next n%
Puis pour les répertoires interdits, je les aurais mis en data, avec une boucle de lecture et un test de contrôle. exemple: - Code:
-
restore for i=1 to 22 read a$ if upper$(D$)=a$ then message "Nom de dossier interdit! Recommencez!":D$="":exit_for next i ' Liste de datas: noms de dossier interdits data "CON","PRN","AUX","NUL","COM1","COM2","COM3","COM4","COM5","COM6","COM7" data "COM8","COM9","LPT1","LPT2","LPT3","LPT4","LPT5","LPT6","LPT7","LPT8","LPT9"
A+ | |
| | | papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Preparateur_Projet_Panoramic Lun 3 Fév 2014 - 14:59 | |
| Hello Jean Claude. Ce PPPPJC : Préparateur_Projet_Panoramic_Par_JC est un bon début pour un utilitaire pouvant rendre service ! - Jean Claude a écrit:
- N'hésitez pas à faire vos commentaire ou apporter vos modifications.
Alors j'apporte mes modifications J’ai modifié La sub New_Projet() car j’ai horreur du GOTO. Ah si seulement Jack voudra bien éradiquer à jamais cette instruction ! Mais bon, personnellement j’ai juré que je ne l’utiliserai jamais. J’ai modifié aussi la sub Ctrl_Nom_Interdit(chaine$) et la sub Ctrl_Caracteres_Interdits(chaine$) J’ai supprimé le label dans sub Dim_Label() et j’ai ajouté un message en ligne 105 - Voici mon œuvre:
- Code:
-
' Preparateur_Projet_Panoramic.bas par JC
' Ce code prépare un dossier à l'emplacement que vous aurez indiqué ligne 20, ' avec le nom du projet, et initialise le fichier.bas à l'intérieur du dossier ' Le code généré est transformable suivant vos préférences de programmation ' (vous pouvez changer vos lignes pré-codées à partir de la ligne 92) ' Ce programme contrôle qu'il n'y a pas de caractères spéciaux dans le nom du fichier ' et il remplace tout les espaces par "_" ' Ce programme contrôle l’existence du fichier.bas à l'emplacement a$
' UTILISATION: ' Pour l'utiliser, adaptez l'emplacement ligne 20, enregistrez, puis créez un exécutable ' Fermez l'éditeur. Lancez l'exécutable, indiquez le nom du projet et cliquez sur [OK] ' Une fois le projet crée, vous ouvrez le dossier et vous double-cliquez sur le fichier.bas ' l'éditeur Panoramic s'ouvrira avec le projet chargé.
error_french hide 0 Dim_Label() a$ = "C:\Documents and Settings\micro\Bureau\" : ' indiquez l'emplacement du projet New_Projet(): ' retourne le nom du projet dans b$ Cre_dossier_Fichier(a$,b$):' création du dossier et du fichier.bas terminate END rem ============================================================================ ' modifié par Papydall Sub New_Projet() repeat repeat b$ = message_input$("Nouveau Projet Panoramic","Entrez le nom de votre nouveau projet Panoramic","Nouveau_Projet") until b$ <> "" Ctrl_Caracteres_Interdits(b$) : Ctrl_Nom_Interdit(b$) until ok$ <> "N" ' remplace tout les espaces de la chaine b$ par _ (sub de Bignono, adaptée JC) for n% = 1 to len(b$) substitue(b$,"_"," "):b$=new_chaine$: ' remplace l'espaces par _ next n% c$ = b$ + ".bas" :' c$ est le fichier.bas End_sub rem ============================================================================ ' modifié par Papydall Sub Ctrl_Nom_Interdit(chaine$) dim_local interdit$ if ok$ = "N" then exit_sub interdit$ = "CON,PRN,AUX,NUL,COM,COM1,COM2,COM3,COM4,COM5,COM6,COM7,COM8,COM9,LPT1,LPT2,LPT3,LPT4,LPT5,LPT6,LPT7,LPT8,LPT9" ok$ = "" : chaine$ = upper$(chaine$) if instr(interdit$,chaine$) > 0 message "désolé le nom de dossier [ "+chaine$+" ] est réservé à Windows" ok$ = "N" : exit_sub end_if end_sub rem ============================================================================
' Modifié par Papydall Sub Ctrl_Caracteres_Interdits(chaine$) dim_local as, a%,car1$ ok$ = "" for a% = 1 to len(chaine$) car1$ = mid$(chaine$,a%,1) as = asc(car1$) if (as > 0) and( as < 32) or ( as > 32) and(as<48) or (as >57) and(as < 65) or(as>90)and(as<95) or (as=96) or(as >122) message_car_interdit(car1$):exit_sub end_if next a% End_sub rem ============================================================================ Sub message_car_interdit(car$) message "Le caratère [ "+car$+" ] est interdit":ok$="N" End_sub ' ---------------------------------- Sub substitue(chaine$,new$,old$) ' remplace old$ par new$ et renvoi le résultat dans la variable globale new_chaine$ (sub de Bignono, modifiée JC) dim_local i% i%=instr(chaine$,old$) if i%>0 new_chaine$=left$(chaine$,i%-1)+new$:new_chaine$=new_chaine$+right$(chaine$,len(chaine$)-i%-len(old$)+1) else new_chaine$=chaine$ end_if End_sub ' ------------- Sub Cre_dossier_Fichier(dos_courant$,rep$) a$=dos_courant$+rep$ if dir_exists(a$)=0 dir_make a$:dir_change a$ file_open_write 1,c$ file_writeln 1,"' "+b$ file_writeln 1,"" file_writeln 1,"error_french" file_writeln 1,"Dim_Label()" file_writeln 1,"Objets()" file_writeln 1,"" file_writeln 1,"END" file_writeln 1,"' =============================================================================" file_writeln 1,"Sub Dim_Label()" file_writeln 1,"" file_writeln 1,"End_Sub" file_writeln 1,"' ----------" file_writeln 1,"Sub Objets()" file_writeln 1,"" file_writeln 1,"End_Sub" file_writeln 1,"' ----------" file_close 1 message a$ + " est crée" : ' ajouté par Papydall else message rep$+" existe déjà à l'emplacement "+dos_courant$ end_if end_sub ' ------------- Sub Dim_Label() dim a$,b$,c$,ok$,new_chaine$,n% end_sub
Bignon on s'est croisé! EDIT : COM est également interdit comme nom de dossier | |
| | | bignono
Nombre de messages : 1127 Age : 67 Localisation : Val de Marne Date d'inscription : 13/11/2011
| Sujet: Re: Preparateur_Projet_Panoramic Lun 3 Fév 2014 - 15:05 | |
| Hello Papydall! On s'est croisé! Ta solution pour les répertoires interdits est meilleur que la mienne avec les datas. Jean-Claude, ne retient que ma proposition pour la modif de l'espace en "_". A+ | |
| | | papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Preparateur_Projet_Panoramic Lun 3 Fév 2014 - 15:16 | |
| Alors, il faut conjuguer le verbe gagner puisque tout le monde a gagné quelque chose. - Citation :
• je gagne • tu gagnes • il gagne • nous gagnons • vous gagnez • ils gagnent
Vive le Forum ! | |
| | | Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Preparateur_Projet_Panoramic Lun 3 Fév 2014 - 18:01 | |
| @Ygeronimi, J'ai abandonné l'ouverture de l'éditeur car je n'y arrive pas. Néanmoins, j'ai réussi à ouvrir le dossier à la sortie du programme par execute a$ ligne 106. J'ai bien essayé de remplacer a$ par rep$, mais il ne se passe rien. @tous, Vos commentaire(s) méritaient bien un SAu final j'ai adopté le code Papydall et ajouter une possibilité de renoncer. J'ai également provoqué l'ouverture du dossier à la fin. Ça marche sous W8, à vous d'essayer sur XP et W7. - Code:
-
' Preparateur_Projet_Panoramic2.bas par JC avec la participation de Papydall et Bignono
' Ce code prépare un dossier à l'emplacement que vous aurez indiqué ligne 20, ' avec le nom du projet, et initialise le fichier.bas à l'intérieur du dossier ' Le code généré est transformable suivant vos préférences de programmation ' (vous pouvez changer vos lignes pré-codées à partir de la ligne 86) ' Ce programme contrôle qu'il n'y a pas de caractères spéciaux dans le nom du fichier ' également que le nom du dossier n'est pas interdit et il remplace tout les espaces par "_" ' Ce programme contrôle l’existence du fichier.bas à l'emplacement a$
' UTILISATION: ' Pour l'utiliser, adaptez l'emplacement ligne 20, enregistrez, puis créez un exécutable ' Fermez l'éditeur. Lancez l'exécutable, indiquez le nom du projet et cliquez sur [OK] ' Une fois le projet crée, vous ouvrez le dossier et vous double-cliquez sur le fichier.bas ' l'éditeur Panoramic s'ouvrira avec le projet chargé.
error_french hide 0 Dim_Label() a$ = "C:\Users\JeanClaude\Desktop\" : ' indiquez l'emplacement du projet New_Projet(): ' retourne le nom du projet dans b$ Cre_dossier_Fichier(a$,b$):' création du dossier et du fichier.bas terminate END rem ============================================================================ ' modifié par Papydall Sub New_Projet() repeat repeat b$ = message_input$("Nouveau Projet Panoramic","Entrez le nom de votre nouveau projet Panoramic","Nouveau_Projet") until b$ <> "" Ctrl_Caracteres_Interdits(b$) : Ctrl_Nom_Interdit(b$) until ok$ <> "N" ' remplace tout les espaces de la chaine b$ par _ (sub de Bignono, adaptée JC) for n% = 1 to len(b$) substitue(b$,"_"," "):b$=new_chaine$: ' remplace l'espaces par _ next n% c$ = b$ + ".bas" :' c$ est le fichier.bas End_sub rem ============================================================================ ' modifié par Papydall Sub Ctrl_Nom_Interdit(chaine$) dim_local interdit$ if ok$ = "N" then exit_sub interdit$ = "CON,PRN,AUX,NUL,COM,COM1,COM2,COM3,COM4,COM5,COM6,COM7,COM8,COM9,LPT1,LPT2,LPT3,LPT4,LPT5,LPT6,LPT7,LPT8,LPT9" ok$ = "" : chaine$ = upper$(chaine$) if instr(interdit$,chaine$) > 0 message "désolé le nom de dossier [ "+chaine$+" ] est réservé à Windows" ok$ = "N" : exit_sub end_if end_sub rem ============================================================================ ' Modifié par Papydall Sub Ctrl_Caracteres_Interdits(chaine$) dim_local as, a%,car1$ ok$ = "" for a% = 1 to len(chaine$) car1$ = mid$(chaine$,a%,1) as = asc(car1$) if (as > 0) and (as < 32) or (as > 32) and(as<48) or (as >57) and(as < 65) or(as>90)and(as<95) or (as=96) or(as >122) message_car_interdit(car1$):exit_sub end_if next a% End_sub rem ============================================================================ Sub message_car_interdit(car$) message "Le caratère [ "+car$+" ] est interdit":ok$="N" End_sub ' ---------------------------------- Sub substitue(chaine$,new$,old$) ' remplace old$ par new$ et renvoi le résultat dans la variable globale new_chaine$ (sub de Bignono, modifiée JC) dim_local i% i%=instr(chaine$,old$) if i%>0 new_chaine$=left$(chaine$,i%-1)+new$:new_chaine$=new_chaine$+right$(chaine$,len(chaine$)-i%-len(old$)+1) else new_chaine$=chaine$ end_if End_sub ' ------------- Sub Cre_dossier_Fichier(dos_courant$,rep$) a$=dos_courant$+rep$ if dir_exists(a$)=0 n%=message_confirmation_yes_no("Validez-vous la création de ce projet: "+a$) if n%<>1 then terminate dir_make a$:dir_change a$ file_open_write 1,c$ file_writeln 1,"' "+b$ file_writeln 1,"" file_writeln 1,"error_french" file_writeln 1,"Dim_Label()" file_writeln 1,"Objets()" file_writeln 1,"" file_writeln 1,"END" file_writeln 1,"' =============================================================================" file_writeln 1,"Sub Dim_Label()" file_writeln 1,"" file_writeln 1,"End_Sub" file_writeln 1,"' ----------" file_writeln 1,"Sub Objets()" file_writeln 1,"" file_writeln 1,"End_Sub" file_writeln 1,"' ----------" file_close 1 message a$ + " est crée, le dossier va s'ouvrir" : ' ajouté par Papydall execute a$ else message rep$+" existe déjà à l'emplacement "+dos_courant$ end_if end_sub ' ------------- Sub Dim_Label() dim a$,b$,c$,ok$,new_chaine$,n% end_sub
Un vrai bonheur de bosser à plusieurs !A+ | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Preparateur_Projet_Panoramic Lun 3 Fév 2014 - 18:30 | |
| Jean Claude, quelque chose m'échappe sans doute, mais je ne vois pas bien ce qui t'empêche de lancer l'éditeur panoramic à la fin, à la place du Notepad ... ? c'est bien ce que tu voulais faire ? du genre: - Code:
-
execute "C:\PROGRA~2\PANORA~1\PANORA~1.EXE " + a$ à la place du execute a$ Autre remarque: perso sous W7 je n'ai pas de dossier Desktop sous C:\Users\JEAN\... En fait ça ne marche pas parce que panoramic editor ne trouve pas le fichier il faut lui donner le chemin complet, il manque le sous-répertoire du nom du projet dans a$. - Code:
-
execute "C:\PROGRA~2\PANORA~1\PANORA~1.EXE " + a$ + "\" + b$ + ".bas" et ça marche | |
| | | Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Preparateur_Projet_Panoramic Lun 3 Fév 2014 - 19:11 | |
| @JL35,
Pas moyen sous W8,
j'arrive à ouvrir l éditeur avec son chemin complet, mais il ne charge pas le programme.
Dans la Doc les paramètres à passer d'EXECUTE ne sont pas des string$ (si j'ai bien compris).
Je vais manger, on verra après. | |
| | | papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Preparateur_Projet_Panoramic Lun 3 Fév 2014 - 19:32 | |
| Dans la Sub Ctrl_Nom_Interdit(chaine$), l’instruction : if instr(interdit$,chaine$) > 0 ne donne malheureusement pas ce que j’espérais ! - Code:
-
dim interdit$,chaine$ chaine$ = "X" interdit$ = "CON,PRN,AUX,NUL,COM1,COM2,COM3,COM4,COM5,COM6,COM7,COM8,COM9,LPT1,LPT2,LPT3,LPT4,LPT5,LPT6,LPT7,LPT8,LPT9" message instr(interdit$,chaine$)
L’idée de bignono (les lignes DATA) est donc à privilégier à défaut d’autre idée lumineuse. Maintenant je me sauve ! | |
| | | bignono
Nombre de messages : 1127 Age : 67 Localisation : Val de Marne Date d'inscription : 13/11/2011
| Sujet: Re: Preparateur_Projet_Panoramic Lun 3 Fév 2014 - 19:40 | |
| | |
| | | bignono
Nombre de messages : 1127 Age : 67 Localisation : Val de Marne Date d'inscription : 13/11/2011
| Sujet: Re: Preparateur_Projet_Panoramic Lun 3 Fév 2014 - 19:53 | |
| Bon, je vous donne ma version simplifiée qui fonctionne avec la version V0925i9. Je crois que Jean-Claude tu as la V0925i6, et c'est pour ça que tu n'arrives pas à ouvrir l'éditeur? - Spoiler:
dim rep$,D$,a$,i rep$="c:\mesprog\" : dir_change rep$ hide 0 while D$="" D$=message_input$("New project Panoramic in C:\MESPROG","Nom du dossier à créer","") if len(D$)>0 for i=1 to len(D$) a$=mid$(D$,i,1): ' recherche des caractères interdits if asc(a$)<32 or (asc(a$)>32 and asc(a$)<48) or (asc(a$)>57 and asc(a$)<65) or (asc(a$)>90 and asc(a$)<95) or asc(a$)=96 or asc(a$)>122 message "Caractère interdit: "+a$+" Recommencez!" $="":exit_for end_if if a$=" " then D$=left$(D$,i-1)+"_"+right_pos$(D$,i+1):' transformation de " " en "_" next i data "CON","PRN","AUX","NUL","COM","COM1","COM2","COM3","COM4","COM5","COM6","COM7" data "COM8","COM9","LPT1","LPT2","LPT3","LPT4","LPT5","LPT6","LPT7","LPT8","LPT9" restore:' Liste de datas: noms de dossier interdits for i=1 to 23 read a$ if upper$(D$)=a$ then message "Nom de dossier interdit! Recommencez!" $="":exit_for next i end_if if dir_exists(D$)=1 then message "Ce répertoire existe déjà! Recommencez!" $="" end_while rep$=rep$+D$ i=message_confirmation_yes_no("Confirmez-vous la création du projet: "+rep$+" ?") if i<>1 then terminate dir_make rep$ : dir_change rep$ D$=D$+".bas" file_open_write 1,D$ file_writeln 1,"' "+D$+": Auteur bignono" file_writeln 1,"' =============================================================================" file_writeln 1,"label fin" file_writeln 1,"dim i" file_writeln 1,"" file_writeln 1,"END" file_writeln 1,"' =============================================================================" file_writeln 1,"fin:" file_writeln 1,"" file_close 1 execute "c:\PANORAMIC\PANORAMIC_EDITOR_V0925i9.exe "+rep$+"\"+D$ terminate
A+
Dernière édition par bignono le Mar 4 Fév 2014 - 11:10, édité 1 fois | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Preparateur_Projet_Panoramic Lun 3 Fév 2014 - 19:55 | |
| Mais si Jean Claude les paramètres pour EXECUTE sont bien des strings, et ça m'étonnerait bougrement que le fonctionnement soit différent entre w7 et W8. Puisque ton chemin de panoramic_editor semble correct (puisqu'il le lance), est-ce que le chemin du fichier en paramètre est correct lui , (je parle du chemin complet, pas d'un chemin relatif, toujours un peu scabreux). Juste avant l'execute tu devrais afficher dans un Message ce chemin de fichier, pour vérifier...
PS on s'est croisés bignono, mais je ne crois pas que la version de panoramic ait à voir avec le lancement de l'éditeur, j'utilise cette formule depuis longtemps déjà (lancement de l'éditeur avec un nom de fichier en paramètre). et même depuis un programme écrit en Panoramic.
Ce que je ne comprends pas Jean Claude, c'est pourquoi tu lances ton Execute final avec le nom du dossier (a$) et non pas avec le nom du fichier (a$+"\"+c$) ? | |
| | | Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Preparateur_Projet_Panoramic Lun 3 Fév 2014 - 20:33 | |
| @Bignono Le programme de Bignono ne lance pas non plus l'éditeur sous W8 (je n'ai pas oublier de changer rep$ et execute "...") pour que l'éditeur se lance je dois enlever les variables supplémentaires. Ce programme a été simplifié à l'extrème, mais il fonctionne (après avoir corrigé la variable $) @Papydall, je n'ai pas essayer tous les noms de dossier interdits, juste un en plein milieu, (COM1) et comme çà fonctionnait je n'ai pas douté. @JL35, Si tu fais tourner ma dernière version page précédente, tu verras qu'il y a un message de confirmation qui donne le chemin complet qui est a$. jais donc codé ma ligne comme ceci: EXECUTE "chemin_de_l'editeur"+a$ En lisant la doc j'ai aussi pensé qu'il fallait écrire: EXECUTE "chemin_de_l'editeur a$" Les 2 ne fonctionnent pas. Il faudrait que Pédro (s'il passe par ici) regarde le problème car il a W8. Mais comme je l'ai déjà dit à Ygeronimi, ce n'est pas super important. Je ne sais pas si Jack a W8, je pense qu'il pourrait débroussailler l'affaire. En fait il faudrait tester le programme sous XP ou W7, puis sous W8. A+ | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Preparateur_Projet_Panoramic Lun 3 Fév 2014 - 20:42 | |
| Mais justement Jean Claude, je fais bien tourner ta dernière version, et a$ contient le nom du répertoire mais pas celui du fichier, alors ça ne peut pas marcher pour l'éditeur. D'ailleurs tu affiches bien juste avant - Code:
-
message a$ + " est crée, le dossier va s'ouvrir" : ' ajouté par Papydall ce qui s'affiche n'est pas le nom du fichier créé (qui est c$), mais du répertoire ! L'éditeur n'ouvre pas un dossier, mais un fichier .bas a$ est le chemin, certes, mais pas complet, il manque juste le nom du fichier ! Rien à voir avec W7 ou W8 ou autre. En clair, il faut que au lieu de - Code:
-
EXECUTE "Chemin_de_lediteur.exe "+"C:\Users\JeanClaude\Desktop\Monprojet" comme tu fais, tu lui donnes - Code:
-
EXECUTE "Chemin_de_lediteur.exe "+"C:\Users\JeanClaude\Desktop\Monprojet\Monprojet.bas" | |
| | | papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Preparateur_Projet_Panoramic Lun 3 Fév 2014 - 22:35 | |
| Le code de bignono fonctionne parfaitement mais il faut changer $ par : D$ ( en laissant une espace entre les deux-points et D) C’est un bug du Forum qui transforme certains codes en smileys ! COM n’est pas un nom interdit comme je l’ai signalé avant, il faut donc le supprimer de la ligne DATA (ligne 15) et modifier en conséquence la ligne 18 : for i = 1 to 22 au lieu de 23. Le fichier sera bien créé et ouvert dans l’éditeur sans problème. | |
| | | Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Preparateur_Projet_Panoramic Mar 4 Fév 2014 - 7:39 | |
| Tes explications JL35, m'on aidées à raisonner: Maintenant çà marche ! En fait, je n'ai pas besoin d’appeler l'éditeur, il suffit simplement d’exécuter le fichier_bas en indiquant son nom complet. ce qui donne: - Code:
-
execute a$+"\"+c$ J'en crois pas mes yeux, quelle prise de tête pour une solution hyper simple. Cela demande une vérif, car dans mon cas l’exécutable Panoramic est sur le bureau, c'est peut-être pour cela que je n'ai pas besoin d'appeler l'éditeur. Merci et à plus. | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Preparateur_Projet_Panoramic Mar 4 Fév 2014 - 11:57 | |
| Non c'est plus simple, c'est parce que tu as défini dans windows panoramic_editor.exe comme programme à utiliser pour tous les fichiers .bas | |
| | | Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Preparateur_Projet_Panoramic Mar 4 Fév 2014 - 12:20 | |
| Je ne me rappelle pas l'avoir fait moi-même. C'est sans doute parce que j'ai fais une fois un "ouvrir avec" sur un fichier.bas, ce qui a du paramétrer W8.
A+ | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Preparateur_Projet_Panoramic Mar 4 Fév 2014 - 13:22 | |
| C'est fort probable. Mais comme ce n'est pas forcément le cas chez tout le monde (notamment chez moi ), dans un programme diffusé il vaut mieux mettre les chemins complets pour s'adapter à tous les cas. | |
| | | Contenu sponsorisé
| Sujet: Re: Preparateur_Projet_Panoramic | |
| |
| | | | Preparateur_Projet_Panoramic | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |