Batch Index du Forum
S’enregistrerRechercherFAQMembresGroupesConnexion
Répondre au sujet Page 1 sur 1
[Projet] FrontEnd Rom
Auteur Message
Répondre en citant
Message [Projet] FrontEnd Rom 
Bonjour

j'avais commencé à faire un frontend pour gérer les roms de différentes consoles de jeux : NES, SNES,PSX,MAME en listant les dossiers uniquement mais voila je me suis dis qu'en utilisant sql ça serait peut etre mieux donc comme j'ai peu de temps, je cherche un co programmeur autoit pour m aider dans différentes tâches.

Je vais me baser sur ce que j avais commencé à cogiter http://batch.xoo.it/t2403-Essayer-le-sql-et-autoit.htm


ID |Titre | Console | Langues | Genre


Ancien Projet

Code:

#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_Res_requestedExecutionLevel=asInvoker
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
#cs
Projet FrontEnd Laddy le 24.06.2013
0. Regarder si emultateurs ont des lignes de commande : Projet64, ePsx
Exemple :
N64 ->Project64.exe C:\Some path\some folder\some rom.v64  ; with out quote
APPPATH, FOLDERPATH ROM
PSX->epsx.exe -loadbin <file>
Extensions des roms :
- *.v64,*. n64, *.zip >Nintendo 64
- *.bin, *.iso > Playstation
1. Gestion des emultateurs , configuration via fichier INI à voir en fonction ligne de commande
3. Gestion par double clic en lançant le bon emultateur en fonction de la colonne console.


#ce


#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <ListViewConstants.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>


Local $iFileMenu, $iRecentFilesMenu, $iFileItem, $sFilePath
#Region ### START Koda GUI section ### Form=
Global $_1 = GUICreate("FrontEnd Alpha", 751, 651, 248, 35, BitOR($GUI_SS_DEFAULT_GUI,$WS_SIZEBOX,$WS_THICKFRAME))
GUISetBkColor(0xE0FFFF)
;Menu
$iFileMenu = GUICtrlCreateMenu("&Fichier")
    $iFileItem = GUICtrlCreateMenuItem("Ouvrir", $iFileMenu)
   $iRecentFilesMenu = GUICtrlCreateMenu("Roms Récentes", $iFileMenu, 1)
   $iExit = GUICtrlCreateMenuItem("Exit", $iFileMenu)
    GUICtrlSetState(-1, $GUI_DEFBUTTON)
$iConfigMenu = GUICtrlCreateMenu("&Configuration")
   $iConfigItem = GUICtrlCreateMenuItem("Ouvrir", $iConfigMenu)
Global $hListV = GUICtrlCreateListView("ID|Titre|Console|Langues|Genre", 194, 10, 546, 534)
GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 0, 50) ; id automatique
GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 1, 100) ; titre
GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 2, 150) ; console
GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 3, 50) ; langue
GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 3, 150) ;genre
Global $Pic1 = GUICtrlCreatePic("D:\Roms\N64\409.jpg", 16, 32, 164, 140) ; endroit pour afficher la jaquet du jeu
Global $Button1 = GUICtrlCreateButton("Jouer", 32, 192, 137, 41) ; execute l emulateur en fonction de la console
Global $Label1 = GUICtrlCreateLabel("Aperçu", 16, 8, 38, 17)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###


While 1
 $nMsg = GUIGetMsg()
 Switch $nMsg
   Case $GUI_EVENT_CLOSE
      Exit
   Case $iFileItem
      ;?
      GUICtrlCreateMenuItem($sFilePath, $iRecentFilesMenu)
   Exit


  Case $_1
 EndSwitch
WEnd





Code:

Gui #ADD ROM
Titre :
Path :
Screenshot :
Console : Menu déroulant avec ARCADE, NES, SNES,N64,GAMEBOY, PSX,DREAMCAST etc...
Genre : Menu déroulant avec Shoot Em up, Action, plateforme, course, aventure
Langue : Menu déroulant : Fr, US, JP, EUR




