Ma fenêtre, c'est un peu du n'importe quoi dans ce code. Déjà touts les boutons ne s'affichent pas, mais en plus la boîte à onglets est bizarre (je trouve). Si quelqu'un pouvait m'aider, ça serait sympa...
Code : Tout sélectionner
; BirdChatServerTools (Outils pour le serveur BirdChat)
; Par Gansta93 (25/04/2005)
; Compilé avec PureBasic 3.93
; Librairies utilisées : aucune
; Procedure de génération automatique d'une clée de 32 caractères
; Si j'ai bien compris la doc, c ce qu'il faut.
Procedure.s KeyGen()
key.s = ""
For cnt = 1 To 32
key.s + Chr(Random(255))
Next
ProcedureReturn key
EndProcedure
; Procedure d'appel à Client.exe
; Pour les lignes de commandes
Procedure CallBirdChat(Param.s)
MyName.s = Space(#Max_Path)
MyFolder.s = Space(#Max_Path)
GetModuleFileName_(0, @MyName, #Max_Path)
MyFolder = GetPathPart(MyName)
If Right(MyFolder, 1) <> "\"
MyFolder + "\"
EndIf
SetCurrentDirectory_( @MyFolder)
If FileSize("Client.exe") <= 0
While NomExe.s = ""
NomExe.s = OpenFileRequester("", "Client.exe", "Client.exe|Client.exe|*.exe|*.exe", 0)
Wend
Else
NomExe.s = "Client.exe"
EndIf
RunProgram(NomExe, Param, MyFolder, 1 | 2)
EndProcedure
; langue du programme celon le système
Select GetSystemDefaultLangID_() & $FFFF
Case 1036
Restore fr
Default
Restore en
EndSelect
; initialisation des mots
Dim lng.s(11)
For n = 0 To 11
Read lng(n)
Next
; Programme principal
; constantes (fenêtre et gadgets)
Enumeration
#Window
#Panel
#Admin_Frame
#Login_Text
#Login_Edit
#Password_Text
#Password_Edit
#Btn_Add
#Key_Frame
#Key_Text
#Key_Edit
#Btn_Gen
#Btn_OK
#Btn_Close
EndEnumeration
; Fenêtre
; Paramètres de la fenêtre
#Window_Flags = #PB_Window_ScreenCentered | #PB_Window_TitleBar | #PB_Window_SystemMenu
If OpenWindow(#Window, 0, 0, 400, 100, #Window_Flags, "BirdChat Server Tools") And CreateGadgetList(WindowID())
PanelGadget(#Panel, 0, 0, 400, 80)
AddGadgetItem(#Panel, -1, lng(0))
Frame3DGadget(#Admin_Frame, 0, 0, 400, 60, lng(2))
TextGadget(#Login_Text, 0, 20, 100, 20, lng(3))
StringGadget(#Login_Edit, 100, 20, 300, 20, "")
TextGadget(#Password_Text, 0, 40, 100, 20, lng(4))
StringGadget(#Password_Edit, 100, 40, 300, 20, "", #PB_String_Password)
ButtonGadget(#Btn_Add, 100, 60, 200, 20, lng(5))
AddGadgetItem(#Panel, -1, lng(1))
Frame3DGadget(#Key_Frame, 0, 0, 400, 60, lng(1))
TextGadget(#Key_Text, 0, 20, 150, 20, lng(6))
StringGadget(#Key_Edit, 150, 20, 250, 20, "")
ButtonGadget(#Btn_Gen, 100, 40, 200, 20, lng(7))
ButtonGadget(#Btn_OK, 100, 60, 200, 20, lng(8))
CloseGadgetList()
ButtonGadget(#Btn_Close, 150, 80, 100, 20, lng(9))
Repeat
Select WaitWindowEvent()
Case #PB_EventGadget
Select EventGadgetID()
Case #Btn_Add
If GetGadgetText(#Login_Edit) And GetGadgetText(#Password_Edit)
CallBirdChat("-pass:" + GetGadgetText(#Login_Edit) + ":" + GetGadgetText(#Password_Edit))
Else
MessageRequester(lng(10), lng(11), #MB_ok | #MB_IconStop)
EndIf
Case #BTN_Gen
SetGadgetText(#Key_Edit, KeyGen())
Case #Btn_OK
If GetGadgetText(#Key_Edit)
CallBirdChat("--skey" + GetGadgetText(#Key_Edit))
Else
MessageRequester(lng(10), lng(11), #MB_OK | #MB_IconStop)
EndIf
Case #Btn_Close
End
EndSelect
Case #PB_EventCloseWindow
End
EndSelect
Delay(20)
ForEver
EndIf
DataSection
fr :
Data.s "Administrateurs"
Data.s "Connection Sécurisée"
Data.s "Ajouter un administrateur"
Data.s "Login :"
Data.s "Mot de Passe :"
Data.s "Ajouter"
Data.s "Clée (32 caractères) :"
Data.s "Génération automatique"
Data.s "Valider"
Data.s "Fermer"
Data.s "Erreur"
Data.s "Veuillez remplire tous les champs."
en :
Data.s "Administrators"
Data.s "Secured Connection"
Data.s "Add an administrator"
Data.s "Login :"
Data.s "Password :"
Data.s "Add"
Data.s "Key (32 characters) :"
Data.s "Automatic generation"
Data.s "OK"
Data.s "Close"
Data.s "Error"
Data.s "Please don't forget informations."
End :
EndDataSection