[R] Run($variable) $variable = inputbox

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
Prorag
Niveau 2
Niveau 2
Messages : 24
Enregistré le : mar. 05 avr. 2011 04:05
Localisation : France
Status : Hors ligne

[R] Run($variable) $variable = inputbox

#1

Message par Prorag »

Bonjour à tous!
Voila j'ai un souci pour ouvrir un programme dont le chemin est le résultat d'une inputBox.

Code : Tout sélectionner

$path = InputBox("Etape 3/8", "Entrez le chemin d'accés ou ce trouve TeamSpeak 3. NE PAS METTRE DE ""\"" A LA FIN", "C:\Programme File\TeamSpeak 3 Client")

Run(""& $path & "\ts3client_win64.exe", & $path, "", @SW_SHOW)
 
Si la personne met C:\Programme File\TeamSpeak 3 Client dans la inputbox sa devrais faire :

Code : Tout sélectionner

Run("C:\Programme File\TeamSpeak 3 Client\ts3client_win64.exe", "C:\Programme File\TeamSpeak 3 Client", "", @SW_SHOW)
 
Merci.
Modifié en dernier par Prorag le mer. 06 avr. 2011 01:50, modifié 1 fois.
Avatar du membre
ZDS
Membre émérite
Membre émérite
Messages : 554
Enregistré le : jeu. 10 juin 2010 10:35
Localisation : 22300 Cul-d'chouette Langue-de-vache
Status : Hors ligne

Re: [..] Run($variable) $variable = inputbox

#2

Message par ZDS »

Bonjour,

Quel est ton souci? c'est un problème syntaxique ou fonctionnel?
Si c'est le premier cas, voici une légère correction :

Code : Tout sélectionner

Run( $path & "\ts3client_win64.exe", $path, "", @SW_SHOW)
A bientôt !

PS: Ce que je vois surtout aussi, toujours question "syntaxe" même si c'est pas AutoIt, c'est que ton chemin par défaut n'est pas bon "C:\Programme File\TeamSpeak 3 Client" > "C:\Program Files\TeamSpeak 3 Client".
Modifié en dernier par ZDS le mar. 05 avr. 2011 18:13, modifié 1 fois.
ZDS : Chef de projet du nAiO (logiciel AutoIt gratuit sous licence CC 4.0 BY-NC-SA)
Tout problème a une solution, donc si il y a pas d'solution, c'est qu'il y a pas d'problème !
Avatar du membre
Prorag
Niveau 2
Niveau 2
Messages : 24
Enregistré le : mar. 05 avr. 2011 04:05
Localisation : France
Status : Hors ligne

Re: [..] Run($variable) $variable = inputbox

#3

Message par Prorag »

Re

Désolé ,

Code : Tout sélectionner

Run( $path & "\ts3client_win64.exe", $path, "", @SW_SHOW)
ou
Run(""$path & "\ts3client_win64.exe", $path, "", @SW_SHOW)
ou
Run(""$path & "\ts3client_win64.exe", $path, "", @SW_SHOW)
ou
Run(""$path & "\ts3client_win64.exe", ""& $path, "", @SW_SHOW)
 
Il ne se passe rien (il ne lance pas TeamSpeak 3.)

Un peu plus haut j'ai mis :

Code : Tout sélectionner

WinActivate(""& $pseudomsn & " <" & $adress & ">")
 
Marche niquel.
_______________________________________________

j'ai testé ça :

Code : Tout sélectionner

HotKeySet("{,}", "_Start")
HotKeySet("{;}", "_Pause")
HotKeySet("{:}", "_close")

Func _Start()
    Run("C:\Program Files\TeamSpeak 3 Client\ts3client_win64.exe", "C:\Program Files\TeamSpeak 3 Client", "", @SW_SHOW)
    WinActivate("Teamspeak 3", "")
EndFunc

Func _close()
    Exit
EndFunc

While 1
    Sleep(100)
WEnd
 
et ça marche mais :
Avatar du membre
ZDS
Membre émérite
Membre émérite
Messages : 554
Enregistré le : jeu. 10 juin 2010 10:35
Localisation : 22300 Cul-d'chouette Langue-de-vache
Status : Hors ligne

Re: [..] Run($variable) $variable = inputbox

#4

Message par ZDS »

Re,

Ton souci à mon avis vient de plusieurs petites erreurs d'étourderies dans le script que tu as fourni (si c'est mot pour mot ton script, mais je soupsonne que tu ne l'aies pas fourni au complet ^^), genre la fonction pause manquante, les doubles - doubles guillemets (oui, ca fait 4 ^^) qu'ils faut alterner avec des quotes, le & qui traine tout seul, le chemin "Programme File" (attention, tous les langages demandent de la rigueur ;)), etc...

