Je débute tout juste sur AutoIT, et j’ai eu la bonne idée de commencer par développer un GUI, chose qui n’a vraiment pas l’air simple au premier abord, surtout pour quelqu’un qui ne développe pas..
Je vous explique mon problème, en espérant que l’un de vous pourra m’aider. J’ai une base de données fichier (créé par des requêtes SQL sous AutoIT) dans lequelle se trouve des références (ID) et des descriptions pour chaque produit. Voici la requête de création de table :
Code : Tout sélectionner
Create table Produit (Product_ID VARCHAR PRIMARY KEY,Product_Name VARCHAR);
Je vous met le bout de code que j’ai déjà fait, au cas où ce serait plus compréhensible pour vous que ma longue explication

Code : Tout sélectionner
#include <sqlite.au3>
#include <sqlite.dll.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#Include <GDIPlus.au3>
#include <file.au3>
#Include <GuiListBox.au3>
Opt('MustDeclareVars', 1)
Global $msg, $FileName = "Base.DBX", $Image, $Graphic, $GUI
Menu()
Func Menu()
Local $FileMenu, $FileItem1, $FileItem2
Local $Search, $Select
Global $ListBox
;Création du GUI
$GUI = GUICreate("Districhem", @Desktopwidth-30, @DesktopHeight-30, -1, -1, $WS_SYSMENU, -1)
GUISetBkColor(0xFFFFFF)
;Insertion du logo
_GDIPlus_StartUp()
$Image = _GDIPlus_ImageLoadFromFile("Logo.png")
$Graphic = _GDIPlus_GraphicsCreateFromHWND($GUI)
GUIRegisterMsg($WM_PAINT, "MY_WM_PAINT")
;Création du Menu du GUI
$FileMenu = GUICtrlCreateMenu("Fichier")
$FileItem1 = GUICtrlCreateMenuItem("Rechercher", $FileMenu)
$FileItem2 = GUICtrlCreateMenuItem("Quitter", $FileMenu)
;Evénement du GUI
GUISetState()
While 1
$msg = GUIGetMsg()
;Fonction de Recherche
If $msg = $FileItem1 Then
If not FileExists($Filename) Then
Msgbox(1,"Erreur...","Problème de connexion à la base de données, le programme va être fermé")
Exit
EndIf
$Search = InputBox("Rechercher...","Entrer le produit que vous recherchez:","")
$ListBox = GUICtrlCreateList("", @DesktopWidth/3 , @DesktopHeight/3, 500 ,200)
_SQLite_Startup()
_SQLite_Open($Filename)
$Select = _SQLite_Exec(-1,"SELECT Product_ID,Product_Name FROM Produit Where Product_ID like '%" & $Search & "%';","_cb")
_SQLite_Close()
_SQLite_Shutdown()
EndIf
If $msg = $GUI_EVENT_CLOSE Or $msg = $FileItem2 Then ExitLoop
WEnd
EndFunc
Func MY_WM_PAINT($hWnd, $Msg, $wParam, $lParam)
_WinAPI_RedrawWindow($GUI, 0, 0, $RDW_UPDATENOW)
_GDIPlus_GraphicsDrawImage($Graphic, $Image, @DesktopHeight/2, 1)
_WinAPI_RedrawWindow($GUI, 0, 0, $RDW_VALIDATE)
Return $GUI_RUNDEFMSG
EndFunc
Func _cb($aRow)
For $element In $aRow
_GUICtrlListBox_AddString($ListBox, $element & @TAB)
Next
EndFunc
J’ai testé pas mal d’autre chose mais à chaque fois, ça ne fonctionne pas… En gros je suis perdu alors si quelqu’un pense pouvoir me filer un coup de main, je suis grand preneur et je vous remercie par avance de m’avoir lu !
Edit: Je vous rajoute en pièce jointe l'au3 ainsi que la DB "version allégée". Si vous souhaitez explorer la DB, je vous conseille SQLite Database Browser