[R] Récupérer paramètre vbs dans Autoit

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
cbourdu57
Niveau 2
Niveau 2
Messages : 27
Enregistré le : mer. 24 avr. 2013 16:34
Status : Hors ligne

[R] Récupérer paramètre vbs dans Autoit

#1

Message par cbourdu57 »

Bonjour ! :D

J'aurai besoin d'une petite aide...
J'ai créer un script en vbs qui permet de savoir si on trouve ou pas une chaine dans un fichier txt.
Le script "trouve_chaine.vbs" marche nickel :D

Code : Tout sélectionner

fichier1 = "lol.txt"
mot = "tout"
i = 0

Set fso = CreateObject("Scripting.FileSystemObject")
set fichier2 = fso.opentextfile(fichier1, 1, true)

do until fichier2.atendofstream
        chaine = fichier2.readline()

        if instr(1, chaine, mot) > 0 then
               trouve = trouve + 1
        end if
loop

fichier2.close
set fichier2 = nothing
set fso = nothing
 


maintenant, je voudrais pouvoir récupéré la variable "trouve" dans AutoIt, pour pouvoir afficher à l'utilisateur si la chaine qu'il a rentrer dans un input est trouver ou pas ... Pour cela j'utilise une interface graphique

Code : Tout sélectionner

#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <TabConstants.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=C:\Program Files\AutoIt3\SciTE\Koda\Forms\Tableau.kxf
$Tableau = GUICreate("Tableau de bord", 869, 614, 192, 110)
$Tab1 = GUICtrlCreateTab(0, 0, 868, 609)
$Sauvegarde = GUICtrlCreateTabItem("Vérification sauvegarde")
$Input_chaine = GUICtrlCreateInput("", 24, 88, 121, 21)
GUICtrlSetBkColor(-1, 0x99B4D1)
$Label_chaine = GUICtrlCreateLabel("Entrez la chaine à trouver", 24, 56, 125, 17)
GUICtrlSetBkColor(-1, 0xA6CAF0)
$Valider = GUICtrlCreateButton("Valider", 176, 88, 75, 25)
GUICtrlSetBkColor(-1, 0x99B4D1)
GUICtrlSetCursor (-1, 0)
$TabSheet2 = GUICtrlCreateTabItem("TabSheet2")
$TabSheet3 = GUICtrlCreateTabItem("TabSheet3")
GUICtrlCreateTabItem("")
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            Exit

        Case $Valider
            ShellExecute ( "trouve_chaine.vbs" )
            if $trouve>0 Then
                MsgBox(0,"","Trouvé")
            EndIf
    EndSwitch
WEnd
 
En lançant le .au3 il m'inscrit l'erreur suivante :
if $trouve>0 Then
if ^ ERROR

Error : Variable used without being declared

Merci d'avance ! :D
Modifié en dernier par cbourdu57 le mer. 15 mai 2013 10:51, 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: [..]Récupérer paramètre vbs dans Autoit

#2

Message par mikell »

Heu ici c'est autoit pas vbs :mrgreen:

Code : Tout sélectionner

Case $Valider
       If StringInStr(FileRead("lol.txt"), "tout") Then MsgBox(0,"","Trouvé")
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
cbourdu57
Niveau 2
Niveau 2
Messages : 27
Enregistré le : mer. 24 avr. 2013 16:34
Status : Hors ligne

Re: [..]Récupérer paramètre vbs dans Autoit

#3

Message par cbourdu57 »

Oui je sais , je pensais que c'était un problème en Autoit ...

Sinon merci !

Donc sinon dans un autre script, pour récupérer une variable sous AutoIt d'un script vbs, tu sais pas comment faire ?

Et à la place du Msgbox, si dans mon interface graphique je veux juste qu'il y est un label "Trouvé" qui apparait je fais comment ?

Merci pour ta réponse rapide c'est sympa ! :D
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..]Récupérer paramètre vbs dans Autoit

#4

Message par mikell »

cbourdu57 a écrit :si dans mon interface graphique je veux juste qu'il y est un label "Trouvé" qui apparait je fais comment ?
GuiCtrlCreateLabel + GuiCtrlSetData (cf. le fichier d'aide)
Sinon tout ce que peut faire un script vbs, autoit sait le faire (en plus convivial) donc je me suis jamais posé la question d'un transfert de variable ^^
Mais tu peux tester ça : exécuter ce vbs

Code : Tout sélectionner

strpath = Replace(WScript.ScriptFullName, WScript.ScriptName, "")   ' => équivalent de @scriptdir
Set objShell = CreateObject("Shell.Application")
objShell.ShellExecute strpath & "Script 2.au3", "paramètre"
qui lance le "Script 2.au3" qui contient par exemple

Code : Tout sélectionner

MsgBox(0,'params', $CmdLine[0] &@crlf& $CmdLine[1])   
MsgBox(0,'$CmdLineRaw', $CmdLineRaw)
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
cbourdu57
Niveau 2
Niveau 2
Messages : 27
Enregistré le : mer. 24 avr. 2013 16:34
Status : Hors ligne

Re: [..] Récupérer paramètre vbs dans Autoit

#5

Message par cbourdu57 »

Je vais tout faire sous Autoit je pense, c'est plus simple, ça prendra du temps de tout convertir mais au moins pas d'emmerde :)

En tout cas, merci pour ta réponse , ce forum est génial ! :D
Répondre