Je me permet de vous soumettre un projet que je développe, le problème qui se pose est qu' avec un bouton cela fonctionne mais dès que j'intègre les deux autres button2 et 3, PAF, ERROR ??
Ne connaissant pas trop les commandes SWITCH ET SELECT, je me pose la question si le code est bien écrit ?
Help me.
Merci beaucoup.
Voici la bête :
► Afficher le texte
Code : Tout sélectionner
#include <Constants.au3>
#include <Misc.au3>
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#region ### START Koda GUI section ### Form=C:\Users\TCB\Desktop\kodaQR.kxf
$Form1_1 = GUICreate("QR Controle by David ", 382, 173, 420, 202, $GUI_SS_DEFAULT_GUI)
GUISetFont(10, 800, 0, "Comic Sans MS")
GUISetBkColor(0xFFFFFF)
$Button1 = GUICtrlCreateButton("Démarrer", 152, 24, 73, 33)
GUICtrlSetCursor(-1, 0)
$Button2 = GUICtrlCreateButton("Convertir", 152, 72, 73, 33)
GUICtrlSetCursor(-1, 0)
$Button3 = GUICtrlCreateButton("Arrêter", 152, 120, 73, 33)
GUICtrlSetCursor(-1, 0)
$Label2 = GUICtrlCreateLabel("", 136, 160, 4, 4)
$Pic1 = GUICtrlCreatePic("C:\Users\TCB\Desktop\Qrcode.jpg", 256, 40, 97, 89)
$Pic2 = GUICtrlCreatePic("C:\Users\TCB\Desktop\LOGO.JPG", 32, 40, 97, 81)
Dim $Form1_1_AccelTable[3][2] = [["{F1}", $Button1],["{F3}", $Button2],["{F2}", $Button3]]
GUISetAccelerators($Form1_1_AccelTable)
GUISetState(@SW_SHOW)
#endregion ### END Koda GUI section ###
If _Singleton(@ScriptName, 1) = 0 Then
MsgBox(0, "Attention", "Ce script ne peut être lancé qu'une seule fois")
Exit
EndIf
Opt("WinTitleMatchMode", 2)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
;initialisation du chemin de l'application zbarcam
Local $chemin_zbarcam = @ScriptDir & '\zbar_bin'
;déclaration de la variable $foo qui recevra la sortie standard (STDOUT) de zbarcam.exe
Local $foo
;définition de la variable $line qui recevra la sortie standard de zbar
Local $line
Lance_Zbar()
Lance_Notepad()
While 1
$line = StdoutRead($foo)
If @error Then ExitLoop
;si une ligne de la sortie standard de Zbarcam contient QR-Code (un code a été décodé)...
If StringInStr($line, "QR-code:") <> 0 Then
;supprimer le début de la ligne qui contient "QR-code:"
$line = StringReplace($line, "QR-code:", "")
;supprimer le retour chariot à la fin de la ligne
$line = StringStripWS($line, 8)
;On active le bloc note
WinActivate("Sans titre - Bloc-notes")
;Si il est bien actif alors on colle la valeur lue par zbarcam
If WinActive("Sans titre - Bloc-notes") Then
Coller_Valeur()
Else
EndIf
EndIf
Case $Button2
WinClose("[CLASS:Notepad]", "")
Send("!e")
WinWaitActive("Enregistrer sous")
Send("{BS}")
Send("conv.csv")
Send("!e")
Run(@ProgramFilesDir & "\OpenOffice.org 3\program\scalc.exe")
WinWaitActive("Sans nom 1 - OpenOffice.org Calc")
Send("^o")
WinWaitActive("Ouvrir")
Send("conv.csv")
Send("!v")
Send("!e")
Send("{ENTER}")
Case $Button3
WinClose("[CLASS:Notepad]", "")
Send("!r")
Func Ferme_Zbar()
EndSwitch
WEnd
;On colle la valeur lue par zbarcam dans le champs de formulaire sélectionné par défaut
Func Coller_Valeur()
ClipPut($line)
Send("^v{ENTER}")
EndFunc ;==>Coller_Valeur
;Lance Zbarcam
Func Lance_Zbar()
$foo = Run(@ComSpec & ' /c "' & $chemin_zbarcam & '\zbarcam_qr.bat"', $chemin_zbarcam, @SW_HIDE, $STDERR_CHILD + $STDOUT_CHILD)
WinWait("[CLASS:_ZBar Class]")
ProcessSetPriority("zbarcam.exe", 24)
EndFunc ;==>Lance_Zbar
;Lance Notepad
Func Lance_Notepad()
Run("notepad.exe")
EndFunc ;==>Lance_Notepad
;Fermer Z_Bar
Func Ferme_Zbar()
WinClose("ZBar")
WinWaitClose("[CLASS:_ZBar Class]", 5000)
EndFunc ;==>Ferme_Zbar



