JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Liste des mots-clés Ven 14 Avr 2017 - 16:24 | |
| @Laurent (alias Minibug... ou l'inverse) En attendant que Jack te fournisse les mots-clés demandés (Keyword_Names_Load et Keyword_Names_Add)... s'il le juge utile, tu peux toujours extraire toi-même de l'Éditeur Panoramic cette fameuse liste avec une petite sub. Il suffit de relancer le programme à chaque nouvelle version de l'éditeur pour avoir la liste à jour. Avec un exemple d'appel: - Code:
-
DIM Edp$,Rhk$,fl$,fa$,fc$ Edp$ = "C:\Program Files (x86)\Panoramic Editor\PANORAMIC_EDITOR.exe" fl$ = "Z:\ListMC.txt": ' Fichiers résultat: liste brute alpha fa$ = "Z:\Aide.txt": ' " : aide détaillée de chaque fonction fc$ = "Z:\Fct.txt": ' " : résumé par mot-clé (1 ligne) MotsClesPano(Edp$,fl$,fa$,fc$) EXECUTE_WAIT "Notepad.exe "+fl$: ' pour voir: liste des mots-clés END ' ============================================================================== SUB MotsClesPano(Edp$,fl$,fa$,fc$) ' Extraction depuis Edp$ (Panoramic_Editor.exe) de la documentation des mots-clés ' Panoramic. ' Résultats dans: ' - fl$: liste brute des mots-clés ' - fa$: documentation complète, par mot-clé ' - fc$: liste des fonctions par mot_clé (parallèle à fl$) DIM_LOCAL rm$,sd$,sf$,q$,p%,fz$,a$,b$,sz%,k%,k1%,nmc%,dl% rm$ = FILE_EXTRACT_PATH$(fl$): ' répertoire de travail provisoire fz$ = rm$+"ppp.txt": ' fichier provisoire de travail (créé puis supprimé) sd$ = "300D0A23494E434C554445": ' séquence début de recherche = 0<=#INCLUDE sf$ = "0D0A460D0A46": ' séquence fin de recherche = <=F<=F q$ = CHR$(34) p% = 0: ' recherche à partir du début de l'Éditeur ' Nom court de Edp$ (Panoramic_Editor) -> a$ EXECUTE_WAIT "cmd /c for %A in ("+CHR$(34)+Edp$+CHR$(34)+") do @echo %~sA | clip" a$ = LEFT$(CLIPBOARD_STRING_PASTE$,LEN(CLIPBOARD_STRING_PASTE$)-3) FILEBIN_OPEN_READ 8,a$: FILEBIN_OPEN_WRITE 9,fz$: sz% = FILEBIN_SIZE(8) FILEBIN_POSITION 8,p% FILEBIN_HEXA_READ 8,2000,a$: k% = INSTR(a$,sd$) WHILE k% < 1 IF FILEBIN_POS(8) >= sz% CLIPBOARD_STRING_COPY STRING$(16,"0"): ' séquence début non trouvée FILEBIN_CLOSE 8: FILEBIN_CLOSE 9: EXIT_SUB END_IF p% = p%+2000-LEN(sd$): FILEBIN_POSITION 8,p% FILEBIN_HEXA_READ 8,2000,a$: k% = INSTR(a$,sd$) END_WHILE k1% = INSTR_POS(a$,sf$,k%) IF k1% > 0 a$ = MID$(a$,k%,k1%+LEN(sf$)-k%) FILEBIN_HEXA_WRITE 9,LEN(a$)/2,a$) ELSE a$ = RIGHT_POS$(a$,k%): k% = 0 WHILE k% < 1 FILEBIN_HEXA_WRITE 9,LEN(a$)/2,a$ p% = p%+2000-LEN(sf$) FILEBIN_HEXA_READ 8,2000,a$: k%=INSTR(a$,sf$) END_WHILE a$ = LEFT$(a$,k%-1)+sf$ FILEBIN_HEXA_WRITE 9,LEN(a$)/2,a$ END_IF FILEBIN_CLOSE 8: FILEBIN_CLOSE 9 FILE_OPEN_READ 8, fz$: FILE_OPEN_WRITE 9,fa$: FILE_OPEN_WRITE 6,fl$ FILE_OPEN_WRITE 7,fc$ EXECUTE_WAIT "cmd.exe /c FIND /N "+q$+"Utilise PANORAMIC Version"+q$+" "+Edp$+" | clip" a$ = CLIPBOARD_STRING_PASTE$: k% = INSTR(a$,"]") FILE_WRITELN 9,RIGHT_POS$(a$,k%+9): ' Version de l'Editeur FILE_READLN 8,a$: nmc% = 0 WHILE FILE_EOF(8) = 0 FILE_READLN 8,a$ IF LEN(a$) = 1 AND NUMERIC(a$) = 1 WHILE a$<>"1": FILE_READLN 8,a$: END_WHILE: FILE_WRITELN 9,"": ' saut de ligne FILE_READLN 8,a$: FILE_WRITELN 9,"1_ "+a$: nmc%=nmc%+1: ' MOT-CLÉ COMPLET IF LEFT$(a$,1) = "(" IF INSTR(a$,"STEP") > 0 a$ = "STEP" ELSE a$ = "TO" END_IF END_IF FILE_WRITELN 6,a$: b$ = a$ WHILE a$<>"2": FILE_READLN 8,a$: END_WHILE FILE_READLN 8,a$: FILE_WRITELN 9,"2_ "+a$: ' RÉSUMÉ IF LEN(b$)<24 THEN b$=b$+STRING$(24-LEN(b$)," ") FILE_WRITELN 7,b$+" :"+a$: ' fonction globale WHILE a$<>"3": FILE_READLN 8,a$: END_WHILE FILE_READLN 8,a$: FILE_WRITELN 9,"3_ "+a$: ' DÉFINITION FILE_READLN 8,a$: WHILE LEN(a$)>1: FILE_WRITELN 9,a$: FILE_READLN 8,a$: END_WHILE WHILE a$<>"4": FILE_READLN 8,a$: END_WHILE FILE_READLN 8,a$: FILE_WRITELN 9,"4_ "+a$: ' FONCTION FILE_READLN 8,a$: WHILE LEN(a$)>1: FILE_WRITELN 9,a$: FILE_READLN 8,a$: END_WHILE WHILE a$<>"5": FILE_READLN 8,a$: END_WHILE FILE_READLN 8,a$: FILE_WRITELN 9,"5_ "+a$: ' SYNTAXE FILE_READLN 8,a$: WHILE LEN(a$)>1: FILE_WRITELN 9,a$: FILE_READLN 8,a$: END_WHILE WHILE a$<>"6": FILE_READLN 8,a$: END_WHILE FILE_READLN 8,a$: FILE_WRITELN 9,"6_ "+a$: ' USAGE FILE_READLN 8,a$: WHILE LEN(a$)>1: FILE_WRITELN 9,a$: FILE_READLN 8,a$: END_WHILE WHILE a$<>"7": FILE_READLN 8,a$: END_WHILE FILE_READLN 8,a$: FILE_WRITELN 9,"7_ "+a$: ' CAS D'ERREUR FILE_READLN 8,a$: WHILE LEN(a$)>1: FILE_WRITELN 9,a$: FILE_READLN 8,a$: END_WHILE WHILE a$<>"8": FILE_READLN 8,a$: END_WHILE FILE_READLN 8,a$: FILE_WRITELN 9,"8_ "+a$: ' EXEMPLES FILE_READLN 8,a$: WHILE LEN(a$)>1: FILE_WRITELN 9,a$: FILE_READLN 8,a$: END_WHILE WHILE a$<>"9": FILE_READLN 8,a$: END_WHILE FILE_READLN 8,a$: FILE_WRITELN 9,"9_ "+a$: ' EN RAPPORT FILE_READLN 8,a$: WHILE LEN(a$)>1: FILE_WRITELN 9,a$: FILE_READLN 8,a$: END_WHILE END_IF END_WHILE FILE_CLOSE 8: FILE_CLOSE 9: FILE_CLOSE 6: FILE_CLOSE 7 FILE_DELETE fz$ dl%=1000: WHILE OBJECT_EXISTS(dl%)=1: dl%=dl%+1: END_WHILE DLIST dl%: FILE_LOAD dl%,fl$: SORT dl%: FILE_SAVE dl%,fl$: DELETE dl% END_SUB ' ============================================================================== A noter: Edp$ est le chemin complet d'accès à l'éditeur panoramic (à ajuster) fl$, fc$ et fa$ sont les fichiers texte résultats, à ajuster également - fl$: liste brute des mots-clés, par ordre alphabétique - fc$: idem (parallèle) avec le résumé succinct de chaque fonction - fa$: aide détaillée de chaque fonction Durée d'exécution chez moi: environ 25 s. (c'est un ordre de grandeur). | |
|
Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: Liste des mots-clés Ven 14 Avr 2017 - 17:34 | |
| Belle procédure, c'est une création et pas une réédition, rassures moi (pour moi, on avait la solution mais avec un programme externe, mais j'ai peut être raté des discussions à ce sujet). En tous cas, c'est bien pratique | |
|
JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Liste des mots-clés Ven 14 Avr 2017 - 18:21 | |
| Salut Jicehel,
Effectivement j'avais une procédure avec Reshacker mais elle ne marche plus (Reshacker fait le boulot et puis plante, je ne sais pas pourquoi).
D'un autre côté, j'enfonce un peu une porte ouverte puisqu'il suffit dans le menu de l'éditeur de cliquer 'Aide', puis 'Manuel de référence' pour obtenir la même chose ! Là c'est seulement si on veut se faire une présentation personnalisée. | |
|
Minibug
Nombre de messages : 4570 Age : 58 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Re: Liste des mots-clés Sam 15 Avr 2017 - 17:18 | |
| Bonjour JL35 ! Merci pour ton code que je vais m’empresser de mettre de coté ! Effectivement, cela fonctionne très bien et sans ressources externes. En plus on a accès à l'ensemble de l'aide avec les mots associés et tout et tout... Super. Encore merci ! | |
|
Marc
Nombre de messages : 2466 Age : 63 Localisation : TOURS (37) Date d'inscription : 17/03/2014
| Sujet: Re: Liste des mots-clés Sam 15 Avr 2017 - 17:27 | |
| Merci JL35 !
Super pratique, je mets également le code de coté !
| |
|
JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Liste des mots-clés Sam 15 Avr 2017 - 18:29 | |
| Merci à vous pour vos appréciations. C'est de la matière première pour accommoder ça à ses besoins personnels.
Personnellement je crée aussi des fichiers annexes pour chaque instruction dont je veux noter les particularités, les remarques personnelles, les exemples d'utilisation. Ces données apparaissent quand j'affiche la notice d'une instruction donnée. C'est à chacun d'arranger ça à sa convenance. | |
|
Minibug
Nombre de messages : 4570 Age : 58 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Re: Liste des mots-clés Sam 15 Avr 2017 - 18:44 | |
| Je vais m'en servir dans GPP ! Dans la prochaine version je pourrai détailler les fonctions avec exemple, mots clé associés, etc... Super utilitaire ! Encore Merci. | |
|