Publié : mar. 07/sept./2004 15:18
explique moi svp ce qu'il manque
Forums PureBasic - Français
http://forums.purebasic.com/french/
Code : Tout sélectionner
Enumeration
#gad_list
#Text_0
#String_0
#Text_1
#String_1
#Text_3
#String_3
#Button_0
#Button_1
EndEnumeration
If OpenWindow(0,0,0,500,600,#PB_Window_systemMenu|#pb_window_minimizegadget|#pb_window_screencentered,"Gestion De password")
If CreateMenu(0,WindowID())
MenuTitle("File")
MenuItem(1,"Nouveau")
MenuItem(2,"Open")
MenuItem(3,"Save")
MenuItem(4,"Load ")
MenuItem(5,"Quit")
CreateGadgetList(WindowID(0))
ListIconGadget(#gad_list,2,2,490,590 ,"Site ",200)
AddGadgetColumn(#gad_list,1,"Password",120)
AddGadgetColumn(#gad_list,1,"Login",180)
EndIf
Repeat
EventID.l = WaitWindowEvent()
Select EventID
Case #PB_EventMenu
Select EventMenuID()
Case 1
If OpenWindow(1, 336, 120, 385, 330, #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_SizeGadget | #PB_Window_TitleBar , "Boite de saisie")
If CreateGadgetList(WindowID())
TextGadget(#Text_0, 10, 30, 140, 20, "Nom du site ", #PB_Text_Center)
StringGadget(#String_0, 50, 60, 280, 30, "")
TextGadget(#Text_1, 0, 110, 140, 20, "Login", #PB_Text_Center)
StringGadget(#String_1, 50, 140, 280, 30, "")
TextGadget(#Text_3, 0, 180, 140, 20, "password", #PB_Text_Center)
StringGadget(#String_3, 50, 210, 280, 30, "")
ButtonGadget(#Button_0, 60, 270, 80, 30, "OK")
ButtonGadget(#Button_1, 240, 270, 80, 30, "cancel")
EndIf
EndIf
EndSelect
Case #WM_CLOSE
Quit=1
EndSelect
Until Quit =1
EndIf
Code : Tout sélectionner
; Chaque item sera stocké dans une liste
Structure Item_Struct
site.s
login.s
password.s
EndStructure
NewList Items.Item_Struct()
; Procédures de gestion des items
Procedure.b Item_Add(site.s,login.s,password.s)
; Ajoute un item dans la liste
If AddElement(Items())
Items()\site = site
Items()\login = login
Items()\password = password
ProcedureReturn #True
EndIf
EndProcedure
Procedure.b Item_Debug()
; Affiche dans le debugger la liste des items
ForEach Items()
Debug Items()\site + ", " + Items()\login + ", " + Items()\password
Next
EndProcedure
Procedure.b Item_Load(fichier.s)
; Charge un fichier et le stocke dans la liste des items
If OpenPreferences(fichier)
Repeat
i+1
If PreferenceGroup("Item."+Str(i))
site.s = ReadPreferenceString("Site","")
login.s = ReadPreferenceString("Login","")
password.s = ReadPreferenceString("Password","")
Item_Add(site,login,password)
Else
Break
EndIf
ForEver
ProcedureReturn #True
EndIf
EndProcedure
Procedure.b Item_Save(fichier.s)
; Enregistre tous les items dans un fichier
If CreatePreferences(fichier)
ForEach Items()
i+1 : PreferenceGroup("Item."+Str(i))
WritePreferenceString("Site",Items()\site)
WritePreferenceString("Login",Items()\login)
WritePreferenceString("Password",Items()\password)
Next
ClosePreferences()
ProcedureReturn #True
EndIf
EndProcedure
; Création de quelques items
Item_Add("www.riri.com","riri","123")
Item_Add("www.fifi.com","fifi","456")
Item_Add("www.loulou.com","loulou","789")
; Sauvegarde puis relecture du fichier
Item_Save("fichier.ini")
ClearList(Items())
Item_Load("fichier.ini")
Item_Debug()
End
Code : Tout sélectionner
;
; Numéros des FENETRES
;
Enumeration
#Window_Main
#Window_New
EndEnumeration
;
; Numéros des GADGETS
;
Enumeration
#gad_list
#Text_0
#String_0
#Text_1
#String_1
#Gad_Site0
#Gad_Site
#Gad_Login0
#Gad_Login
#Gad_Password0
#Gad_Password
#Gad_OK
#Gad_Cancel
EndEnumeration
;
; Numéros des MENUS
;
Enumeration
#Menu_New
#Menu_Open
#Menu_Save
#Menu_SaveAs
#Menu_Quit
EndEnumeration
Procedure New()
;
; Création d'un élément
;
If OpenWindow(#Window_New, 336, 120, 385, 330, #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_SizeGadget | #PB_Window_TitleBar , "Boite de saisie")
HideWindow(#Window_Main,1)
; Création de l'interface
If CreateGadgetList(WindowID(#Window_New))
TextGadget(#Gad_Site0, 10, 30, 140, 20, "Nom du site ", #PB_Text_Center)
StringGadget(#Gad_Site, 50, 60, 280, 30, "")
TextGadget(#Gad_Login0, 0, 110, 140, 20, "Login", #PB_Text_Center)
StringGadget(#Gad_Login, 50, 140, 280, 30, "")
TextGadget(#Gad_Password0, 0, 180, 140, 20, "Password", #PB_Text_Center)
StringGadget(#Gad_Password, 50, 210, 280, 30, "")
ButtonGadget(#Gad_OK, 60, 270, 80, 30, "OK")
ButtonGadget(#Gad_Cancel, 240, 270, 80, 30, "Annuler")
EndIf
; Gestion de la boucle
Repeat
Select WaitWindowEvent()
Case #WM_CLOSE : Break
Case #PB_Event_Gadget
Select EventGadgetID()
Case #Gad_Site
Case #Gad_Login
Case #Gad_Password
Case #Gad_Cancel : Break
Case #Gad_OK
Debug GetGadgetText(#Gad_Site)
Debug GetGadgetText(#Gad_Login)
Debug GetGadgetText(#Gad_Password)
Break
EndSelect
EndSelect
ForEver
; Fermeture
CloseWindow(#Window_New)
HideWindow(#Window_Main,0)
BringWindowToTop_(WindowID(#Window_Main))
EndIf
EndProcedure
If OpenWindow(#Window_Main,0,0,500,600,#PB_Window_SystemMenu|#PB_Window_MinimizeGadget|#PB_Window_ScreenCentered,"Gestion De password")
If CreateMenu(0,WindowID(#Window_Main))
MenuTitle("Fichier")
MenuItem(#Menu_New,"Nouveau")
MenuItem(#Menu_Open,"Ouvrir...")
MenuBar()
MenuItem(#Menu_Save,"Enregistrer")
MenuItem(#Menu_SaveAs,"Enregistrer sous...")
MenuBar()
MenuItem(#Menu_Quit,"Quitter")
EndIf
If CreateGadgetList(WindowID(#Window_Main))
ListIconGadget(#gad_list,2,2,490,575 ,"Site ",200)
AddGadgetColumn(#gad_list,1,"Password",120)
AddGadgetColumn(#gad_list,1,"Login",180)
EndIf
Repeat
Select WaitWindowEvent()
Case #WM_CLOSE : Break
Case #PB_EventMenu
Select EventMenuID()
Case #Menu_New : New()
Case #Menu_Open
Case #Menu_Save
Case #Menu_SaveAs
Case #Menu_Quit : Break
EndSelect
EndSelect
ForEver
EndIf
Code : Tout sélectionner
;-
;- GESTION DES LOGINS
;- Pour jbernard13, le 07-09-04
;-
#TITLE = "Gestion De password"
;-
;- ITEMS - Définition d'un item
;-
Structure Item_Struct
site.s ; Nom du site
login.s ; Identifiant
password.s ; Mot de passe
EndStructure
;-
;- ITEMS - Liste destinée à contenir tous les items
;-
NewList Items.Item_Struct()
;-
;- ITEMS - Procédures de gestion des items
;-
Procedure.b Item_Clear()
;-
;- Remise à zero de la liste des items
;-
ClearList(Items())
EndProcedure
Procedure.b Item_Add(site.s,login.s,password.s)
;-
;- Ajoute un item dans la liste
;-
If AddElement(Items())
Items()\site = site
Items()\login = login
Items()\password = password
ProcedureReturn #True
EndIf
EndProcedure
Procedure.l Item_Load(fichier.s)
;-
;- Charge un fichier et le stocke dans la liste des items
;- Retourne le nombre d'items chargés
;-
If OpenPreferences(fichier)
Repeat
i+1
If PreferenceGroup("Item."+Str(i))
site.s = ReadPreferenceString("Site","")
login.s = ReadPreferenceString("Login","")
password.s = ReadPreferenceString("Password","")
Item_Add(site,login,password)
Else
Break
EndIf
ForEver
ClosePreferences()
ProcedureReturn i
EndIf
EndProcedure
Procedure.l Item_Save(fichier.s)
;-
;- Enregistre tous les items dans un fichier
;- Retourne le nombre d'items enregistrés
;-
If CreatePreferences(fichier)
ForEach Items()
i+1
PreferenceGroup("Item."+Str(i))
WritePreferenceString("Site",Items()\site)
WritePreferenceString("Login",Items()\login)
WritePreferenceString("Password",Items()\password)
Next
ClosePreferences()
ProcedureReturn i
EndIf
EndProcedure
;-
;- CONSTANTES
;-
Enumeration ; Numéros des FENETRES
#Window_Main
#Window_New
EndEnumeration
Enumeration ; Numéros des GADGETS
#Gad_Item
#Gad_Site0
#Gad_Site
#Gad_Login0
#Gad_Login
#Gad_Password0
#Gad_Password
#Gad_OK
#Gad_Cancel
EndEnumeration
Enumeration ; Numéros des MENUS
#Menu_New
#Menu_Empty
#Menu_Open
#Menu_Append
#Menu_Save
#Menu_SaveAs
#Menu_Quit
#Menu_About
EndEnumeration
;-
;- PROCEDURES
;-
Procedure About()
; Affiche la fenêtre d'information
MessageRequester("A Propos",#TITLE,#MB_IconInformation)
EndProcedure
Procedure Empty()
;-
;- Vide la liste des items
;-
Item_Clear()
ClearGadgetItemList(#Gad_Item)
EndProcedure
Procedure New()
;-
;- Création d'un élément
;-
If OpenWindow(#Window_New, 336, 120, 385, 330, #PB_Window_SystemMenu|#PB_Window_MinimizeGadget | #PB_Window_SizeGadget | #PB_Window_TitleBar , "Boite de saisie")=#Null
ProcedureReturn
EndIf
HideWindow(#Window_Main,#True)
If CreateGadgetList(WindowID(#Window_New))
TextGadget(#Gad_Site0, 10, 30, 140, 20, "Nom du site ", #PB_Text_Center)
StringGadget(#Gad_Site, 50, 60, 280, 30, "")
TextGadget(#Gad_Login0, 0, 110, 140, 20, "Login", #PB_Text_Center)
StringGadget(#Gad_Login, 50, 140, 280, 30, "")
TextGadget(#Gad_Password0, 0, 180, 140, 20, "Password", #PB_Text_Center)
StringGadget(#Gad_Password, 50, 210, 280, 30, "")
ButtonGadget(#Gad_OK, 60, 270, 80, 30, "OK")
ButtonGadget(#Gad_Cancel, 240, 270, 80, 30, "Annuler")
ActivateGadget(#Gad_Site)
EndIf
; Gestion de la boucle
Repeat
Select WaitWindowEvent()
Case #WM_CLOSE : Break
Case #PB_Event_Gadget
Select EventGadgetID()
Case #Gad_Cancel : Break
Case #Gad_OK
a.s = GetGadgetText(#Gad_Site)
b.s = GetGadgetText(#Gad_Login)
c.s = GetGadgetText(#Gad_Password)
If a<>"" And b<>"" And c<>""
Item_Add(a,b,c)
AddGadgetItem(#Gad_Item,-1,a+Chr(10)+b+Chr(10)+c)
Break
Else
MessageRequester("Erreur","Les champs doivent être renseignés",#MB_IconError)
EndIf
EndSelect
EndSelect
ForEver
; Fermeture de la boite de dialogue
CloseWindow(#Window_New)
HideWindow(#Window_Main,#False)
BringWindowToTop_(WindowID(#Window_Main))
EndProcedure
Procedure Open(append.b)
;-
;- Ouvre un fichier
;-
fichier.s = OpenFileRequester("Ouvrir","fichier.ini","Logins | *.ini",0)
If fichier <> ""
If append
ClearGadgetItemList(#Gad_Item)
Else
Item_Clear()
EndIf
Item_Load(fichier)
ForEach Items()
line.s = Items()\site+Chr(10)+Items()\login+Chr(10)+Items()\password
AddGadgetItem(#Gad_Item,-1,line)
Next
EndIf
EndProcedure
Procedure Save()
;-
;- Enregistre le fichier
;-
Item_Save("fichier.ini")
EndProcedure
Procedure SaveAs()
;-
;- Enregistre sous...
;-
fichier.s = SaveFileRequester("Enregistrer sous","fichier.ini","Logins | *.ini",0)
If fichier <> ""
Item_Save(fichier)
EndIf
EndProcedure
Procedure Main()
If OpenWindow(#Window_Main,0,0,500,600,#PB_Window_SystemMenu|#PB_Window_MinimizeGadget|#PB_Window_ScreenCentered,#TITLE)=#Null
ProcedureReturn
EndIf
If CreateMenu(0,WindowID(#Window_Main))
MenuTitle("Fichier")
MenuItem(#Menu_New,"Nouveau")
MenuItem(#Menu_Empty,"Vider la liste")
MenuBar()
MenuItem(#Menu_Open,"Ouvrir...")
MenuItem(#Menu_Append,"Insérer...")
MenuBar()
MenuItem(#Menu_Save,"Enregistrer")
MenuItem(#Menu_SaveAs,"Enregistrer sous...")
MenuBar()
MenuItem(#Menu_Quit,"Quitter")
MenuTitle("?")
MenuItem(#Menu_About,"A Propos")
EndIf
If CreateGadgetList(WindowID(#Window_Main))
ListIconGadget(#Gad_Item,2,2,490,575 ,"Site ",200)
AddGadgetColumn(#Gad_Item,1,"Password",120)
AddGadgetColumn(#Gad_Item,2,"Login",180)
EndIf
Repeat
Select WaitWindowEvent()
Case #WM_CLOSE : Break
Case #PB_EventMenu
Select EventMenuID()
Case #Menu_New : New()
Case #Menu_Empty : Empty()
Case #Menu_Open : Open(#False)
Case #Menu_Append : Open(#True)
Case #Menu_Save : Save()
Case #Menu_SaveAs : SaveAs()
Case #Menu_Quit : Break
Case #Menu_About : About()
EndSelect
EndSelect
ForEver
EndProcedure
;-
;- DEMARRAGE DU PROGRAMME
;-
Main()
peut expliquer plus clairement ?je voudrais savoir coment faire ensuite editer un items
c'est a dire il fois que 'jai saisie mes 2 elements
comment dire au programme de les editer .
en gros tu fais presque comme tu veux.je veux juste savoir c'est comme marche la structure d'un programme
Excellent. c'est très bien çà.Pour ma part, j'utilise les tutos et pour bien comprendre je fait des modif dans les exemples proposé dans les tutos (voir forum débutant).
Voila !!