Page 1 sur 4

comment cree une base de donnée en pureBasic

Publié : dim. 10/oct./2004 19:22
par williamm
Bonsoir
un des mes professeurs de mon college m'a demandais si je pouvais pas lui creer un petit logiciel de gestion de classe
il veux qu'une liste de nom des eleves apparaisse et quand on clique sur un nom , une fiche s'ouvre avec le nom, prenom, date de naissance et ville , ma question est comment cree une base de donnée

faut'il acces? si il une ame charitable qui peux me creer un exemple svp svp

merci d'avance

Willamm

Publié : dim. 10/oct./2004 19:28
par Aranoth
Utilise les listes chainées:

Code : Tout sélectionner

Structure eleve
 Nom.s
 Prenom.s
 Classe.s
  etc...etc...
Endstructure
Ensuite la liste:

Code : Tout sélectionner

NewList Eleves.eleve()
Quand tu veut ajouter un eleve:

Code : Tout sélectionner

AddElement(Eleves())
Eleves()\Nom="Dupont"
Eleves()\Prenom="Marcel"
Eleves()\Classe="2nd10"
etc...etc...
etc...

Bon c'est un peu rapide et pas très développé, mais c'est une piste

Publié : dim. 10/oct./2004 19:34
par williamm
merci mais comment faire pour quand on clique un nom pour faire apparaitre une fiche ? et comment sauvegarder ensuite??

Publié : dim. 10/oct./2004 19:55
par Aranoth
tu peut selectionner un element avec ca:

Code : Tout sélectionner