Global $Form1 = GUICreate("Form1", 627, 288, 181, 155)
Global $Titre= GUICtrlCreateInput("", 56, 40, 201, 21)
Global $Consoles = GUICtrlCreateCombo("Consoles", 56, 88, 201, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
GUICtrlSetData(-1, "ARCADE|NES|SNES|N64|PSX")
Global $Chemin = GUICtrlCreateInput("Chemin", 280, 40, 233, 21)
Global $Button1 = GUICtrlCreateButton("Parcourir", 528, 32, 81, 25)
Global $capture = GUICtrlCreateInput("capture", 280, 88, 233, 21)
Global $Button2 = GUICtrlCreateButton("Parcourir", 528, 88, 81, 25)
Global $Langue = GUICtrlCreateCombo("Langue", 56, 128, 201, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
GUICtrlSetData(-1, "EURO|FR|JP|USA")
Global $Genre = GUICtrlCreateCombo("Genre", 280, 128, 225, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
GUICtrlSetData(-1, "ACTION|AVENTURE|COURSE|SHOOTEMUP|N/A")
Global $Ajouter = GUICtrlCreateButton("Ajouter", 350, 224, 105, 33)
Global $Annuler = GUICtrlCreateButton("Annuler", 485, 224, 105, 33)
Global $Group1 = GUICtrlCreateGroup("Information", 24, 8, 593, 265)
GUICtrlCreateGroup("", -99, -99, 1, 1)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###


1ere étape : créer la base de donnée
ID |Titre | Console | Langues | Genre


Code:

#cs
 Projet FrontEnd Laddy le 24.06.2013
Todo :
0. Regarder si emultateurs ont des lignes de commande : Projet64, ePsx
Exemple :
N64 ->Project64.exe C:\Some path\some folder\some rom.v64  ; with out quote
APPPATH, FOLDERPATH ROM
PSX->epsx.exe -loadbin <file>
Extensions des roms :
- *.v64,*. n64, *.zip >Nintendo 64
- *.bin, *.iso > Playstation

   Changelog :
                          Légende : (+ Ajout, - Suppression, B correction de bugs.)
+ Création Database
+ Gui en evenementiel pour plus de clareté

CREATE DATABASE `ROMDB` DEFAULT CHARACTER SET latin1 COLLATE latin1_general_ci;
USE `ROMDB`

CREATE TABLE IF NOT EXISTS `romdb` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `Titre` varchar(255) CHARACTER SET latin1 COLLATE latin1_general_ci NOT NULL,
    `Genre` varchar(255) CHARACTER SET latin1 COLLATE latin1_general_ci NOT NULL,
    `Key_Console` varchar(30) NOT NULL,
  `KEY_Langue` varchar(255) DEFAULT NULL,
    `idConsole` int(11) DEFAULT NULL,
  `idLangue` int(11) DEFAULT NULL,
    PRIMARY KEY (`id`),
  KEY `idConsole` (`idConsole`),
  KEY `idLangue` (`idLangue`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=29 ;


INSERT INTO `romdb` (`id`, `Titre`, `Key_Console`, `KEY_Langue`, `Genre`, `idConsole`, `idLangue`) VALUES
(1, 'MarioBros', 'NES','FR', 'Plateforme',NULL, NULL),
(2, 'Super Mario Bros', 'SNES','FR', 'Plateforme',NULL, NULL),
(3, 'Crash Bandicot', 'PSX','FR', 'Plateforme',NULL, NULL);

CREATE TABLE IF NOT EXISTS `Console` (
  `idConsole` int(11) NOT NULL AUTO_INCREMENT,
  `NomConsole` varchar(255) CHARACTER SET latin1 COLLATE latin1_general_ci DEFAULT NULL,
  PRIMARY KEY (`idConsole`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=8 ;

--
-- Contenu de la table `Console`
--

INSERT INTO `Console` (`idConsole`, `NomConsole`) VALUES
(1, 'NES'),
(2, 'SNES'),
(3, 'N64'),
(4, 'NDS'),
(5, 'MAME'),
(6, 'PSX');

CREATE TABLE IF NOT EXISTS `Langue` (
  `id_Langue` int(11) NOT NULL AUTO_INCREMENT,
  `NLangue` varchar(255) CHARACTER SET latin1 COLLATE latin1_general_ci DEFAULT NULL,
  PRIMARY KEY (`id_Langue`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=8 ;

--
-- Contenu de la table `Langue`
--

INSERT INTO `Langue` (`id_Langue`, `NLangue`) VALUES
(1, 'fr'),
(2, 'us'),
(3, 'jp'),
(4, 'eu');




#ce
#include <GUIConstantsEx.au3>
#include <GuiListView.au3>
#include <WindowsConstants.au3>
#include "MySQL.au3"


Opt("GUIOnEventMode", 1)

Dim $NameList
Dim $UserName = "root"
Dim $Password = ""
Dim $Database = "romdb"
Dim $MySQLServerName = "localhost"
Dim $TableName = "dbrom"
Dim $Column = "id"

Global $Titre, $Console, $Langue, $Type

Dim $ColumnNames[5]

$ColumnNames[0] = "id"
$ColumnNames[1] = "Titre"
$ColumnNames[2] = "Console"
$ColumnNames[3] = "Langue"
$ColumnNames[4] = "Type"



#Region ### START Koda GUI section ### Form=C:\Users\Cari\Desktop\SQL\contacts.kxf
Global $Gui_Contacts = GUICreate("FrontEnd", 675, 536, 179, 59)
GUISetOnEvent($GUI_EVENT_CLOSE, "Sortie")
$Titre = GUICtrlCreateInput("", 56, 24, 409, 21)
$Console = GUICtrlCreateInput("", 56, 56, 409, 21)
$Langue = GUICtrlCreateInput("", 56, 96, 409, 21)
$Type = GUICtrlCreateInput("", 56, 136, 409, 21)
Global $Label1 = GUICtrlCreateLabel("Titre", 8, 32, 26, 17)
;Global $Label2 = GUICtrlCreateLabel("Console", 8, 64, 40, 17)
;Global $Label3 = GUICtrlCreateLabel("Langue", 16, 96, 23, 17)
Global $ListConsole = GUICtrlCreateCombo("", 56, 168, 169, 25)
Global $ListLang = GUICtrlCreateCombo("", 56, 200, 169, 25)
Global $Label4 = GUICtrlCreateLabel("Type :", 8, 136, 41, 17)
;Global $Edit1 = GUICtrlCreateListView("", 8, 176, 601, 257)
$lview = GUICtrlCreateListView("", 20, 278, 601, 250);,$LVS_NOCOLUMNHEADER)
_GUICtrlListView_AddColumn($lview, "Id", 30)
_GUICtrlListView_AddColumn($lview, "Titre", 95)
_GUICtrlListView_AddColumn($lview, "Console", 95)
_GUICtrlListView_AddColumn($lview, "Langue", 120)
_GUICtrlListView_AddColumn($lview, "Type", 100)
Global $Go = GUICtrlCreateButton("Enregistrer", 488, 120, 121, 41, $WS_GROUP)
GUICtrlSetOnEvent($Go, "Ajouter")
Global $Search = GUICtrlCreateButton("Jouer", 488, 48, 123, 41, $WS_GROUP)
GUICtrlSetOnEvent($Search, "Search")
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

Dim $NewGuest[5]

$SQLInstance = _MySQLConnect($UserName, $Password, $Database, $MySQLServerName) ; connexion sql
ConsoleConnection() ; liste Console
LangConnection() ; liste Langue
DisplayTable() ; affiche le contenu de la table
_MySQLEnd($SQLInstance)

While 1
   $nMsg = GUIGetMsg()
   Switch $nMsg
      Case $GUI_EVENT_CLOSE
         Exit
      Case $Go
         ;Ajouter()
   EndSwitch
WEnd

Func ConsoleConnection()
   Local $SQLCode = "SELECT * FROM Console"
   $TableContents = _Query($SQLInstance, $SQLCode)
   With $TableContents
      While Not .EOF
         ; STOCKAGE DES RéSULTATS DANS UN TABLEAU
         $NameList &= "|" & .Fields("NomConsole" ).value ;; No @CRLF for a list or Combo
         .MoveNext
      WEnd
      GUICtrlSetData($ListConsole, $NameList);setting to combobox
   EndWith
EndFunc

Func LangConnection()
   Local $SQLCode = "SELECT * FROM Langue"
   $TableContents = _Query($SQLInstance, $SQLCode)
   With $TableContents
      While Not .EOF
         ; STOCKAGE DES RéSULTATS DANS UN TABLEAU
         $NameList &= "|" & .Fields("NLangue" ).value ;; No @CRLF for a list or Combo
         .MoveNext
      WEnd
      GUICtrlSetData($ListLang, $NameList);setting to combobox
   EndWith
EndFunc


Func Add()
   $NewGuest[0] = ""
   $NewGuest[1] = GUICtrlRead($Titre)
   $NewGuest[2] = GUICtrlRead($Console)
   $NewGuest[3] = GUICtrlRead($Langue)
   $NewGuest[4] = GUICtrlRead($Type)
   $SQLInstance = _MySQLConnect($UserName, $Password, $Database, $MySQLServerName) ; connexion sql
;Détruire le contenu des colonnes
    _GUICtrlListView_DeleteAllItems(GUICtrlGetHandle($lview))
   ; ajoute un nouveau enregistrement dans la base de donnée.
   _AddRecord($SQLInstance, $TableName, $ColumnNames, $NewGuest)



   ;Effacer les champs de saisie
   GUICtrlSetData($Titre, "")
   GUICtrlSetData($Console, "")
   GUICtrlSetData($Langue, "")
   GUICtrlSetData($Type, "")
   DisplayTable() ; afficher le contenu de la base

   _MySQLEnd($SQLInstance)

EndFunc   ;==>Add



#Region Functions
Func DisplayTable()
   Dim $NameList[5]
   Local $SQLCode = "SELECT * FROM dbrom"
   $TableContents = _Query($SQLInstance, $SQLCode)
   With $TableContents
      While Not .EOF
         ; STOCKAGE DES RéSULTATS DANS UN TABLEAU
         $NameList[0] = .Fields("id" ).value
         $NameList[1] = .Fields("Titre" ).value
         $NameList[2] = .Fields("Console" ).value
         $NameList[3] = .Fields("Langue" ).value
         $NameList[4] = .Fields("Type" ).value ; lire les différents entrées dans la base
         .MoveNext
         ;affiche les résultats dabs la listview.
         $Index = _GUICtrlListView_AddItem($lview, $NameList[0]) ; id
         _GUICtrlListView_AddSubItem($lview, $Index, $NameList[1], 1) ;Titre
         _GUICtrlListView_AddSubItem($lview, $Index, $NameList[2], 2) ;Console
         _GUICtrlListView_AddSubItem($lview, $Index, $NameList[3], 3) ;Langue
         _GUICtrlListView_AddSubItem($lview, $Index, $NameList[4], 4) ;Type

      WEnd
   EndWith
EndFunc   ;==>DisplayTable

Func Ajouter()
EndFunc

Func Search()
   EndFunc


Func Sortie()
   If @GUI_WinHandle = $Gui_Contacts Then
      Exit
   Else
      GUIDelete(@GUI_WinHandle)
   EndIf
EndFunc   ;==>Sortie




Dernière édition par Laddy le Jeu 25 Juil 2013 - 10:45; édité 2 fois

______________________________________________________
Faites paraitre votre batch sur BatchClipboard
Visiter le site web du posteur
Message Publicité 
PublicitéSupprimer les publicités ?


Répondre en citant
Message [Projet] FrontEnd Rom 
Bonjour
sous win 7 64 bit j'ai un message d'erreur si quelqu'un a une idée

MySQL.au3 (27) : ==> The requested action with this object has failed.:
$Objconn.open ("DRIVER=" & $sDriver & ";SERVER=" & $sServer & ";DATABASE=" & $sDatabase & ";UID=" & $sUsername & ";PWD=" & $sPassword & ";PORT="&$iPort)
$Objconn.open ("DRIVER=" & $sDriver & ";SERVER=" & $sServer & ";DATABASE=" & $sDatabase & ";UID=" & $sUsername & ";PWD=" & $sPassword & ";PORT="&$iPort)^ ERROR
->06:38:42 AutoIT3.exe ended.rc:1




______________________________________________________
Faites paraitre votre batch sur BatchClipboard
Visiter le site web du posteur
Répondre en citant
Message [Projet] FrontEnd Rom 
Bonjour Lady,

-> je voix deux possibilités: impossible de contacter le serveur de base de donnée ou alors il y a une erreur dans la chaine de connexion ("DRIVER=" & $sDriver & ";SERVER=" & $sServer & ";DATABASE=" & $sDatabase & ";UID=" & $sUsername & ";PWD=" & $sPassword & ";PORT="&$iPort)

tu peux récupérer le détail de l'erreur en t'inspirant de cet example:
Code:

global $oErrorHandler = ObjEvent("AutoIt.Error", "_ErrFunc")
_Example()

Func _Example()
   $Objconn = ObjCreate("test");produit l'erreur "Chaîne de classe incorrecte"
   $Objconn.open("chaine de connexion");produit l'erreur "Variable must be of type 'Object'."
EndFunc   ;==>_Example

Func _ErrFunc($oError)
   MsgBox(16,"erreur autoit","err.number is: " & @TAB & $oError.number & @CRLF & _
         "err.windescription:" & @TAB & $oError.windescription & @CRLF & _
         "err.description is: " & @TAB & $oError.description & @CRLF & _
         "err.source is: " & @TAB & $oError.source & @CRLF & _
         "err.helpfile is: " & @TAB & $oError.helpfile & @CRLF & _
         "err.helpcontext is: " & @TAB & $oError.helpcontext & @CRLF & _
         "err.lastdllerror is: " & @TAB & $oError.lastdllerror & @CRLF & _
         "err.scriptline is: " & @TAB & $oError.scriptline & @CRLF & _
         "err.retcode is: " & @TAB & $oError.retcode & @CRLF & @CRLF)
EndFunc   ;==>_ErrFunc





______________________________________________________
Mes principales réalisations: Cp (batch) et IPSvc (autoit)
Répondre en citant
Message [Projet] FrontEnd Rom 
C est bizzar eje me demande si c est parce que je suis sous win 64 bit
j ai installé odmachin en 32 bit pourtant.




______________________________________________________
Faites paraitre votre batch sur BatchClipboard
Visiter le site web du posteur
Répondre en citant
Message [Projet] FrontEnd Rom 
Salut,

je trouve que c'est cher payé que de vouloir passer par un serveur SQL pour ça. S'il te faut absolument une interface SQL, il serait à mon sens plus judicieux de choisir SQLite, sinon à titre personnel je me serais contenté d'un fichier au format CSV.



Répondre en citant
Message [Projet] FrontEnd Rom 
C'est un exercice et mes connaissances sont limités à mysql voir tres limité
J'ai fait en fonction de mes connaissances. Pour cvs je ne savais pas comment mis pendre
je ne connais pas sqlite


Si tu as une idée de comment créer ma liste en csv sans prise de tête et afficher le tout dans un tableau autoit avec clic pour lancer le jeu avec le bon emultateur fait moi signe Temp
ou utiliser directement sqlite convertir ma base de donnée




______________________________________________________
Faites paraitre votre batch sur BatchClipboard
Visiter le site web du posteur
Répondre en citant
Message [Projet] FrontEnd Rom 
je connais pas autoit donc de ce coté là je peux pas t'aider... mais dans le principe c'est simple, un fichier csv n'est rien d'autre qu'un fichier texte, c'est un format pris en charge entre autres par les tableurs, il constitue en soi une base de données :

ID;Titre;Console;Langues;Genre
01;.Super Mario Bros;NES;EN;Aventure
02;Tetris;NES;FR;Puzzle

après t'as juste à lire ce fichier avec ce que serait l'équivalent d'un for/token pour autoit et remplir ton tableau. Pour compléter la base, il suffit d'écrire une ligne supplémentaire dans le fichier csv avec autoit. Tu peux aussi effacer et faire de la recherche dans la base je suppose.



Répondre en citant
Message [Projet] FrontEnd Rom 
Bonjour temp
peux tu m en dire plus sur sqlite et ccomment l installer car je trouve aucune infos en fr




______________________________________________________
Faites paraitre votre batch sur BatchClipboard
Visiter le site web du posteur
Répondre en citant
Message [Projet] FrontEnd Rom 
Bonjour
j'ai trouvé en fait sqlite dans autoit se base sur deux includes et travaille avec un fichier de donnée interne
ça m'a l'air pas mal tout ça.

Du coup ce matin j'ai tenté de faire une conversion de ma bdd vers sqlite j'arrive à afficher le contenu dans une msgbox, je posterai mon code plus tard, car je dois faire la meme chose mais dans une listview.




______________________________________________________
Faites paraitre votre batch sur BatchClipboard
Visiter le site web du posteur
Répondre en citant
Message [Projet] FrontEnd Rom 
Désolé, j'étais pas là hier. Mais même si je sais ce qu'est sqlite je n'ai aucune connaissance de son interfaçage avec autoit. je pourrais éventuellement faire une recherche ou deux pour toi en cas de besoin, mais je ne pourrais t'être d'une plus grande aide.



Répondre en citant
Message [Projet] FrontEnd Rom 
Pas de souci temp j'ai trouvé je posterai le resultat demain matin.




______________________________________________________
Faites paraitre votre batch sur BatchClipboard
Visiter le site web du posteur
Répondre en citant
Message [Projet] FrontEnd Rom 
Bonjour


Création BDD
Code:
#include <SQLite.au3>
#include <SQLite.dll.au3>

Local $hQuery, $aRow, $sMsg

;Verification de la présence de la DLL
_SQLite_Startup ()
If @error > 0 Then Exit MsgBox(16, "SQLite Error", "SQLite.dll Can't be Loaded!")
$bdd=_SQLite_Open ("dbrom")
If @error > 0 Then Exit MsgBox(16, "SQLite Error", "Can't Load Database!")


;Création Table , et insertion dans la BDD
 _SQLite_Exec (-1, "CREATE TABLE romdb(id, Titre, Console,  Langue,Type);")

 _SQLite_Exec (-1, "INSERT INTO romdb VALUES ('1', 'MarioBros', 'NES','FR', 'Plateforme');")
 _SQLite_Exec (-1, "INSERT INTO romdb VALUES ('2', 'Super Mario Bros', 'SNES','FR', 'Plateforme');")
 _SQLite_Exec (-1, "INSERT INTO romdb VALUES ('3', 'Crash Bandicot', 'PSX','FR', 'Plateforme');")
_SQLite_Close ()
_SQLite_Shutdown ()



Code:

#include <SQLite.au3>
#include <SQLite.dll.au3>

Local $hQuery, $aRow, $sMsg

;Verification de la présence de la DLL
_SQLite_Startup ()
If @error > 0 Then Exit MsgBox(16, "SQLite Error", "SQLite.dll Can't be Loaded!")
$bdd=_SQLite_Open ("dbrom")
If @error > 0 Then Exit MsgBox(16, "SQLite Error", "Can't Load Database!")
;Lire information de la bdd
_SQLite_Query ( $bdd, "SELECT * FROM romdb", $hQuery )

;affichage dans une msgbox
While (_SQLite_FetchData ($hQuery, $aRow) = $SQLITE_OK)
    msgbox(0, $aRow[0], $aRow[1] & "-" & $aRow[2] & "-" & $aRow[3] & "-" & $aRow[4] )
 WEnd

_SQLite_Close ()
_SQLite_Shutdown ()





______________________________________________________
Faites paraitre votre batch sur BatchClipboard
Visiter le site web du posteur
Répondre en citant
Message [Projet] FrontEnd Rom 
Bonjour à tous

Je suis passé sur SQLite. L'avantage est de ne pas avoir de logiciel supplémentaire pour travailler sur base de donnée

La fonction Enregistrer fonctionne Very Happy
Code:

#include <GUIConstantsEx.au3>
#include <GuiListView.au3>
#include <WindowsConstants.au3>
#include <SQLite.au3>
#include <SQLite.dll.au3>
#include <GUIConstantsEx.au3>

Local $hQuery, $aRow, $sMsg


_SQLite_Startup ()
If @error > 0 Then Exit MsgBox(16, "SQLite Error", "SQLite.dll Can't be Loaded!")
$bdd=_SQLite_Open ("maBdd")
If @error > 0 Then Exit MsgBox(16, "SQLite Error", "Can't Load Database!")

#cs
 _SQLite_Exec (-1, "CREATE TABLE  IF NOT EXISTS romdb (id INTEGER PRIMARY KEY, Titre, Console,  Langue,Type);")

 _SQLite_Exec (-1, "INSERT INTO romdb VALUES ('1', 'MarioBros', 'NES','FR', 'Plateforme');")
 _SQLite_Exec (-1, "INSERT INTO romdb VALUES ('2', 'Super Mario Bros', 'SNES','FR', 'Plateforme');")
 _SQLite_Exec (-1, "INSERT INTO romdb VALUES ('3', 'Crash Bandicot', 'PSX','FR', 'Plateforme');")

#ce

Opt("GUIOnEventMode", 1)

Global $Gui_Contacts = GUICreate("FrontEnd", 675, 536, 179, 59)
GUISetOnEvent($GUI_EVENT_CLOSE, "Sortie")
$Titre = GUICtrlCreateInput("", 56, 24, 409, 21)
;$Console = GUICtrlCreateInput("", 56, 56, 409, 21)
;$Langue = GUICtrlCreateInput("", 56, 96, 409, 21)
;$Type = GUICtrlCreateInput("", 56, 136, 409, 21)
$Type = GUICtrlCreateCombo("", 56, 136, 409, 21)
GUICtrlSetData(-1, "Action|Aventure|RPG|Plate-Forme", "")
Global $Label1 = GUICtrlCreateLabel("Titre", 8, 32, 26, 17)
;Global $Label2 = GUICtrlCreateLabel("Console", 8, 64, 40, 17)
;Global $Label3 = GUICtrlCreateLabel("Langue", 16, 96, 23, 17)
Global $ListConsole = GUICtrlCreateCombo("", 56, 168, 169, 25)
GUICtrlSetData(-1, "Nes|Snes|N64|PSX", "")
Global $ListLang = GUICtrlCreateCombo("", 56, 200, 169, 25)
GUICtrlSetData(-1, "fr|eu|us|jap", "")
Global $Label4 = GUICtrlCreateLabel("Type :", 8, 136, 41, 17)
;Global $Edit1 = GUICtrlCreateListView("", 8, 176, 601, 257)
$lview = GUICtrlCreateListView("", 20, 278, 601, 250);,$LVS_NOCOLUMNHEADER)
$ColId = _GUICtrlListView_AddColumn($lview, "Id", 30)
$ColTitre =_GUICtrlListView_AddColumn($lview, "Titre", 95)
$ColConsole =_GUICtrlListView_AddColumn($lview, "Console", 95)
$ColLang =_GUICtrlListView_AddColumn($lview, "Langue", 120)
$ColType =_GUICtrlListView_AddColumn($lview, "Type", 100)
Global $SAVE = GUICtrlCreateButton("Enregistrer", 488, 120, 121, 41, $WS_GROUP)
GUICtrlSetOnEvent($SAVE, "SAVE")
Global $Play = GUICtrlCreateButton("Jouer", 488, 48, 123, 41, $WS_GROUP)
GUICtrlSetOnEvent($Play, "Play")
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
DisplayTable()

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


Func DisplayTable()
   Dim $NameList[5]
   _SQLite_Query ( $bdd, "SELECT * FROM romdb", $hQuery )
   While (_SQLite_FetchData ($hQuery, $aRow) = $SQLITE_OK)
   ; STOCKAGE DES RéSULTATS DANS UN TABLEAU
         $NameList[0] = $aRow[0] ; id
         $NameList[1] = $aRow[1] ; Titre
         $NameList[2] = $aRow[2]; Console
         $NameList[3] = $aRow[3];Langue
         $NameList[4] = $aRow[4]; Type lire les différents entrées dans la base

         ;affiche les résultats dans la listview.
         $Index = _GUICtrlListView_AddItem($lview, $NameList[0]) ; id
         _GUICtrlListView_AddSubItem($lview, $Index, $NameList[1], 1) ;Titre
         _GUICtrlListView_AddSubItem($lview, $Index, $NameList[2], 2) ;Console
         _GUICtrlListView_AddSubItem($lview, $Index, $NameList[3], 3) ;Langue
         _GUICtrlListView_AddSubItem($lview, $Index, $NameList[4], 4) ;Type
    WEnd
    _SQLite_Close ()
_SQLite_Shutdown ()
    EndFunc
#cs
_SQLite_Query ( $bdd, "SELECT * FROM romdb", $hQuery )

While (_SQLite_FetchData ($hQuery, $aRow) = $SQLITE_OK)
   GUICtrlRead($aRow[0])
  ;  msgbox(0, $aRow[0], $aRow[1] & "-" & $aRow[2] & "-" & $aRow[3] & "-" & $aRow[4] )
 WEnd


_SQLite_Close ()
_SQLite_Shutdown ()
#ce
Func Play()
EndFunc

Func SAVE()
   _SQLite_Startup ()
   $bdd=_SQLite_Open ("maBdd")
   ;msgbox(0,"",GUICtrlRead($Titre)  & GUICtrlRead($ListConsole))
   _SQLite_Exec (-1, "INSERT INTO romdb(Titre,Console,Langue,Type) VALUES ('" & GUICtrlRead($Titre)& "', '" & GUICtrlRead($ListConsole) & "','" & GUICtrlRead($ListLang)& "' ,'" & GUICtrlRead($Type)& "');")
_GUICtrlListView_DeleteAllItems(GUICtrlGetHandle($lview)) 
  DisplayTable()
   _SQLite_Close ()
_SQLite_Shutdown ()

EndFunc

Func Sortie()
   If @GUI_WinHandle = $Gui_Contacts Then
      Exit
   Else
      GUIDelete(@GUI_WinHandle)
   EndIf
EndFunc   ;==>Sortie





______________________________________________________
Faites paraitre votre batch sur BatchClipboard
Visiter le site web du posteur
Message [Projet] FrontEnd Rom 


Montrer les messages depuis:
Répondre au sujet Page 1 sur 1
  



Index | créer un forum | Forum gratuit d’entraide | Annuaire des forums gratuits | Signaler une violation | Conditions générales d'utilisation
Copyright 2008 - 2016 // Batch