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 |
|
|
| Editeur avec marquage syntaxique | |
|
+8Minibug Froggy One Jack jean_debord Yannick Jicehel JL35 Klaus 12 participants | |
Auteur | Message |
---|
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Editeur avec marquage syntaxique Sam 4 Oct 2014 - 13:11 | |
| - Citation :
- Quelque chose m’échappe, pourquoi ce bouton, les variables se mettent à jour au fur et à mesure du défilement ???
Certes, la visualisation s'adapte automatiquement. Mais, si tu voulais imposer une autre valeur à une variable, avant de continuer ? Pour cela, tu remplaces la valeur affichée dans le mémo par la nouvelle valeur souhaitée, pour une ou plusieurs variables dont l'adresse est affichée. Puis, tu cliques sur MAJ. La nouvelle valeur sera alors mise en place, et le programme continue alors avec ces valeurs que tu as imposées. - Citation :
- D'ailleurs, mais c'est à vérifier, je crois que c'est tout les raccourcis qui ne fonctionne plus.
C'est une anomalie, et je vais le corriger. Cela vient du fait que la page de code d'origine n'a plus le focus. Tu peux y remédier en cliquant dans la page, et tous les raccourcis marcheront à nouveau. Mais je vais automatiser cela. - Citation :
- Peux-tu préciser la bonne manière de sortir du débogage (avant la fin ou pas, je veux dire dans les 2 cas) car il est possible de fermer la fenêtre par la croix rouge.
Pour sortir du débogage, il faut utiliser le bouton "Abandon". Il ferme la fenêtre et arrête automatiquement Panoramic.exe. Mais je vais désactiver la croix rouge. En effet, ça pose problème. - Citation :
- Bon, je vais m'accorder un congés pour le reste de la journée.
Un repos bien mérité après la prise de tête avec Synedit_Editor ! | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Editeur avec marquage syntaxique Sam 4 Oct 2014 - 13:48 | |
| J'ai mis une nouvelle version du programme d'installation sur le WebDav. La seule modification concerne la macro DBG. On peut maintenant sortir de la pahse de debug par le bouton "Annuler" comme avant, mais également par la croix rouge. L'action est identique.
Je publierai prochainement une version qui redonnera automatiquement le focus à la page d'édition. | |
| | | Invité Invité
| Sujet: Re: Editeur avec marquage syntaxique Sam 4 Oct 2014 - 18:42 | |
| Teste sur cette version: Tout allait bien. J'ai essayé le debug. Au départ je n'avais pas mis de variable, et ça s'est bien déroulé. Ensuite j'ai mlis une variable a tester, et j'ai obtenu ceci: J'ai quand même aller voir cette fameuse ligne: - Code:
-
if variable("x0")=1 then item_add dbg_memo,"xo=" + str$(xo) + " adr="+str$(adr(xo))
le programme montre une erreur de dll, et la ligne 86, la variable à testée. Avant de l'avoir ajoutée, cela fonctionnait. Une question que je crois tu as répondu, mais j'ai pas vérifié, et la réponse alors me semblait bizarre par rapport à mes constatations: Il me semblait que ignoré était fait pour échapper (je crois - la mémoire faisant défaut) la présentation de l'intérieur d'une boucle. Je ne vois pas de différence avec le bouton "continuer". J'ai plein de choses à faire, aussi les testes sont mini.. |
| | | Invité Invité
| Sujet: Re: Editeur avec marquage syntaxique Sam 4 Oct 2014 - 19:04 | |
| Oui, il y a un problème: - Code:
-
on_error_goto dbg_pasKGF dbg_x$ = string$(25," ") i1% = dll_call1("KGFdllVersion",adr(dbg_x$)) goto dbg_okKGF dbg_pasKGF: dll_on "Z:\Synedit_Editor\KGF.dll" i1% = dll_call4("HookMoveSizeEvent",handle(9999),handle(9983),460,500) KGF% = 1 Tu ouvres la dll si il y a une erreur, mais tu lis normalement dll_call1(...) même si la dll n'est pas ouverte. A propos, comme plusieurs membres utilisent les derniers N° pour faire des extras, tu devrais mettre la liste des N° d"objets qu'utilisent ton programme. |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Editeur avec marquage syntaxique Dim 5 Oct 2014 - 20:52 | |
| - Citation :
- Tu ouvres la dll si il y a une erreur, mais tu lis normalement dll_call1(...) même si la dll n'est pas ouverte.
Justement, c'est voulu. C'est une erreur interceptable par ON_ERROR_GOTO, et cela me permet de savoir si KGF.dll est déjà ouverte. Il n'y a pas d'autre moyen actuellement. Panoramic ne permet pas de savoir si une DLL est ouverte, et si oui, laquelle. Mais ce code de mon programme fonctionne bien ! - Citation :
- A propos, comme plusieurs membres utilisent les derniers N° pour faire des extras, tu devrais mettre la liste des N° d"objets qu'utilisent ton programme.
Bonne idée. Pour le moment, je suis à la version Alpha, donc une version d'ébauche, de mise au point. A terme, j'envisage de rendre tout ça paramétrable, mais je n'ai pas encore décidé vraiment de quelle manière. Mais il y aura un moyen clair, simple et transparent. | |
| | | Invité Invité
| Sujet: Re: Editeur avec marquage syntaxique Dim 5 Oct 2014 - 23:15 | |
| Non Non KLAUS, il y a une mauvaise lecture de ton programme, même si j'avais compris ce que tu voulais faire. J'ai rouvert Sinedit_Editor pour lancer un programme, le tester en débug, pour récupérer celui que tu refais dans le dossier temp. Mon programme fonctionne bien, et j'ai donc rajouté la macro Debug_User je crois avec le contrôle d'une variable. Voici le résultat: Je remets les lignes de ton programme: - Citation :
- on_error_goto dbg_pasKGF
dbg_x$ = string$(25," ") i1% = dll_call1("KGFdllVersion",adr(dbg_x$)) goto dbg_okKGF dbg_pasKGF: dll_on "Z:\Synedit_Editor\KGF.dll" i1% = dll_call4("HookMoveSizeEvent",handle(9999),handle(9983),460,500) KGF% = 1 dbg_okKGF: Si tu regardes bien, tu fais toi même une erreur, car même si le programme fonctionne bien, on passe par cette procédure, et sauf erreur, la dll n'est pas ouverte pour lire la ligne en gras. |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Editeur avec marquage syntaxique Lun 6 Oct 2014 - 0:16 | |
| Tu te trompes, Cosmos70, malgré ta bonne volonté de trouver une explication. Regarde le code suivant. J'ai repris précisément ce segment de code, j'y ai ajouté qu début les lignes nécessaires pour créer l'environnement (les DIM, LABEL etc), j'ai ajouté des commentaires explicatifs et des messages signalant ce qui se passe. Essaie simplement d'exécuter cela (juste en rechangeant la ligne 13 pour la localisation de la DLL): - Code:
-
label dbg_okKGF, dbg_pasKGF dim dbg_x$, i1%, KGF% form 9999 edit 9983 : parent 9983,9999 : hide 9983
on_error_goto dbg_pasKGF : ' on intercepte l'erreur sur call_dll1 dbg_x$ = string$(25," ") i1% = dll_call1("KGFdllVersion",adr(dbg_x$)) : ' on tente d'appeler une fonction de la DLL message "KGF.dll est ouvert" goto dbg_okKGF : ' ici, on a réussi, donc la DLL est chargée dbg_pasKGF: : ' ici, la DLL n'estpa chargée message "KGF pas ouvert, alors on ouvre !" dll_on "KGF.dll" : ' "Z:\Synedit_Editor\KGF.dll" : ' alors on l'ouvre i1% = dll_call4("HookMoveSizeEvent",handle(9999),handle(9983),460,500) KGF% = 1 : ' et on mémorise le fait que la DLL a été ouverte d'office dbg_okKGF: : ' suite du traitement normal if KGF%=1 message "KGF.dll n'était pas chargée. Donc, elle a été chargée par la macro DBG." else message "KGF.dll est déjà ouverte. Donc, la macro DBG ne fait rien." end_if
Tu constates que le programme détecte sans problème que la DLL n'est pas ouverte, et l'ouvre donc en conséquence. Il n'y a pas de plantage. | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Editeur avec marquage syntaxique Lun 6 Oct 2014 - 0:20 | |
| Nouvelle version: Nouveauté: après l'arrêt d'une phase de debug, que ce soit par la croix rouge ou par le bouton Abandon, les raccourcis sont actifs, en particulier F8, F9 et ctrl/F.Le programme d'installation est à jour, y compris la nouvelle version de KGF.dll et DBG.macro. | |
| | | Invité Invité
| Sujet: Re: Editeur avec marquage syntaxique Lun 6 Oct 2014 - 0:47 | |
| Dans la version précédente, il m'étais impossible de lire une variable. Il y avait donc un problème. Tes explications étaient d'ailleur bizarre, car avec rechercher, il n'y avait qu'avec on_error_goto que la dll s'ouvrait, et tu faisais une commande de dll ???
J'ai repris le setup sans tout réinitialiser.
Le debug fonctionne maintenant. Je ne fais pas d'autres testes à cette heure ci. |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Editeur avec marquage syntaxique Lun 6 Oct 2014 - 0:57 | |
| Alors, enregistre ce fichier dans test.SEproj: - Code:
-
dim x%, f, a$ x% = 17 f = 23 a$ = "abcde" message "x%=" +str$(x%) message "f=" +str$(f) message "s$="+s$ terminate : ' <== pour éviter le double lancement ! end
sub DBGuser() ' =============================================================== ' Dans cette procédure, on charge dans le mémo de débug ' le contenu de toutes les variables à visualiser, et toute ' information utile à l'analyse de la situation. ' Cette procédure sera automatiquement appelée par DBG() ' et les informations fournies seront visibles au programmeur. ' =============================================================== ' des exemples de lignes à ajouter ici: ' if variable("i%")=1 then item_add dbg_memo,"i%=" + str$(i%) ' if variable("i%")=1 then item_add dbg_memo,"i%=" + str$(i%) + " adr="+str$(adr(i%)) ' if variable("f")=1 then item_add dbg_memo,"f=" + str$(f) + " adr="+str$(adr(f)) ' if variable("s$")=1 then item_add dbg_memo,"s$=" + s$ + " adr="+str$(adr(s$)) if variable("x%")=1 then item_add dbg_memo,"x%=" + str$(x%) + " adr="+str$(adr(x%)) if variable("f")=1 then item_add dbg_memo,"f=" + str$(f) + " adr="+str$(adr(f)) if variable("a$")=1 then item_add dbg_memo,"a$=" + a$ + " adr="+str$(adr(a$)) end_sub
#$APPLICATIONPATH C:\SyneditApplication\
Puis, dans Synedit_Editor, avec menu Fichiers option Ouvrir, ouvre ce projet, puis frappe F8. Tu verras l' debug s'ouvrir. Avance avec le bouton Continuer jusqu"à la ligne 5 - toutes les variables sont chargées avec leurs valeurs initiales, et elles sont affichées dans le mémo de la fenêtre de debug. Alors, modifie une ou plusieurs de ces valeurs dans le mémo, sans perturber la structure des lignes corespondantes, puis clique sur le bouton MAJ. Un message signale que les variables sont mises à jour. Continue ligne après ligne avec le bouton Continuer. Tu verras les messages montrer les nouvelles valeurs que tu as saisies, et elles apparaissent dans le mémo de la fenêtre de debug. | |
| | | Invité Invité
| Sujet: Re: Editeur avec marquage syntaxique Lun 6 Oct 2014 - 1:17 | |
| Bon, j'ai mon anti-virus qui a fini de testé, aussi j'ai fait un essai. La question est: est-ce qu'il faut appuyer sur MAJ pour chaque modification de variable, ou on modifié LES variableS et on met à jour après. Dans les deux cas, cela fonctionne avec les variables numériques, mais provoque une erreur avec les chaines. a$ = bonjour adr.... provoque une erreur. |
| | | Invité Invité
| Sujet: Re: Editeur avec marquage syntaxique Lun 6 Oct 2014 - 1:25 | |
| Au moment de me coucher, je me suis dit: j'ai testé le débogueur, mais j'ai pas regardé le programme.
Il y a s$ dans le programme, et a$ dans le débogueur. Maintenant ça marche!
Bonne nuit! |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Editeur avec marquage syntaxique Lun 6 Oct 2014 - 1:44 | |
| 1. Le bouton MAJ provoque la mise à jour de toutes les variables pour lesquelles une adresse est spécifiée. Tu tu aies modifié leurs valeurs ou non. Donc, il suffit de faire toutes les modifications nécessaires et de cliquer une seule fois sur le bouton MAJ. 2. Voici comment un met la variable a$ (chaîne de caractères) à jour: 1. saisie de la nouvelle valeur dans le mémo de la fenêtre de debug, sur la ligne concernant a$: Tu vois que j'ai avancé jusqu'à la ligne 5, puis j'ai saisi "bonjour" (sans les guillemets) dans la ligne concernant a$. 2. Je clique sur MAJ: Le programme signale que les variables sont mises à jour. 3. Je clique sur Continuer: On a donc le message qui affiche la valeur de x%. 4. Je valide en cliquant sur OK: Le debogueur avance jusqu'à la ligne 6. Le mémo de la fenêtre reflète les valeurs des variables en vigueur. Et on constate que le contenu de a$ est "bonjo", car initialement, cette variable contenait 5 caractères, et je n'ai aucun moyen de l'étendre au-delà. La nouvelle valeur est donc tronquée dès qu'elle excède la longueur de l'ancienne valeur, ou complétée par des espaces si elle est plus courte. Et ainsi de suite. | |
| | | Invité Invité
| Sujet: Re: Editeur avec marquage syntaxique Lun 6 Oct 2014 - 8:20 | |
| Merci pour toutes ses explications. Mais tu es à l'origine de ma question. J'ai seulement fait confiance à ton code, mais celui-ci possède une erreur: - Code:
-
dim x%, f, a$ x% = 17 f = 23 a$ = "abcde" message "x%=" +str$(x%) message "f=" +str$(f) message "s$="+s$ Si j'avais commencé par F9, je m'en serais aperçu dès le départ, et je me serais pas posé des questions sur le débogueur en modifiant les variables. L'erreur est humaine, et en ta personne, nous avons pas affaire à un robot. Plus tu feras d'erreurs, plus j'arriverai à te rattraper! |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Editeur avec marquage syntaxique Lun 6 Oct 2014 - 9:06 | |
| Oups... En effet. Ce code comporte une erreur. Elle est d'ailleurs corrigée depuis longtemps chez mois, ce que montre le projet que j'ai posté ci-dessus. Désolé, car ça t'a fait perdre du temps ! | |
| | | Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Editeur avec marquage syntaxique Lun 6 Oct 2014 - 13:48 | |
| Bonjour, J'ai testé la dernière version et tout va bien. Les améliorations apportées fonctionnent. Cela va me permettre de gonfler la "To_do_liste". Mais j'attends un peu, car j'ai vu dans un autre poste que tu travailles sur "Rechercher/Remplacer". Une piste, (quand même), sera de prévoir l'accès de certaines options par la souris. Exemple: CTRL/C et CTRL/V ne sont pas accessibles par le menu "édition". Je sais, c'est normalement basique pour un programmeur, c'est juste pour la perfection. Mais ce n'est pas le plus urgent. Bon, je te laisse travailler, on arrive au but. A+ | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Editeur avec marquage syntaxique Lun 6 Oct 2014 - 17:50 | |
| C'est exact. D'autres éditeurs rendent cela accessible également par le menu Edition. Je vais faire pareil. | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Editeur avec marquage syntaxique Lun 6 Oct 2014 - 19:27 | |
| Nouvelle version: Nouveautés: - fonction "remplacement de chaînes de caractères", par ctrl/R ou menu Edition/Remplacement - menu Edition avec fonctions Copier, Coller et CouperLe programme d'installation est à jour, avec la nouvelle DLL et la doc adaptée. | |
| | | Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Editeur avec marquage syntaxique Lun 6 Oct 2014 - 20:25 | |
| Et voilà, cet éditeur est complet.
Je viens de tester Recherche et remplacement: Plus pratique que celui de Panoramic, car on peut choisir de remplacer (ou pas) le texte au moment ou on est dessus. Dans Panoramic_Editor, si on est pas sur de vouloir tout remplacer, il faut cliquer sur suivant, mais si on clique sur "remplacer" c'est pas le texte surligné qui est remplacé, c'est le suivant.
Tel quel, je pense qu'on a là, une version viable, je vais m'en servir pour coder, c'est le seul moyen de découvrir les bug(s). Et aussi de voir les cotés pratiques ou à améliorer. Il n'y a pas de risque, vu qu'en enregistrant avec l’extension "SEproj", on ne perd pas le source.bas d'origine. Il y a bien, le problème de Panoramic.exe, mais on sait que Jack travaille dessus.
Je commencerais demain, et je ferais un rapport.
A+ | |
| | | Invité Invité
| Sujet: Re: Editeur avec marquage syntaxique Lun 6 Oct 2014 - 21:36 | |
| J'ai pas fait d'autres essais pour l'instant, et là ma journée m'a fatiguée. Tu n'as pas l'intention de mettre un <CTRL a> dans le menu, des fois? |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Editeur avec marquage syntaxique Lun 6 Oct 2014 - 23:51 | |
| Pourquoi pas ? Techniquement, c'est facile. Est-ce que ce serait utile ? | |
| | | Invité Invité
| Sujet: Re: Editeur avec marquage syntaxique Mar 7 Oct 2014 - 0:18 | |
| J'ai eu besoin de ce raccourcis lorsque j'ai voulu faire un plugin pour Panoramic. Et Panoramic_Editor ne la pas. J'ai eu beaucoup de mal à cause de cela. Comme ton Editeur est conçu pour plusieurs langages, certaines choses, tu refuses à le faire pour Panoramic. Je me dis, une fois fini, je pourrais pour mon propre compte, si la nécessité se faisait sentir, ajouter ce que j'aimerai y voir. Je verrais bien par la suite.
Par compte, ce serait bien que tu ajoute le "&" je crois dans les menu pour atteindre le menu par les touches avec <ALT> |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Editeur avec marquage syntaxique Mar 7 Oct 2014 - 0:27 | |
| Pour le signe "&", tu as raison. J'ai négligé cet aspect, et je vais y remédier. Je vais également rajouter une ligne "Sélectionner tout ctrl/A" dans le menu Edition.
| |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Editeur avec marquage syntaxique Mar 7 Oct 2014 - 0:48 | |
| J'ai comme un doute. Comment fait-on pour avoir le souligné d'un caractère du libellé d'un menu, pour le faire réagir à la touche ALT/x ? Je mets le signe &, mais il est simplement ignoré: - Code:
-
main_menu 1 sub_menu 2 : parent 2,1 : caption 2,"&Fichiers" sub_menu 3 : parent 3,2 : caption 3,"&Nouveau"
end
Qu'est-ce que j'ai manqué ? | |
| | | Invité Invité
| Sujet: Re: Editeur avec marquage syntaxique Mar 7 Oct 2014 - 1:01 | |
| Je crois que tu n'as rien loupé. apparemment c'est cette version de Panoramic qui en a fait l'oubli. Je te mets la partie DJ.Peters pour son code de désassemblage: - Code:
-
main_menu 1 sub_menu 2:caption 2,"&File":parent 2,1 sub_menu 3:parent 3,2:caption 3,"&Load":on_click 3,mnu_load sub_menu 4:caption 4,"-" :parent 4,2 sub_menu 5:caption 5,"&Exit":parent 5,2:on_click 5,mnu_exit
Et ça fonctionnait. Attends! Il faut appuyer sur la touche <ALT> pour faire apparaître le tiret. |
| | | Contenu sponsorisé
| Sujet: Re: Editeur avec marquage syntaxique | |
| |
| | | | Editeur avec marquage syntaxique | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |