[R] Changer nom de fenêtre en fonction d'une variable

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
perfaram
Niveau 4
Niveau 4
Messages : 68
Enregistré le : jeu. 28 avr. 2011 11:40
Status : Hors ligne

[R] Changer nom de fenêtre en fonction d'une variable

#1

Message par perfaram »

Bonjour à tous
Tout est dans le titre : je cherche à changer le nom d'une fenêtre en fonction de la valeur d'une variable.
C'est à dire que j'ai le nom normal (Localisation des balises) et le nom si une "procédure" est ouverte ("Localisation des balises [$procedure]" avec $procedure=nom de la procédure ouverte).
► Afficher le texte
La fonction setproc() est actuellement appelée par un bouton ($setproc) mais dans le futur, ce bouton et cette fonction disparaîtront : la variable $procedure sera remplie par la fonction d'ouverture.

Le problème étant très simple : ça ne marche pas ! Le titre de la fenêtre ne change pas :shock:

Merci d'avance !! :wink:
Modifié en dernier par perfaram le ven. 18 oct. 2013 21:18, modifié 2 fois.
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Changer nom de fenêtre en fonction d'une variable

#2

Message par mikell »

Essaye WinSetTitle()
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
perfaram
Niveau 4
Niveau 4
Messages : 68
Enregistré le : jeu. 28 avr. 2011 11:40
Status : Hors ligne

Re: [..] Changer nom de fenêtre en fonction d'une variable

#3

Message par perfaram »

Merci, c'est mieux, puisque maintenant des crochets vides sont rajoutés à la fin du titre.
Voici ce que j'ai fait :
► Afficher le texte
J'ai adapté partout avec $mgt à la place de $mainguititle, et rajouté $mgtnew comme nom actualisé de la fenêtre. Mais ça marche pas :cry:
Où me suis-je planté ?
Sea
Niveau 6
Niveau 6
Messages : 219
Enregistré le : ven. 22 juin 2012 18:51
Localisation : France
Status : Hors ligne

Re: [..] Changer nom de fenêtre en fonction d'une variable

#4

Message par Sea »

Code : Tout sélectionner

Global $maingui = GUICreate($mgt, 1059, 684, 172, 99)

WinSetTitle($mgt, "", $mgtnew)
 
Rien ne te choque? essaye

Code : Tout sélectionner

WinSetTitle($maingui, "", $mgtnew)
 
Après aussi un petit conseil ce n'est pas universel mais lorsque tu as des noms de fonctions/variable qui sont en 2mots met la 1ere lettre du second mot (ou plus) en majuscule c'est beaucoup plus lisible ;)
Modifié en dernier par Sea le ven. 18 oct. 2013 19:52, modifié 1 fois.
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Changer nom de fenêtre en fonction d'une variable

#5

Message par mikell »

Quand tu actualises une variable, si tu le dis pas à ton script il peut pas le savoir => (1)
Le nouveau titre c'est pour la gui => (2)

Code : Tout sélectionner

While 1
    If $procedure <> "" Then
        $mgtnew = $service & " - Localisation des balises [" & $procedure & "]"  ; (1)
        WinSetTitle($maingui, "", $mgtnew)  ; (2)
    EndIf
WEnd
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
perfaram
Niveau 4
Niveau 4
Messages : 68
Enregistré le : jeu. 28 avr. 2011 11:40
Status : Hors ligne

Re: [..] Changer nom de fenêtre en fonction d'une variable

#6

Message par perfaram »

Merci beaucoup, ça marche !
Malheureusement, dès que le nom change, le programme arrête de réagir : impossible de bouger la fenêtre, au survol les contrôles (fermer/réduire/agrandir) ne se mettent plus en surbrillance, le clic droit sur le tray AutoIT ne provoque rien, un clic sur le menu démarrer non plus - bref c'est l'explorer qui devient tout mou... :?
Pour fermer, il faut cliquer sur la croix puis attendre plusieurs secondes, et dès que le script est terminé tout revient dans la normale ! :o
C'est bizarre non ?

PS : Voici le code complet :
► Afficher le texte
J'ai tout prévu pour avoir plusieurs GUIs à la fois (GUI dans une fonction, de quoi vérifier quelle GUI a envoyer le message de fermeture), c'est peut-être le problème ?
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Changer nom de fenêtre en fonction d'une variable

#7

Message par mikell »

Hmm ça sent fort la transpiration de processeur
Tu devrais essayer de ne faire travailler que quand c'est réellement nécessaire, par exemple

Code : Tout sélectionner

While 1
  Sleep(10)
WEnd
...
Func setproc()
  $procedure="Essai"
  $mgtnew = $service & " - Localisation des balises [" & $procedure & "]" 
  WinSetTitle($maingui, "", $mgtnew) 
EndFunc
 
En remplissant les boucles infinies le moins possible pour ne pas coincer le script
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
perfaram
Niveau 4
Niveau 4
Messages : 68
Enregistré le : jeu. 28 avr. 2011 11:40
Status : Hors ligne

Re: [..] Changer nom de fenêtre en fonction d'une variable

#8

Message par perfaram »

Yep, merci beaucoup ça tourne mieux ! :)
Toujours aussi réactifs !
Répondre