Espace dans une variable
Posté : mar. 14 févr. 2017 16:58
Bonjour,
Je suis débutant en AutoIt et j'essaie de créer un script avec une interface graphique me permettant d'installer des imprimantes réseaux sur des postes de mon domaine. J'utilise PSExec pour l'installation à distance.
L'interface:

Voici le script:
Le problème est à la ligne "Run('.\PsExec.exe \\' & GUICtrlRead($ITpos) & ' rundll32 printui,PrintUIEntry /in /n\\serveur\' & GUICtrlRead($COimp))"
Certaines imprimantes ont des noms avec espace et du coup le "GUICtrlRead($COimp)" renvoi que la partie avant l'espace.
Exemple pour l'imprimante "Bureau Achats":

Si quelqu'un à une solution, merci d'avance.
Je suis débutant en AutoIt et j'essaie de créer un script avec une interface graphique me permettant d'installer des imprimantes réseaux sur des postes de mon domaine. J'utilise PSExec pour l'installation à distance.
L'interface:
Voici le script:
#include <ButtonConstants.au3>
#include <ComboConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <MsgBoxConstants.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$FMimp = GUICreate("Imprimantes", 260, 134, 192, 124)
$ITpos = GUICtrlCreateInput("", 24, 48, 100, 21, BitOR($GUI_SS_DEFAULT_INPUT,$ES_UPPERCASE))
$LLpos = GUICtrlCreateLabel("Poste", 24, 16, 31, 17)
$LLimp = GUICtrlCreateLabel("Imprimante", 136, 16, 55, 17)
$COimp = GUICtrlCreateCombo("", 136, 48, 100, 25, BitOR($GUI_SS_DEFAULT_COMBO,$CBS_SIMPLE))
GUICtrlSetData(-1, "Bureau Achats|Bureau Compta Facture|Bureau Compta M602", "Bureau Achats")
GUISetState(@SW_SHOW)
$BNval = GUICtrlCreateButton("Installer", 136, 88, 100, 21)
$CXdef = GUICtrlCreateCheckbox("Defaut", 24, 88, 100, 21)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $BNval
Run('.\PsExec.exe \\' & GUICtrlRead($ITpos) & ' rundll32 printui,PrintUIEntry /in /n\\serveur\' & GUICtrlRead($COimp))
EndSwitch
WEnd
#include <ComboConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <MsgBoxConstants.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$FMimp = GUICreate("Imprimantes", 260, 134, 192, 124)
$ITpos = GUICtrlCreateInput("", 24, 48, 100, 21, BitOR($GUI_SS_DEFAULT_INPUT,$ES_UPPERCASE))
$LLpos = GUICtrlCreateLabel("Poste", 24, 16, 31, 17)
$LLimp = GUICtrlCreateLabel("Imprimante", 136, 16, 55, 17)
$COimp = GUICtrlCreateCombo("", 136, 48, 100, 25, BitOR($GUI_SS_DEFAULT_COMBO,$CBS_SIMPLE))
GUICtrlSetData(-1, "Bureau Achats|Bureau Compta Facture|Bureau Compta M602", "Bureau Achats")
GUISetState(@SW_SHOW)
$BNval = GUICtrlCreateButton("Installer", 136, 88, 100, 21)
$CXdef = GUICtrlCreateCheckbox("Defaut", 24, 88, 100, 21)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $BNval
Run('.\PsExec.exe \\' & GUICtrlRead($ITpos) & ' rundll32 printui,PrintUIEntry /in /n\\serveur\' & GUICtrlRead($COimp))
EndSwitch
WEnd
Certaines imprimantes ont des noms avec espace et du coup le "GUICtrlRead($COimp)" renvoi que la partie avant l'espace.
Exemple pour l'imprimante "Bureau Achats":
Si quelqu'un à une solution, merci d'avance.
