Aide et conseils concernant AutoIt et ses outils.
-
matwachich
- Membre émérite

- Messages : 986
- Enregistré le : lun. 19 oct. 2009 04:04
- Localisation : Algérie
-
Status :
Hors ligne
#1
Message
par matwachich »
Salut la companie!
SVP, es-que quelqu'un pourrait me dire ce que je fait mal ici:
Code : Tout sélectionner
#include <Constants.au3>
FileInstall("C:\Program Files\_Mes Programmes\Logiciels\AutoIt3\Include\Perso\subinacl\subinacl.exe", @TempDir & "\subinacl.exe", 1)
Func _subInAcl($cmd)
Local $pid = Run(@TempDir & "\subinacl.exe " & $cmd, @TempDir, @SW_HIDE, $STDERR_CHILD + $STDIN_CHILD + $STDOUT_CHILD)
Local $ret = "", $line
While 1
$line = StdoutRead($pid)
If $line <> "" Then $ret &= $line & @CRLF
If @error Then ExitLoop
WEnd
Return $ret
EndFunc
$r = _subinacl("/?")
ConsoleWrite($r & @CRLF)
Rien ne s'affiche alors que le paramètre /? passé a subinacl.exe devrai afficher un vrai bouquin!?
Modifié en dernier par
matwachich le sam. 02 oct. 2010 20:17, modifié 1 fois.
-
sylvanie
- Niveau 11

- Messages : 1556
- Enregistré le : jeu. 26 juil. 2007 21:31
- Localisation : Paris
-
Status :
Hors ligne
#2
Message
par sylvanie »
A tout hasard, est ce que le Fileinstall s'est bien effectué ?
Toi qui cherche à mettre le doigt sur la solution, appuie sur F1.
-
sksbir
- Niveau 7

- Messages : 384
- Enregistré le : lun. 26 oct. 2009 17:57
- Localisation : Lyon
-
Status :
Hors ligne
#3
Message
par sksbir »
bonjour
si tu lances subinacl dans une fenêtre de commande, tu verras que le texte d'aide est formaté, avec certains caractères qui apparaissent en gras.
Il fallait donc analyser le contenu de la réponse de subinacl.
$TEST=StringToASCIIArray($r)
_ArrayDisplay($TEST)
ce qui permet de constater la présence d'un chr(0) entre chaque caractère émis.
il faut rajouter l'instruction
$r=StringReplace($r,chr(0),"")
avant d'afficher dans la console.
Ceci dit, avant de te lancer dans une usine à gaz avec subinacl, je te conseille de tester plutôt setacl.
-
matwachich
- Membre émérite

- Messages : 986
- Enregistré le : lun. 19 oct. 2009 04:04
- Localisation : Algérie
-
Status :
Hors ligne
#4
Message
par matwachich »
Merci! c'était la bonne solution!
Code : Tout sélectionner
#include <Constants.au3>
FileInstall("C:\Program Files\_Mes Programmes\Logiciels\AutoIt3\Include\Perso\subinacl\subinacl.exe", @TempDir & "\subinacl.exe", 1)
Func _subInAcl($cmd)
Local $pid = Run(@TempDir & "\subinacl.exe " & $cmd, @TempDir, @SW_HIDE, $STDERR_CHILD + $STDIN_CHILD + $STDOUT_CHILD)
Local $ret = "", $line
While 1
$line = StdoutRead($pid)
If $line <> "" Then $ret &= $line & @CRLF
If @error Then ExitLoop
WEnd
Return StringReplace($ret, chr(0), "")
EndFunc
$r = _subinacl("/?")
ConsoleWrite($r & @CRLF)
-
sylvanie
- Niveau 11

- Messages : 1556
- Enregistré le : jeu. 26 juil. 2007 21:31
- Localisation : Paris
-
Status :
Hors ligne
#5
Message
par sylvanie »
bravo, pensez alors à passer le sujet en [R]
Toi qui cherche à mettre le doigt sur la solution, appuie sur F1.