Salut Yannick,

Toutes ces perspectives sont bonnes à prendre si tu veux les intégrer.

Pour les fichiers avec une extension pyd, à vrai dire, je ne m'y suis pas trop attelé.

Cependant, je souhaitais te faire une proposition pour offrir la possibilité de refermer le dialogue implémenté en HTA en pressant sur la touche d'échappement.

La procédure est décrite dans ce topic sur le forum Stack Overflow :

http://stackoverflow.com/questions/31005179/close-an-hta-when-the-user-presses-the-esc-key

Bien amicalement,
Abdel.

-----Message d'origine----- From: Yannick Youalé
Sent: Wednesday, May 25, 2016 12:08 PM
To: [email protected]
Subject: [progliste] Re: 6pad++- prob lème d'ouverture de fichier HTA

Salut Abdel,


Ca fonctionne nickel !


C'est bien modal et les performences sont bonnes.


Maintenant on peut commencer les choses sérieuses.


Par rapport aux possibilités que nous offre le HTA, j'entrevoyais:

* l'amélioration des fenêtres existantes (création de classe, création
de fonction, recherche et remplacement avancé);

* la création d'une fenêtre des options digne de ce nom avec  le report
des options que j'hésitais jusqu'ici à mettre directement dans les
menus. A savoir:

- choix si lancement automatique du forPython au démarrage du 6pad++,

- choix si le forPython se lance automatiquement à l'ouverture de
fichier python

- choix si le forPython se lance automatiquement à l'ouverture de
document non encore enregistrés,

- choix de l'activation/désactivation de la vérification automatique de
la syntaxe des lignes,

- choix de l'activation/désactivation de l'ajout automatique des balises
de fin de bloc,

- choix de la façon de lire les niveaux d'indentation (numéro seulement,
niveau & numéro),

- choix du comportement de forPython en cas d'erreur détectée dans le code,

choix de l'activation/désactivation de la lecture du niveau
d'indentation seulement si changement,

- etc...).


Sinon tu as évolué sur la piste des fichiers à l'extension .pyd comme
option alternative ?


De mon côté, les changements ont récemment été:

