Code : Tout sélectionner
;----------------------------------
; GESTOK
; Gestion de stock maintenance SNP
; FUNDARO WILLIAM
; AOUT 2005
;----------------------------------
;
;========== déclaration des constantes
Enumeration ;énumération des fenetres
#Window_0
#window_recherche
#window_alarme
#window_sauvegarde
#window_recherche_nom
#window_recherche_ref
EndEnumeration
Enumeration ;énumération des gadgets
#titre_log
#menu
#menu_ajout
#menu_supp
#menu_nom
#menu_ref
#menu_about
#liste_produit
#titre
#bouton_quitter
#alarme
#text_sauvegarde
#bar_sauvegarde
#saisie_recherche_nom
#lancer_recherche
#annul_recherche
#saisie_recherche_ref
#lancer_recherche_ref
#annul_recherche_ref
EndEnumeration
;******* déclaration des variables
Structure champs
nom.s
ref.s
emploi.s
emplacement.s
stock.l
alarme.l
EndStructure
NewList produit.champs()
;utilisation de listicongadget
;voici des options ppur le classement de la listeicon
;LVS_SORTASCENDING
;Item indexes are sorted based on item text in ascending order.
;LVS_SORTDESCENDING
;Item indexes are sorted based on item text in descending order.
;******* déclaration des procedures
;---------------*********** création des fenetres *****************-------------------------
Procedure remplir()
AddGadgetColumn(#liste_produit,1,"Référence",175)
AddGadgetColumn(#liste_produit,2,"Emploie",181)
AddGadgetColumn(#liste_produit,3,"Emplacement",100)
AddGadgetColumn(#liste_produit,4,"Stock",50)
AddGadgetColumn(#liste_produit,5,"Alarme",50)
AddGadgetItem(#liste_produit,-1,"Harry Rannit"+Chr(10)+"trois"+Chr(10)+"e4"+Chr(10)+Str(5))
AddGadgetItem(#liste_produit,-1,"Ginger Brokeit")
AddGadgetItem(#liste_produit,-1,"albert")
For i=1 To 80
AddGadgetItem(#liste_produit,-1,"point"+Str(i))
Next
AddGadgetItem(#liste_produit,-1,"zebre")
EndProcedure
Procedure fenetre_principale()
If OpenWindow(#Window_0, 216, 0, 800, 600, #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget | #PB_Window_SizeGadget | #PB_Window_TitleBar | #PB_Window_ScreenCentered , "Gestion de stock --- Maintenance SNP")
If CreateMenu(#menu, WindowID(#Window_0))
MenuTitle("Produits")
MenuItem( #menu_ajout, "Ajouter une référence")
MenuItem( #menu_supp, "Supprimer une référence")
MenuTitle("Recherche")
MenuItem( #menu_nom, "Par nom")
MenuItem( #menu_ref, "Par référence")
MenuTitle("?")
MenuItem(#menu_about, "About")
EndIf
If CreateGadgetList(WindowID(#Window_0))
TextGadget(#titre_log,300,10,200,40,"GESTOK",#PB_Text_Center)
If LoadFont(0,"Arial",25,#PB_Font_Bold)
SetGadgetFont(#titre_log,FontID())
EndIf
ListIconGadget(#liste_produit, 20, 70, 760, 455, "Nom", 200, #PB_ListIcon_FullRowSelect | #PB_ListIcon_AlwaysShowSelection | #PB_ListIcon_GridLines | #LVS_SORTASCENDING)
remplir()
ButtonGadget(#alarme,50,540,100,30,"Alarme")
ButtonGadget(#bouton_quitter,650,540,100,30,"QUITTER")
EndIf
EndIf
EndProcedure
Procedure fenetre_recherche_nom()
If OpenWindow(#window_recherche_nom,0,0,250,80, #PB_Window_ScreenCentered, "Recherche par nom")
If CreateGadgetList(WindowID(#window_recherche_nom))
StringGadget(#saisie_recherche_nom,25, 20,200,20,"")
ButtonGadget(#lancer_recherche,35,50,80,20,"Recherche")
ButtonGadget(#annul_recherche,135,50,80,20,"Annuler")
EndIf
EndIf
HideWindow(#window_recherche_nom,1)
EndProcedure
Procedure fenetre_recherche_ref()
If OpenWindow(#window_recherche_ref,0,0,250,80, #PB_Window_ScreenCentered, "Recherche par référence")
If CreateGadgetList(WindowID(#window_recherche_ref))
StringGadget(#saisie_recherche_ref,25, 20,200,20,"")
ButtonGadget(#lancer_recherche_ref,35,50,80,20,"Recherche")
ButtonGadget(#annul_recherche_ref,135,50,80,20,"Annuler")
EndIf
EndIf
HideWindow(#window_recherche_ref,1)
EndProcedure
;-------------------------*************** fin création fenetre *****************------------------------
Procedure recherche_par_nom()
HideWindow(#window_recherche_nom,0)
SetWindowPos_(WindowID(#window_recherche_nom), -1, 0, 0, 0, 0, #SWP_NOSIZE | #SWP_NOMOVE)
UseWindow(#window_recherche_nom)
fin_boucle = 0
objet_trouve.b = 0
Repeat
event_nom = WaitWindowEvent()
ActivateWindow()
If event_nom = #PB_EventGadget
Select EventGadgetID()
Case #annul_recherche
HideWindow(#window_recherche_nom,1)
fin_boucle = 1
Case #lancer_recherche
;ici code de recherche de nom
nom_recherche.s = GetGadgetText(#saisie_recherche_nom)
If nom_recherche<>""
For i=0 To CountGadgetItems(#liste_produit)
nom_liste.s = GetGadgetItemText(#liste_produit, i, 0)
If nom_recherche = nom_liste
ClearGadgetItemList(#liste_produit)
remplir()
SendMessage_(GadgetID(#liste_produit), #LVM_SCROLL, 0, i*14-1)
SetGadgetItemState(#liste_produit, i, #PB_ListIcon_Selected)
SetGadgetState(#liste_produit,i)
i=CountGadgetItems(#liste_produit)
objet_trouve = 1
fin_boucle=1
EndIf
Next
If objet_trouve = 0
MessageRequester("Résultat de la recherche","Aucun produit trouvé",#PB_MessageRequester_Ok)
SetGadgetText(#saisie_recherche_nom, "")
EndIf
Else
MessageRequester("Erreur d'entrée","Veuillez entrer un nom pour lancer la recherche",#PB_MessageRequester_Ok)
EndIf
EndSelect
EndIf
Until fin_boucle=1
HideWindow(#window_recherche_nom,1)
UseWindow(#window_0)
ActivateWindow()
ActivateGadget(#liste_produit)
EndProcedure
Procedure recherche_par_ref()
HideWindow(#window_recherche_ref,0)
SetWindowPos_(WindowID(#window_recherche_ref), -1, 0, 0, 0, 0, #SWP_NOSIZE | #SWP_NOMOVE)
UseWindow(#window_recherche_ref)
fin_boucle = 0
objet_trouve.b = 0
Repeat
event_nom = WaitWindowEvent()
ActivateWindow()
If event_nom = #PB_EventGadget
Select EventGadgetID()
Case #annul_recherche_ref
HideWindow(#window_recherche_ref,1)
fin_boucle = 1
Case #lancer_recherche_ref
nom_recherche.s = GetGadgetText(#saisie_recherche_ref)
If nom_recherche<>""
For i=0 To CountGadgetItems(#liste_produit)
nom_liste.s = GetGadgetItemText(#liste_produit, i, 1)
If nom_recherche = nom_liste
SetGadgetItemState(#liste_produit, i, #PB_ListIcon_Selected)
ClearGadgetItemList(#liste_produit)
remplir()
SendMessage_(GadgetID(#liste_produit), #LVM_SCROLL, 0, i*14)
SetGadgetItemState(#liste_produit, i, #PB_ListIcon_Selected)
SetGadgetState(#liste_produit,i)
i=CountGadgetItems(#liste_produit)
objet_trouve = 1
fin_boucle=1
EndIf
Next
If objet_trouve = 0
MessageRequester("Résultat de la recherche","Aucun produit trouvé",#PB_MessageRequester_Ok)
SetGadgetText(#saisie_recherche_ref, "")
EndIf
Else
MessageRequester("Erreur d'entrée","Veuillez entrer une référence pour lancer la recherche",#PB_MessageRequester_Ok)
EndIf
EndSelect
EndIf
Until fin_boucle=1
HideWindow(#window_recherche_ref,1)
UseWindow(#window_0)
ActivateWindow()
ActivateGadget(#liste_produit)
EndProcedure
Procedure sauvegarde()
If OpenWindow(#window_sauvegarde,0,0,200,80, #PB_Window_ScreenCentered,"Fermeture")
If CreateGadgetList(WindowID(#window_sauvegarde))
TextGadget(#text_sauvegarde,0,10,200,20,"Sauvegarde en cours patientez...",#PB_Text_Center)
ProgressBarGadget(#bar_sauvegarde, 15, 40,170, 20, 0,100)
For i=1 To 100000
SetGadgetState (#bar_sauvegarde, i/1000)
Next
EndIf
EndIf
EndProcedure
;*************************************************
;*********** PROGRAMME
fenetre_principale()
fenetre_recherche_nom()
fenetre_recherche_ref()
Repeat
Event = WaitWindowEvent()
If event = #PB_EventMenu
Select EventMenuID()
Case #menu_nom
recherche_par_nom()
Case #menu_ref
recherche_par_ref()
Case #menu_about
MessageRequester("About GESTOK","Copyright - 2005 - Fundaro william au titre de la SNP.")
EndSelect
EndIf
If Event = #PB_EventGadget
Select EventGadgetID()
Case #bouton_quitter
event = #PB_Event_CloseWindow
EndSelect
EndIf
Until event = #PB_Event_CloseWindow
sauvegarde()
bon voilà mon code pour le moment ne soyez pas trop méchant avec moi.