Page 1 sur 1
[R] GUI généré par un INI
Posté : lun. 16 févr. 2015 23:17
par Sepular
Bonsoir.
Projet : Création d'une aide pour le repop de mob
=> GUI principal avec 4 boutons
Premier bouton => GUI d'enregistrement du nom du Boss et le temps de repop dans un INI (Aucun problème)
► Afficher le texte
Code : Tout sélectionner
#Region ### START Koda GUI section ### Form=
$Enregistremet_de_boss = GUICreate("Enregistrer un Boss", 290, 42, 215, 328)
$Nom = GUICtrlCreateInput("Nom", 8, 8, 121, 21)
$Temps_de_repop = GUICtrlCreateInput("Temps de repop", 136, 8, 89, 21)
$OK = GUICtrlCreateButton("OK", 232, 8, 51, 25)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $OK
Sauvegarde()
EndSwitch
WEnd
Func Sauvegarde()
$Nom=GUICtrlRead($Nom)
$Temps_de_repop=GUICtrlRead($Temps_de_repop)
IniWrite("Repop.ini", $Nom, "Time", $Temps_de_repop)
Exit
EndFunc
Le second => seconde GUI qui liste les enregistrements de l'INI avec un bouton supprimer
► Afficher le texte
ICI je parviens a redimensionner facilement la GUI en hauteur pour qu'elle sois adapté au nombre de boss enregistrer
PAR CONTRE je ne parviens pas et je m’interroge sur la façon de nommé dynamiquement les boutons de suppression pour enchaîner avec le traitement de la fonction de suppression car du coup je ne sais pas quoi mettre en Case pour les différents bouton.
Code : Tout sélectionner
$ini = "Repop.ini"
$lecture = IniReadSectionNames($ini)
$hauteur = $lecture[0]*25+1
#Region ### START Koda GUI section ### Form=
$Form2 = GUICreate("Supprimer un Boss", 278, $hauteur, 299, 500)
For $count = 1 To $lecture[0]
$Boss = GUICtrlCreateLabel($lecture[$count], 64, 8+25*($count-1), 33, 17)
$Supprimer = GUICtrlCreateButton("Suppirmer", 0, 25*($count-1), 59, 25)
Next
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd
Le troisième => troisième GUI presque identique a la seconde met avec un bouton kill qui récupère au moment du clique la date et l'heure. Traitement associé avec une fonction qui calcul le temps de repop a H-1 et H+1 et l'enregistre dans l'INI
► Afficher le texte
Lorsque la réponse sera trouvé pour la seconde GUI elle sera adaptable pour celle si
Le quatrième => Quatrième GUI ou l'on peut visionner a qu'elle heure il faut être sur place pour ne pas manquer le boss (Aucun problème)
J’espère m'avoir fait comprendre, au plaisir.
Re: [..] GUI généré par un INI
Posté : mar. 17 févr. 2015 00:21
par orax
C'est une solution parmi d'autres. (Pour les boutons de suppression.)
► Afficher le texte
Code : Tout sélectionner
#include <GUIConstantsEx.au3>
$ini = "Repop.ini"
;~ $lecture = IniReadSectionNames($ini)
Dim $lecture[] = [5, 1, 2, 3, 4, 5] ; pour l'essai
$hauteur = $lecture[0] * 25 + 1
#Region ### START Koda GUI section ### Form=
$Form2 = GUICreate("Supprimer un Boss", 278, $hauteur, 299, 500)
Dim $Supprimer[$lecture[0] + 1] ; création du tableau qui va contenir tous les boutons Supprimer
$Supprimer[0] = $lecture[0]
For $count = 1 To $lecture[0]
$Supprimer[$lecture[$count]] = GUICtrlCreateButton("Suppirmer", 0, 25 * ($count - 1), 59, 25)
Next
For $count = 1 To $lecture[0]
$Boss = GUICtrlCreateLabel($lecture[$count], 64, 8 + 25 * ($count - 1), 33, 17)
Next
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
; Switch du 1er contrôle Supprimer au dernier
Case $Supprimer[1] To $Supprimer[$Supprimer[0]]
ConsoleWrite("Bouton " & $nMsg - $Supprimer[1] +1 & @CRLF)
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd
Re: [..] GUI généré par un INI
Posté : mar. 17 févr. 2015 12:21
par Sepular
Bonjour et merci.
Bon cela fonctionne avec un petite modification
► Afficher le texte
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
$ini = "Repop.ini"
;~ Création du tableau avec le nom des Boss
;~ $lecture = IniReadSectionNames($ini)
Dim $lecture[] = [5, 'tyty', 'tyty', 'tyty', 'tyty', 'tyty']
;~ Détermination de la hauteur de la GUI
$hauteur = $lecture[0] * 25 + 1
#Region ### START Koda GUI section ### Form=
$Form2 = GUICreate("Supprimer un Boss", 278, $hauteur, 299, 500)
;~ Déclaration du tableau qui contient tous les boutons supprimer
Dim $Supprimer[$lecture[0] + 1]
$Supprimer[0] = $lecture[0]
For $count = 1 To $lecture[0]
;~ $Supprimer[$lecture[$count]] = GUICtrlCreateButton("Suppirmer", 0, 25 * ($count - 1), 59, 25)
$Supprimer[$count] = GUICtrlCreateButton("Suppirmer", 0, 25 * ($count - 1), 59, 25)
Next
For $count = 1 To $lecture[0]
$Boss = GUICtrlCreateLabel($lecture[$count], 64, 8 + 25 * ($count - 1), 33, 17)
Next
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
; Switch du 1er contrôle Supprimer au dernier
Case $Supprimer[1] To $Supprimer[$Supprimer[0]]
; supprimer($nMsg - $Supprimer[1] +1)
supprimer($nMsg - $Supprimer[0])
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd
Func supprimer($i)
ConsoleWrite("Bouton " & $i & @CRLF)
EndFunc