Voici mon dernier script, écrit pour répondre à la demande d'un de nos clients : relever les numéros de série de tous les matériels connectés à une configuration, quelle que soit cette configuration.
Du coup, j'ai opté pour une définition de chaque configuration en utilisant un fichier INI contenant le détail de chaque pièce.
Le programme, dans mon cas, est lancé à partir d'une image PXE, sur le réseau : à la fin de la saisie, le fichier INI se recopie sur le serveur (afin de collecter plus facilement les numéros de série de chaque configuration).
NB : ce programme est prévu pour fonctionner avec une douchette (lecteur code à barre) configurée avec un CR en fin de code.
Le code :
► Afficher le texte
Code : Tout sélectionner
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
$fichier = FileFindFirstFile(@ScriptDir & "\SNU_*.ini")
$fichier_ini = FileFindNextFile($fichier)
$champ = ""
Global $coincoin = "0"
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Serializer 2.0 - Ghost Line - 2014", 504, 432, 527, 172)
$Titre = GUICtrlCreateLabel("RELEVEMENT DES NUMEROS DE SERIE", 72, 8, 369, 32)
GUICtrlSetFont(-1, 16, 400, 0, "Atlanta")
GUICtrlSetColor(-1, 0x000000)
$Input01 = GUICtrlCreateInput("", 152, 64, 289, 28)
GUICtrlSetFont(-1, 11, 400, 0, "Atlanta")
GUICtrlSetColor(-1, 0x000000)
$Input02 = GUICtrlCreateInput("", 152, 96, 289, 28)
GUICtrlSetFont(-1, 11, 400, 0, "Atlanta")
GUICtrlSetColor(-1, 0x000000)
$Input03 = GUICtrlCreateInput("", 152, 128, 289, 28)
GUICtrlSetFont(-1, 11, 400, 0, "Atlanta")
GUICtrlSetColor(-1, 0x000000)
$Input04 = GUICtrlCreateInput("", 152, 160, 289, 28)
GUICtrlSetFont(-1, 11, 400, 0, "Atlanta")
GUICtrlSetColor(-1, 0x000000)
$Input05 = GUICtrlCreateInput("", 152, 192, 289, 28)
GUICtrlSetFont(-1, 11, 400, 0, "Atlanta")
GUICtrlSetColor(-1, 0x000000)
$Input06 = GUICtrlCreateInput("", 152, 224, 289, 28)
GUICtrlSetFont(-1, 11, 400, 0, "Atlanta")
GUICtrlSetColor(-1, 0x000000)
$Input07 = GUICtrlCreateInput("", 152, 256, 289, 28)
GUICtrlSetFont(-1, 11, 400, 0, "Atlanta")
GUICtrlSetColor(-1, 0x000000)
$Input08 = GUICtrlCreateInput("", 152, 288, 289, 28)
GUICtrlSetFont(-1, 11, 400, 0, "Atlanta")
GUICtrlSetColor(-1, 0x000000)
$Input09 = GUICtrlCreateInput("", 152, 320, 289, 28)
GUICtrlSetFont(-1, 11, 400, 0, "Atlanta")
GUICtrlSetColor(-1, 0x000000)
$Input10 = GUICtrlCreateInput("", 152, 352, 289, 28)
GUICtrlSetFont(-1, 11, 400, 0, "Atlanta")
GUICtrlSetColor(-1, 0x000000)
$Valider = GUICtrlCreateButton("Valider", 8, 384, 489, 41)
$Button01 = GUICtrlCreateButton("Effacer", 448, 64, 49, 25)
$Button02 = GUICtrlCreateButton("Effacer", 448, 96, 49, 25)
$Button03 = GUICtrlCreateButton("Effacer", 448, 128, 49, 25)
$Button04 = GUICtrlCreateButton("Effacer", 448, 160, 49, 25)
$Button05 = GUICtrlCreateButton("Effacer", 448, 192, 49, 25)
$Button06 = GUICtrlCreateButton("Effacer", 448, 224, 49, 25)
$Button07 = GUICtrlCreateButton("Effacer", 448, 256, 49, 25)
$Button08 = GUICtrlCreateButton("Effacer", 448, 288, 49, 25)
$Button09 = GUICtrlCreateButton("Effacer", 448, 320, 49, 25)
$Button10 = GUICtrlCreateButton("Effacer", 448, 352, 49, 25)
If IniRead($fichier_ini, "LABEL", "01", "") <> "" Then
$piece01 = GUICtrlCreateLabel(IniRead($fichier_ini, "LABEL", "01", ""), 8, 72)
GUICtrlSetFont(-1, 8, 400, 0, "Atlanta")
GUICtrlSetColor(-1, 0x000000)
Else
GUICtrlSetState($Input01, $GUI_DISABLE)
GUICtrlSetState($Button01, $GUI_DISABLE)
EndIf
If IniRead($fichier_ini, "LABEL", "02", "") <> "" Then
$piece02 = GUICtrlCreateLabel(IniRead($fichier_ini, "LABEL", "02", ""), 8, 104)
GUICtrlSetFont(-1, 8, 400, 0, "Atlanta")
GUICtrlSetColor(-1, 0x000000)
Else
GUICtrlSetState($Input02, $GUI_DISABLE)
GUICtrlSetState($Button02, $GUI_DISABLE)
EndIf
If IniRead($fichier_ini, "LABEL", "03", "") <> "" Then
$piece03 = GUICtrlCreateLabel(IniRead($fichier_ini, "LABEL", "03", ""), 8, 136)
GUICtrlSetFont(-1, 8, 400, 0, "Atlanta")
GUICtrlSetColor(-1, 0x000000)
Else
GUICtrlSetState($Input03, $GUI_DISABLE)
GUICtrlSetState($Button03, $GUI_DISABLE)
EndIf
If IniRead($fichier_ini, "LABEL", "04", "") <> "" Then
$piece04 = GUICtrlCreateLabel(IniRead($fichier_ini, "LABEL", "04", ""), 8, 168)
GUICtrlSetFont(-1, 8, 400, 0, "Atlanta")
GUICtrlSetColor(-1, 0x000000)
Else
GUICtrlSetState($Input04, $GUI_DISABLE)
GUICtrlSetState($Button04, $GUI_DISABLE)
EndIf
If IniRead($fichier_ini, "LABEL", "05", "") <> "" Then
$piece05 = GUICtrlCreateLabel(IniRead($fichier_ini, "LABEL", "05", ""), 8, 200)
GUICtrlSetFont(-1, 8, 400, 0, "Atlanta")
GUICtrlSetColor(-1, 0x000000)
Else
GUICtrlSetState($Input05, $GUI_DISABLE)
GUICtrlSetState($Button05, $GUI_DISABLE)
EndIf
If IniRead($fichier_ini, "LABEL", "06", "") <> "" Then
$piece06 = GUICtrlCreateLabel(IniRead($fichier_ini, "LABEL", "06", ""), 8, 232)
GUICtrlSetFont(-1, 8, 400, 0, "Atlanta")
GUICtrlSetColor(-1, 0x000000)
Else
GUICtrlSetState($Input06, $GUI_DISABLE)
GUICtrlSetState($Button06, $GUI_DISABLE)
EndIf
If IniRead($fichier_ini, "LABEL", "07", "") <> "" Then
$piece07 = GUICtrlCreateLabel(IniRead($fichier_ini, "LABEL", "07", ""), 8, 264)
GUICtrlSetFont(-1, 8, 400, 0, "Atlanta")
GUICtrlSetColor(-1, 0x000000)
Else
GUICtrlSetState($Input07, $GUI_DISABLE)
GUICtrlSetState($Button07, $GUI_DISABLE)
EndIf
If IniRead($fichier_ini, "LABEL", "08", "") <> "" Then
$piece08 = GUICtrlCreateLabel(IniRead($fichier_ini, "LABEL", "08", ""), 8, 296)
GUICtrlSetFont(-1, 8, 400, 0, "Atlanta")
GUICtrlSetColor(-1, 0x000000)
Else
GUICtrlSetState($Input08, $GUI_DISABLE)
GUICtrlSetState($Button08, $GUI_DISABLE)
EndIf
If IniRead($fichier_ini, "LABEL", "09", "") <> "" Then
$piece09 = GUICtrlCreateLabel(IniRead($fichier_ini, "LABEL", "09", ""), 8, 328)
GUICtrlSetFont(-1, 8, 400, 0, "Atlanta")
GUICtrlSetColor(-1, 0x000000)
Else
GUICtrlSetState($Input09, $GUI_DISABLE)
GUICtrlSetState($Button09, $GUI_DISABLE)
EndIf
If IniRead($fichier_ini, "LABEL", "10", "") <> "" Then
$piece10 = GUICtrlCreateLabel(IniRead($fichier_ini, "LABEL", "10", ""), 8, 360)
GUICtrlSetFont(-1, 8, 400, 0, "Atlanta")
GUICtrlSetColor(-1, 0x000000)
Else
GUICtrlSetState($Input10, $GUI_DISABLE)
GUICtrlSetState($Button10, $GUI_DISABLE)
EndIf
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
HotKeySet("{ENTER}", "SautChamps")
Send("{CAPSLOCK on}")
While 1
Grisage($Input01)
Grisage($Input02)
Grisage($Input03)
Grisage($Input04)
Grisage($Input05)
Grisage($Input06)
Grisage($Input07)
Grisage($Input08)
Grisage($Input09)
Grisage($Input10)
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button01
$current = $Input01
GUICtrlSetState($Input01, $GUI_ENABLE)
GUICtrlSetData($current, "")
GUICtrlSetState($current, 256)
Case $Button02
$current = $Input02
GUICtrlSetState($Input02, $GUI_ENABLE)
GUICtrlSetData($current, "")
GUICtrlSetState($current, 256)
Case $Button03
$current = $Input03
GUICtrlSetState($Input03, $GUI_ENABLE)
GUICtrlSetData($current, "")
GUICtrlSetState($current, 256)
Case $Button04
$current = $Input04
GUICtrlSetState($Input04, $GUI_ENABLE)
GUICtrlSetData($current, "")
GUICtrlSetState($current, 256)
Case $Button05
$current = $Input05
GUICtrlSetState($Input05, $GUI_ENABLE)
GUICtrlSetData($current, "")
GUICtrlSetState($current, 256)
Case $Button06
$current = $Input06
GUICtrlSetState($Input06, $GUI_ENABLE)
GUICtrlSetData($current, "")
GUICtrlSetState($current, 256)
Case $Button07
$current = $Input07
GUICtrlSetState($Input07, $GUI_ENABLE)
GUICtrlSetData($current, "")
GUICtrlSetState($current, 256)
Case $Button08
$current = $Input08
GUICtrlSetState($Input08, $GUI_ENABLE)
GUICtrlSetData($current, "")
GUICtrlSetState($current, 256)
Case $Button09
$current = $Input09
GUICtrlSetState($Input09, $GUI_ENABLE)
GUICtrlSetData($current, "")
GUICtrlSetState($current, 256)
Case $Button10
$current = $Input10
GUICtrlSetState($Input10, $GUI_ENABLE)
GUICtrlSetData($current, "")
GUICtrlSetState($current, 256)
Case $Valider
IniWrite($fichier_ini, "RELEVE", "01", GUICtrlRead($Input01))
IniWrite($fichier_ini, "RELEVE", "02", GUICtrlRead($Input02))
IniWrite($fichier_ini, "RELEVE", "03", GUICtrlRead($Input03))
IniWrite($fichier_ini, "RELEVE", "04", GUICtrlRead($Input04))
IniWrite($fichier_ini, "RELEVE", "05", GUICtrlRead($Input05))
IniWrite($fichier_ini, "RELEVE", "06", GUICtrlRead($Input06))
IniWrite($fichier_ini, "RELEVE", "07", GUICtrlRead($Input07))
IniWrite($fichier_ini, "RELEVE", "08", GUICtrlRead($Input08))
IniWrite($fichier_ini, "RELEVE", "09", GUICtrlRead($Input09))
IniWrite($fichier_ini, "RELEVE", "10", GUICtrlRead($Input10))
IniWrite($fichier_ini, "INFO", "date", @MDAY & "/" & @MON)
IniWrite($fichier_ini, "INFO", "heure", @HOUR & ":" & @MIN)
FileMove($fichier_ini, IniRead(@ScriptDir & "\config.ini", "PARAM", "destination", ""))
Exit
EndSwitch
WEnd
Func SautChamps()
$coincoin = "1"
Send("{TAB}")
Send("{CAPSLOCK on}")
EndFunc ;==>SautChamps
Func Grisage($champ)
If $coincoin = "1" And GUICtrlRead($champ) <> "" And GUICtrlGetState($champ) <> "144" Then
GUICtrlSetState($champ, $GUI_DISABLE)
$coincoin = "0"
EndIf
EndFunc ;==>Grisage
► Afficher le texte
Code : Tout sélectionner
[LABEL]
01=Epson FX890
02=Beetle MII+
03=BA63
04=BA83
05=TMH6000-IV
06=
07=PowerScan BT7100
08=Base BT7100
09=
10=
[RELEVE]
01=
02=
03=
04=
05=
06=
07=
08=
09=
10=
[INFO]
date=
heure=