comment cree une base de donnée en pureBasic

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
williamm
Messages : 54
Inscription : dim. 05/sept./2004 20:21

comment cree une base de donnée en pureBasic

Message 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
Aranoth
Messages : 293
Inscription : sam. 24/janv./2004 12:00
Localisation : Toulouse (31)
Contact :

Message 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
Débutant en programmation, notament en C++ ?
Vous souhaitez apprendre ?
williamm
Messages : 54
Inscription : dim. 05/sept./2004 20:21

Message par williamm »

merci mais comment faire pour quand on clique un nom pour faire apparaitre une fiche ? et comment sauvegarder ensuite??
Aranoth
Messages : 293
Inscription : sam. 24/janv./2004 12:00
Localisation : Toulouse (31)
Contact :

Message 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()
Débutant en programmation, notament en C++ ?
Vous souhaitez apprendre ?
Avatar de l’utilisateur
Chris
Messages : 3731
Inscription : sam. 24/janv./2004 14:54
Contact :

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

Message 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.
Lukky
Messages : 340
Inscription : dim. 25/janv./2004 12:22
Localisation : Morbihan

Message par Lukky »

Je dirais même que ça ressemble à un type de question qui devrait se trouver à un certain endroit.

JL
Quand on me gonfle trop j'éclate, sinon ça va !
williamm
Messages : 54
Inscription : dim. 05/sept./2004 20:21

Message 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
williamm
Messages : 54
Inscription : dim. 05/sept./2004 20:21

Message par williamm »

bonsoir
personne ne veux m'aider

svp un petit exemple





:( :( :( :( :( :cry: :cry: :cry:
Heis Spiter
Messages : 1092
Inscription : mer. 28/janv./2004 16:22
Localisation : 76
Contact :

Message par Heis Spiter »

Cherche un peu ! Tu as vu le nombre de pistes qui t'ont été données ?
Heis Spiter, webmaster du site http://www.heisspiter.net
Développeur principal et administrateur du projet Bird Chat
Parti courir au bonheur du dév. public et GPL :D
nico
Messages : 3702
Inscription : ven. 13/févr./2004 0:57

Message 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?

:?:
williamm
Messages : 54
Inscription : dim. 05/sept./2004 20:21

Message 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,
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Message 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.
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?

[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
nico
Messages : 3702
Inscription : ven. 13/févr./2004 0:57

Message 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.
williamm
Messages : 54
Inscription : dim. 05/sept./2004 20:21

Message 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
nico
Messages : 3702
Inscription : ven. 13/févr./2004 0:57

Message 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 
Répondre