SelectElement(Eleves(),numero de l'element)
Et donc récuperer ses infos !

Et pour sauvegarder tu peut utiliser un TXT, avec WriteString() et ReadString()

Re: comment cree une base de donnée en pureBasic

Publié : dim. 10/oct./2004 20:01
par Chris
williamm a écrit :Bonsoir
un des mes professeurs de mon college m'a demandais si je pouvais pas lui creer un petit logiciel de gestion de classe
il veux qu'une liste de nom des eleves apparaisse et quand on clique sur un nom , une fiche s'ouvre avec le nom, prenom, date de naissance et ville , ma question est comment cree une base de donnée

faut'il acces? si il une ame charitable qui peux me creer un exemple svp svp

merci d'avance

Willamm
Poste au moins un bout de code, ne serait-ce que l'interface, si tu veux plus d'aide.

Tu as déjà eu des réponses sur le même type de projet, (gestion de films, il me semble), et toujours rien comme bout de code!

A croire que tu n'as encore rien essayé! Faut quand même pas pousser :(

On veut bien aider, mais le minimum, c'est que celui qui demande de l'aide bosse un peu, lui aussi.

Publié : lun. 11/oct./2004 8:58
par Lukky
Je dirais même que ça ressemble à un type de question qui devrait se trouver à un certain endroit.

JL

Publié : lun. 11/oct./2004 16:20
par williamm
bonjour
j'ai cree l'interface

Code : Tout sélectionner


Enumeration
  #Window_0
EndEnumeration

;- Gadget Constants
;
Enumeration
  #ListIcon_0
EndEnumeration
Enumeration
#menu_1
EndEnumeration
Enumeration 
  #MenuBar_0 
EndEnumeration



Procedure Open_Window_0()
  If OpenWindow(#Window_0, 216, 0, 639, 617,  #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_SizeGadget | #PB_Window_TitleBar | #PB_Window_WindowCentered , "Gestion ")
    If CreateGadgetList(WindowID())
      
         ListIconGadget(#ListIcon_0, 10, 10, 620, 600, "Eleve ", 617, #PB_ListIcon_CheckBoxes)
      If CreateMenu(#MenuBar_0, WindowID()) 
       
               MenuTitle("Info") 
        MenuItem(#MENU_1, "Quitter")
   
    EndIf
  EndIf
  EndIf
EndProcedure

Open_Window_0() 


Repeat 
  
  Event = WaitWindowEvent() 
  Select Event 
    Case #PB_EventMenu 
      MenuID = EventMenuID() 
      If MenuID = #MENU_1 
         Fermer_Window_0 = 1 

      EndIf 
      
    Case #PB_EventCloseWindow 
      Fenetre = EventWindowID() 
      If fenetre = #Window_0 
        Fermer_Window_0 = 1 
      EndIf 
      
    Case #PB_EventGadget 
     
      
      
      
      
  EndSelect 
  
Until Fermer_Window_0 = 1 

End 
maintenant commen creer une fiche afin que mon prof puisse rentre le nom prenom , date de naissance et ville
et ensuite le nom apparait dans laliste et quand on clique dessus ca ouvre une fiche et ensuite comment sauvegarder le tout et aussi l'editer .

merci

Williamm

Publié : lun. 11/oct./2004 21:27
par williamm
bonsoir
personne ne veux m'aider

svp un petit exemple





:( :( :( :( :( :cry: :cry: :cry:

Publié : lun. 11/oct./2004 21:31
par Heis Spiter
Cherche un peu ! Tu as vu le nombre de pistes qui t'ont été données ?

Publié : lun. 11/oct./2004 22:14
par nico
Est-ce que tu saurais créer une fenêtre demandant à l'utilisateur de rentrer un nom et de l'afficher dans la Listicon Gadget?

:?:

Publié : mar. 12/oct./2004 16:09
par williamm
je vais essayer
mais mon probleme c'est de rentrer le nom , prenom, date de naissance et ville dans une fenetre et ensuite que seul le nom apparait dans une Listicon Gadget et quand on clique sur le nom une fenetre s'ouvre avec le nom , prenom , date de naissance , et aussi afficher un bouton editer
et ensuite comment sauvegarder le tout ?


merci de m'aider avec un petit exemple svp

william,

Publié : mar. 12/oct./2004 16:41
par Le Soldat Inconnu
Traite un seul problème à la fois, d'aabord, la fenêtre pour entrer les param que tu souhaites.
Le reste, on verra après

d'abord, il faut créer les boutons de gestion des élèves (sans faire la gestion du bouton pourn c'est juste pour avoir une interface complète pour pouvoir travailler)
Ajouter
Editer
Supprimer

On peut également ajouter des options de trie par exemple (peut-être trop complexe vu ton niveau de prog)
par nom
par age
par ville

etc ...

Ensuite, associé au bouton "Ajouter" la fenêtre qui permet de remplir les données souhaiter.

Une fois que tu as fait ceci, on s'occupera de la gestion des données.

Sinon, mets des noms de constantes significatif parceque les #MenuBar_0 et aute, ça veut rien dire.
Par exemple, remplace le #menu_1 par #Menu_Quitter, c'est nettement plus clair.

Publié : mar. 12/oct./2004 16:44
par nico
Parce que toi, tu croyais que t'allais réaliser ton prog en trois jours alors que tu n'est même pas sûr de pouvoir faire ce que je t'ai demandé?

Ton problème, c'est que tu veux réaliser et seulement après comprendre (alors forcément tu vas pas y arriver seul), si t'essayes de comprendre comment utiliser les différentes commandes de Pure et réaliser petit à petit ton prog, ça irait mieux.

Alors tu te bouges, et tu ne demandes pas que l'on te le fasse, si tu sais pas utiliser une listicon, tu postes le code de tes essais et on te dit ce qu'il ne va pas.

Publié : mer. 13/oct./2004 22:26
par williamm
bonsoir
j'ai fais ce petit programme
mais je sais pas coment ajouter un element dans une liste

Code : Tout sélectionner


; Logiciel de gestion d'eleves par Williamm-2004 

; constante des fenetres 


;creation d'un eleve
Structure eleve_struct
eleve.s
EndStructure

NewList Items.eleve_struct()


;procedure de gestion des items
Procedure.b item_clear()
ClearList(items())
EndProcedure

;ajouter un eleve dans la liste
Procedure.b item_add(eleve.s)
If AddElement(items())
items()\Nom=Nom des Eleves

EndIf
EndProcedure













Enumeration
  #Window_0
   #Window_1
EndEnumeration

; constante de la liste d'eleves 

Enumeration
  #ListIcon_0
EndEnumeration

; constante du menu 

Enumeration
#menu_Ajouter
#menu_Info 
#menu_Quitter 
EndEnumeration 

;constante des gadgets pour la fenetre 1 

Enumeration
  #ListIcon_0
  #Text_Nom
  #String_Nom
  #Text_Prenom
  #String_Prenom
  #Text_Date
  #String_Date
  #Text_Ville
  #String_Ville
  #Button_Ajouter
EndEnumeration


; police de la liste 

Global FontID1
FontID1 = LoadFont(1, "Arial", 11, #PB_Font_Bold)
FontID2 = LoadFont(2, "Arial", 12, #PB_Font_Bold)


; procedure de du menu info 
Procedure info()
MessageRequester("A propos ","Gestion d'eleves par Williamm ",#mb_iconinformation)
EndProcedure





;procedure la fenetre principale 


Procedure Open_Window_0()
  If OpenWindow(#Window_0 , 216, 0, 682, 624,  #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_SizeGadget | #PB_Window_TitleBar | #PB_Window_ScreenCentered , "Gestion  d'eleves - copyright 2004 ")
    If CreateGadgetList(WindowID())
      
     ListIconGadget(#ListIcon_0, 10, 10, 660, 600, "Nom des Eleves ", 656, #PB_ListIcon_CheckBoxes | #PB_ListIcon_GridLines)
      SetGadgetFont(#ListIcon_0, FontID1)
      If CreateMenu(0,WindowID())
      MenuTitle( "Fichier")
      MenuItem (#menu_Ajouter ,"Ajouter un eleve ")
      MenuItem(#menu_Info ,"Information ")
      MenuItem(#menu_Quitter,"Quitter ")
      EndIf
      
    EndIf
  EndIf
EndProcedure


; procedure de la fenetre ajouter 


Procedure Open_Window_1()
  If OpenWindow(#Window_1, 339, 72, 444, 420,  #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_SizeGadget | #PB_Window_TitleBar | #PB_Window_WindowCentered , "Ajouter Eleves ")
    If CreateGadgetList(WindowID())
      TextGadget(#Text_Nom, 20, 40, 90, 30, "Nom : ", #PB_Text_Center)
      SetGadgetFont(#Text_Nom, FontID2)
      StringGadget(#String_Nom, 110, 40, 210, 30, "")
      SetGadgetFont(#String_Nom, FontID2)
      TextGadget(#Text_Prenom, 10, 110, 90, 30, "Prenom : ", #PB_Text_Center)
      SetGadgetFont(#Text_Prenom, FontID2)
      StringGadget(#String_Prenom, 110, 110, 210, 30, "")
      SetGadgetFont(#String_Prenom, FontID2)
      TextGadget(#Text_Date, 0, 170, 130, 50, "Date de naissance : ", #PB_Text_Center)
      SetGadgetFont(#Text_Date, FontID2)
      StringGadget(#String_Date, 130, 180, 210, 30, "")
      SetGadgetFont(#String_Date, FontID2)
      TextGadget(#Text_Ville, 20, 250, 100, 30, "Ville : ", #PB_Text_Center)
      SetGadgetFont(#Text_Ville, FontID2)
      StringGadget(#String_Ville, 120, 250, 210, 30, "")
      SetGadgetFont(#String_Ville, FontID2)
      ButtonGadget(#Button_Ajouter, 30, 340, 120, 40, "Ajouter ")
      SetGadgetFont(#Button_Ajouter, FontID2)
     
      Repeat 
        
        Event = WaitWindowEvent() 
        
        Select Event 
          Case #PB_EventCloseWindow 
            Fenetre = EventWindowID() 
            If fenetre = #Window_1 
              Fermer_Window_1 = 1
            EndIf 
            
          Case #PB_EventGadget 
            GadgetID = EventGadgetID() 
            If GadgetID = #Button_ajouter
              Fermer_Window_1 = 1 
            EndIf 
        EndSelect 
        
      Until Fermer_Window_1 = 1 
      
      CloseWindow(#Window_1) 
    EndIf 
  EndIf 
EndProcedure 
      

;boucle principale

Open_Window_0()

 Repeat
  Event = WaitWindowEvent() 
  Select Event 
    Case #pb_eventmenu
    Select EventMenuID()
     Case #menu_info:info()
     Case#menu_ajouter:Open_Window_1()
     Case#MENU_quitter :fermer_window_0= 1        

      EndSelect 
    
    
    Case #PB_EventCloseWindow 
      Fenetre = EventWindowID() 
      If fenetre = #Window_0 
        Fermer_Window_0 = 1 
      EndIf 
      
  
      
      
      
 
      
  EndSelect 
  
Until Fermer_Window_0 = 1 

End 

qui peux m'expliquer svp

Publié : mer. 13/oct./2004 23:37
par nico
Voici un exemple concret pour ta liste chainée:

Code : Tout sélectionner

;creation d'un eleve 
Structure eleve_struct ;ici on cré une structure avec les champs
  Nom.s                ;qui t'intéresse
  Prenom.s
  date.s
  Ville.s
EndStructure 

NewList Items.eleve_struct() ;on cré une nouvelle liste


;procedure de gestion des items 
Procedure.b item_clear() 
  ClearList(Items())
  ProcedureReturn 1
EndProcedure 

;ajouter un eleve dans la liste 
Procedure.b item_add() 
  If AddElement(Items()) 
    Items()\Nom= GetGadgetText(#String_Nom)  
    Items()\Prenom= GetGadgetText(#String_Prenom) 
    Items()\date= GetGadgetText(#String_Date) 
    Items()\Ville= GetGadgetText(#String_Ville)  
    AddGadgetItem(#ListIcon_0, -1,Items()\Nom) ;on affiche le nom dans le ListIconGadget
  EndIf
  ProcedureReturn 1
EndProcedure