Mais sinon l'idée était là; voila une version un chouia corrigée :
► Afficher le texteScript avec HotKeys et choix du chemin pour TS3
Mais je t'aurais plutôt conseillé de faire un FileSelectFolder à la place de ton input, au moins tu évites pas mal de conneries de fautes de frappe :

Code : Tout sélectionner

Global $path = FileSelectFolder( _
    "Étape 3/8 :"&@CRLF&"Sélectionnez le chemin d'accès où se trouve TeamSpeak 3.", _
    "", 0, "C:\Program Files\TeamSpeak 3 Client" _
)
à mettre à la place de ton input en début de script.

Tiens moi au courant ^^

A bientôt!

EDIT : C'est en forgeant qu'on devient forgeron ^^ Quand tu as un doute sur une fonction, regarde dans l'aide, lance l'exemple et regarde comment elle réagit : FileSelectFolder retourne le chemin du répertoire sans le "\" final. Ensuite tu n'as plus qu'à ajouter le "\" manquant et le nom de l'exécutable.
FileSelectFolder permet de choisir un dossier, FileOpenDialog permet de choisir un fichier, InputBox permet de choisir un texte : réfléchis à ce dont tu as besoin, et décide en conséquence. Ensuite, regarde l'aide d'AutoIt et ses exemples, ils sont très bien construits.

EDIT2 : Que vient faire @CRLF dans ta ligne de code : "Run(""&@CRLF & "\ts3client_win64.exe", ""&@CRLF, "", @SW_SHOW)" ? Je pense que tu t'es trompé et que tu voulais parler de $path à la place.

EDIT3 : Au final, ce n'est pas un bug AutoIt, TS3 ne se lance qu'une fois tout court si tu l'as paramétré comme tel.
Modifié en dernier par ZDS le mer. 06 avr. 2011 09:37, modifié 3 fois.
ZDS : Chef de projet du nAiO (logiciel AutoIt gratuit sous licence CC 4.0 BY-NC-SA)
Tout problème a une solution, donc si il y a pas d'solution, c'est qu'il y a pas d'problème !
Avatar du membre
Prorag
Niveau 2
Niveau 2
Messages : 24
Enregistré le : mar. 05 avr. 2011 04:05
Localisation : France
Status : Hors ligne

Re: [..] Run($variable) $variable = inputbox

#5

Message par Prorag »

Global $path = FileSelectFolder( _
"Étape 3/8 :"&@CRLF&"Sélectionnez le chemin d'accès où se trouve TeamSpeak 3.", _
"C:\Program Files\TeamSpeak 3 Client" _
)
ça marche super mai après comment je lui fait savoir qu'il doi trouver ts3client_win64.exe?
Avec la fonction RUN?

Code : Tout sélectionner

Run(""&@CRLF & "\ts3client_win64.exe", ""&@CRLF, "", @SW_SHOW)
 
dois-je mettre le \ avant ts3client_64.exe?

PS: j'ai trouvé un petit bug grâce à AutoIT, je ne c'est pas si vous avez TeamSpeak 3 Client, mais en temps normal on ne peu qu'en lancer un à la fois...

Si vous faite :
► Afficher le texte
enfin bref.
Répondre