removeTags
addTags
adjustIndentsByTags
readIndentOnlyWhenChange
loadForPythonTools (menuReadIndentOnlyWhenChange
onKeyUp par un nouveau global et la parti lecture de la ligne courante
lastDifferentIndentLevel en global
getBlocsLimits
fonctions ajoutées:
nextLineWithSameLevel
previousLineWithSameLevel

J'en donnerais plus de détails un peu plus tard.


Amicalement,


Yannick Daniel Youalé

La programmation est une religion. Aimez-la, ou quittez-la.

www.visuweb.net





Le 25/05/2016 à 10:13, Abdel a écrit :
Resalut Yannick,

Petite correction de ta fonction.

Comme les variables s, separator et pathIni ne sont pas utilisées, je les ai retirées, le but étant purement de tester la modalité de la boîte de dialogue.

J'avais également oublié d'ajouter la fenêtre d'alerte pour vérifier la modalité.

Je te laisse tester et me donner des nouvelles.

Début de la fonction
def openHTA():
   # ouvre un fichier HTA
   # le chemin vers le fichier à utiliser
   pathFrm = os.path.join(getCurScriptFolderPath(), "frmCreateClass.hta")
   # initialisation du fichier intermédiaire
   # exécution de la fenêtre HTA
   runHTAApplication(pathFrm)
   sp.window.alert("fin du traitement")
Fin de la fonction

Voilà, merci à toi.
Bien amicalement,
Abdel.


-----Message d'origine----- From: Abdel
Sent: Wednesday, May 25, 2016 10:50 AM
To: [email protected]
Subject: [progliste] Re: 6pad++- problème d'ouverture de fichier HTA

Salut cher ami Yannick,

Je viens de tester la fonction os.system avec le paramètre que tu indiques
précisant l'exécutable mshta.exe avant le chemin du fichier hta.

Le résultat est qu'effectivement, la boîte de dialogue est désormais bien
modale, mais la console MS_DOS s'ouvre quand-même en premier lieu.

J'obtiens un meilleur résultat avec subprocess.check_call et le paramètre
startupinfo.

subprocess.check_call(["mshta.exe", path], startupinfo = startupinfo)

Voici les 2 fonctions qui fonctionnent très bien ici :

La première reçois en paramètre le chemin du fichier hta à exécuter, et la
seconde est celle que tu m'as indiquée, modifiée en conséquence.

Début du code
# Fonction pour l'exécution de l'application HTA.
def runHTAApplication(path):
   # Permet d'exécuter une application HTML au format HTA avec
subprocess.check_call.
   # Les 2 lignes de code suivantes permettent d'éviter l'ouverture de la
console lors de l'exécution.
   # La valeur de la variable startupinfo sera alors affectée au paramètre
startupinfo de la méthode check_call.
   startupinfo = subprocess.STARTUPINFO()
   startupinfo.dwFlags |= subprocess.STARTF_USESHOWWINDOW
   proc = subprocess.check_call(["mshta.exe", path], startupinfo =
startupinfo)

# Et maintenant, ta fonction modifiée.
def openHTA():
   # ouvre un fichier HTA
   s = ""
   separator = ",,,"
   # les chemins vers les fichiers à utiliser
   pathIni = getCurScriptFolderPath() + "\\com.ini"
   pathFrm = getCurScriptFolderPath() + "\\frmCreateClass.hta"
   # initialisation du fichier intermédiaire
   writeFile(pathIni, "")
   # exécution de la fenêtre HTA
   runHTAApplication(pathFrm)
Fin du code

PS:

Pour la fonction getCurModuleDir(), il n'était pas nécessaire de la créer,
puisqu'on avait déjà la fonction getCurScriptFolderPath () qui fait le même
travail...

Voili voilou, merci à toi.



Et voilà un nouveau problème de réglé, grâce à ta persévérance lol !

Bien amicalement,
Abdel.

-----Message d'origine----- From: Yannick Youalé
Sent: Wednesday, May 25, 2016 6:44 AM
To: [email protected]
Subject: [progliste] 6pad++- problème d'ouverture de fichier HTA

Salut,


Mon cher Abdel, je pense avoir réglé le problème d'ouverture des
fichiers HTA.



C'est que par la fonction os.system, il faut juste indiquer le logiciel
qui doit ouvrir le fichier en question dans l'instruction d'exécution.
En l’occurrence MSHTA.exe.


Les avantages sont que:

* la fenêtre console ne s'affiche plus;

* la fenêtre ouverte est parfaitement modale;

* et les performances sont correctes.


Voici une fonction toute faite à coller dans le module forPython qui
peut te permettre de faire le test chez toi:


Début du code python


def openHTA():
    # ouvre un fichier HTA
    s = ""
    separator = ",,,"
    # les chemins vers les fichiers à utiliser
    pathIni = getCurModuleDir() + "\\com.ini"
    pathFrm = getCurModuleDir() + "\\frmCreateClass.hta"
    # initialisation du fichier intermédiaire
    writeFile(pathIni, "")
    # exécution de la fenêtre HTA
    os.system('mshta.exe ' + '"' + pathFrm + '"')
    #
    alert("fin du traitement")
# end def

Fin du code python


Fais-moi signe si ça fonctionne. Je croise les doigts.


Yannick Daniel Youalé

La programmation est une religion. Aimez-la ou quittez-la.

www.visuweb.net



Progliste :
Pour se d�sinscrire de la liste :
mailto:[email protected]?subject=unsubscribe

Pour voir les archives de la liste :
http://www.mail-archive.com/[email protected]/

Je vous rappelle que les pi�ces jointe sont activ�s leur taille est limit�
2 MO

Pour acc�der aux fichiers de la liste
http://outils.archive-host.com/partage.php?id=2Qar9Hy6ftzr
Ou en utilisant la nouvelle page de partage :
http://outils-n.archive-host.com/partage-fm0m7b947vglikp9Efpso94gt
Pour y ajouter des fichiers demandez-moi le ou sur la liste ou en priv�, je
vous r�pondrez en priv�.


Progliste :
Pour se d�sinscrire de la liste : mailto:[email protected]?subject=unsubscribe

Pour voir les archives de la liste :
http://www.mail-archive.com/[email protected]/

Je vous rappelle que les pi�ces jointe sont activ�s leur taille est limit� � 2 MO

Pour acc�der aux fichiers de la liste
http://outils.archive-host.com/partage.php?id=2Qar9Hy6ftzr
Ou en utilisant la nouvelle page de partage :
http://outils-n.archive-host.com/partage-fm0m7b947vglikp9Efpso94gt
Pour y ajouter des fichiers demandez-moi le ou sur la liste ou en priv�, je vous r�pondrez en priv�.


Progliste :
Pour se d�sinscrire de la liste : mailto:[email protected]?subject=unsubscribe

Pour voir les archives de la liste :
http://www.mail-archive.com/[email protected]/

Je vous rappelle que les pi�ces jointe sont activ�s leur taille est limit� � 2 MO
Pour acc�der aux fichiers de la liste
http://outils.archive-host.com/partage.php?id=2Qar9Hy6ftzr
Ou en utilisant la nouvelle page de partage :
http://outils-n.archive-host.com/partage-fm0m7b947vglikp9Efpso94gt
Pour y ajouter des fichiers demandez-moi le ou sur la liste ou en priv�, je vous r�pondrez en priv�.



Progliste :
Pour se d�sinscrire de la liste : mailto:[email protected]?subject=unsubscribe

Pour voir les archives de la liste :
http://www.mail-archive.com/[email protected]/

Je vous rappelle que les pi�ces jointe sont activ�s leur taille est limit� � 2 MO

Pour acc�der aux fichiers de la liste
http://outils.archive-host.com/partage.php?id=2Qar9Hy6ftzr
Ou en utilisant la nouvelle page de partage :
http://outils-n.archive-host.com/partage-fm0m7b947vglikp9Efpso94gt
Pour y ajouter des fichiers demandez-moi le ou sur la liste ou en priv�, je vous r�pondrez en priv�.


Progliste :
Pour se d�sinscrire de la liste : 
mailto:[email protected]?subject=unsubscribe

Pour voir les archives de la liste :
http://www.mail-archive.com/[email protected]/       

Je vous rappelle que les pi�ces jointe sont activ�s leur taille est limit� � 2 MO
Pour acc�der aux fichiers de la liste
http://outils.archive-host.com/partage.php?id=2Qar9Hy6ftzr
Ou en utilisant la nouvelle page de partage :
http://outils-n.archive-host.com/partage-fm0m7b947vglikp9Efpso94gt
Pour y ajouter des fichiers demandez-moi le ou sur la liste ou en priv�, je 
vous r�pondrez en priv�.
        
        

Répondre à