stocker info

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Simon
Messages : 25
Inscription : jeu. 24/févr./2005 20:30

stocker info

Message par Simon »

Comment fait-on pour stocker des infos (de types texte) dans un fichier ,avec la version 3.92 de PB.

Merci
nico
Messages : 3702
Inscription : ven. 13/févr./2004 0:57

Message par nico »

Regarde l'aide.
Simon
Messages : 25
Inscription : jeu. 24/févr./2005 20:30

Message par Simon »

Sa je l'ai déjà fait mais voila le code

Code : Tout sélectionner

LoadImage(1, "Data/moi.bmp") 

If OpenWindow(0,0,0,400,365,#PB_Window_SystemMenu|#PB_Window_MinimizeGadget|#PB_Window_ScreenCentered,"gestionnaire de cd" ) 
  
  If CreateGadgetList(WindowID()) 
  
 CreateMenu(0, WindowID())

  MenuTitle("Fichier")
  MenuItem(1, "&Ajouter une donnée" +Chr(9) +"Ctrl+N")
  AddKeyboardShortcut(0,#PB_Shortcut_Control|#PB_ShortCut_N,1)
  MenuItem(8, "&Modifier donnée") 
  MenuBar()
  MenuItem(2, "&Quitter" +Chr(9) +"Echap")
  AddKeyboardShortcut(0,#PB_Shortcut_Escape,2)
 
  MenuTitle("Aide")
  MenuItem(3, "&Aide"+Chr(9) +"F1")
  AddKeyboardShortcut(0,  #PB_Shortcut_F1,3)
  MenuItem(4, "&A propos de...")
  
PanelGadget(2,5,5,390,320)
AddGadgetItem (2,-1,"Logiciels  (0)")
     ListIconGadget(3,5,5,375,285,"Nom",170,#PB_ListIcon_FullRowSelect|#PB_ListIcon_MultiSelect )  
     AddGadgetColumn(3,1,"Nombre cd",100)  
     AddGadgetColumn(3,2,"Statue",100) 
           
AddGadgetItem (2,-1,"Jeux vidéos  (0)")
     ListIconGadget(4,5,5,375,285,"Nom",170,#PB_ListIcon_FullRowSelect|#PB_ListIcon_MultiSelect )  
     AddGadgetColumn(4,1,"Nombre cd",100) 
     AddGadgetColumn(4,2,"Statue",100) 
                
AddGadgetItem (2,-1,"Divx  (0)")
     ListIconGadget(5,5,5,375,285,"Nom",170,#PB_ListIcon_FullRowSelect|#PB_ListIcon_MultiSelect )  
     AddGadgetColumn(5,1,"Nombre cd",100) 
     AddGadgetColumn(5,2,"Statue",100) 
     
         
CloseGadgetList()

 EndIf 
 

 
CreateStatusBar(0, WindowID(0)) 
StatusBarText(0,0,"  0   CD répertorié.")

EndIf 

Procedure reead()
OpenFile(0, "systemlog.txt")
     If ReadString()="debut"
      Repeat 
      AddGadgetItem(3,CountGadgetItems(3)+1,ReadString())
      Until ReadString() = "end"
     Else 
      MessageRequester("Erreur","Erreur lors de l'ouverture du fichier de sauvegade",#PB_MessageRequester_Ok)
     EndIf 
CloseFile(0)
EndProcedure 

Procedure ouvrir_fenetre_cd()
If OpenWindow(1,0,0,200,130,#PB_Window_SystemMenu|#PB_Window_ScreenCentered,"Ajouter une donnée" )
If CreateGadgetList(WindowID(1))
TextGadget(1, 7, 10, 100, 20, "Nom du cd :")
StringGadget(11,70,8,120,20,"")
TextGadget(12, 35, 37, 100, 20, "Type :")
OptionGadget(13, 75, 35, 100, 20, "Logiciel") 
OptionGadget(14, 75, 53, 100, 20, "Jeux vidéo") 
OptionGadget(15, 75, 73, 100, 20, "Divx") 
ButtonGadget(16, 40, 100, 50, 20, "Valider" )
ButtonGadget(17, 115, 100, 50, 20, "Terminer") 
EndIf
EndIf 
Repeat 
Event = WaitWindowEvent()

If (GetGadgetState(13)=0)And(GetGadgetState(14)=0)And(GetGadgetState(15)=0) 
DisableGadget(16, 1)
Else 
DisableGadget(16, 0)
EndIf 
 
If Event = #PB_EventGadget           
    
   Select EventGadgetID()
   
    Case 17
    Event = #PB_EventCloseWindow
     
    Case 16
    If (GetGadgetState(13)=1) 
      lieu = 3
    EndIf
    If (GetGadgetState(14)=1) 
      lieu = 4
    EndIf 
    If (GetGadgetState(15)=1) 
      lieu = 5
    EndIf   
    
    
    OpenFile(0, "systemlog.txt")
    If ReadString()="debut"     
     WriteStringN(GetGadgetText(11))
     WriteString("end")
    EndIf  
    CloseFile(0)

    reead() 
   
    
    Event = #PB_EventCloseWindow 
    ouvrir_fenetre_cd()
    
   EndSelect 
   
EndIf 

Until Event = #PB_EventCloseWindow
CloseWindow(1)
EndProcedure

Procedure fenetre_aide() 
If OpenWindow(2,0,0,200,230,#PB_Window_SystemMenu|#PB_Window_ScreenCentered,"Aide" )
If CreateGadgetList(WindowID(2)) 
TextGadget(6, 5, 5, 190, 50, "Ce logicel a été créé afin de gérer vos propres CD-Rom.(Savoir où se trouvent-ils, leur nombre ou leur type).")
TextGadget(7, 20, 55, 160, 170, "1_ Cliquez sur : (Fichier/Ajouter une donnée.)                              2_Sélectionnez le type de cd (logiciel/jeux/divx).                   3_Entrez le nom de la nouvelle donnée.                           4_Cliquez sur (Ok) pour valider votre donnée.                                                                                  Vous pouvez également modifier des données en cliquant sur (Fichier/modifier donnée). ")  
EndIf
EndIf  
Repeat
Event = WaitWindowEvent()
Until Event = #PB_EventCloseWindow
CloseWindow(2)
EndProcedure

Procedure a_propos()
If OpenWindow(3,0,0,200,200,#PB_Window_SystemMenu|#PB_Window_ScreenCentered,"A propos de..." )
If CreateGadgetList(WindowID(3))
ImageGadget(0, 50,10,100,83,UseImage(1))
TextGadget(9, 60, 170, 100, 50, "[T_K]ptit_sissi")
EndIf 
EndIf  
Repeat
Event = WaitWindowEvent()
Until Event = #PB_EventCloseWindow
CloseWindow(3)
EndProcedure 

reead()

Repeat
Event = WaitWindowEvent()


DisableMenuItem(8, 1) 

If Event = #PB_Event_Menu         
    
  Select EventMenuID()
  
   Case 1
   ouvrir_fenetre_cd()
   
   Case 2
   Event = #PB_EventCloseWindow
   
   Case 3
   fenetre_aide()
   
   Case 4
   a_propos()

   
  EndSelect 
  
EndIf 



  
Until Event = #PB_EventCloseWindow

End 


Je voudrais stocker des infos dans le fichier "systemlog.txt".
Et que par la suite, ajouter d'autres infos, avec celles déjà présent .

PS:Si vous n'avez pas compris posser des quetions.
comtois
Messages : 5186
Inscription : mer. 21/janv./2004 17:48
Contact :

Message par comtois »

tu peux essayer de lire les posts ici , le sujet avait déjà été abordé

http://purebasic.hmt-forum.com/viewtopic.php?t=1609
Avatar de l’utilisateur
Droopy
Messages : 1151
Inscription : lun. 19/juil./2004 22:31

Message par Droopy »

C'est de la base de données que tu veux traiter
alors utilise un libe de base de donnée

t'en trouvera sur

http://www.purearea.net/pb/english/userlibs.php
Simon
Messages : 25
Inscription : jeu. 24/févr./2005 20:30

Message par Simon »

Tout sa c bien gentis mais moi comprend pas ....
Y aurait pas moyen d'avoir un ptit exemple avec mon cote :lol:

Merci :D
Simon
Messages : 25
Inscription : jeu. 24/févr./2005 20:30

Message par Simon »

Y a personne qui peus maider a stoker des infos ? :(

Please :cry: :cry:
Oliv
Messages : 2117
Inscription : mer. 21/janv./2004 18:39

Message par Oliv »

Si j'ai bien compris c'est ça que tu veux faire

Code : Tout sélectionner

Texte.s = "Texte à stocker"
If OpenFile(0,"Fichier.txt")
  FileSeek(Lof()) ; On se place à la fin du fichier.
  WriteStringN(Texte) ; Avec la commande WriteStringN() on a un retour à la ligne.
  CloseFile(0)
EndIf
bernard13
Messages : 1221
Inscription : mer. 05/janv./2005 21:30

Message par bernard13 »

pourquoi tu utilise pas le ini plutot que le txt ?
Simon
Messages : 25
Inscription : jeu. 24/févr./2005 20:30

Message par Simon »

Heu c quoi la different entre ces 2 fichiers ?
Heis Spiter
Messages : 1092
Inscription : mer. 28/janv./2004 16:22
Localisation : 76
Contact :

Message par Heis Spiter »

C'est pareil. A part que le ini sert comme fichier de configuration (et non le txt). Mais tout ça c'est théorique, tu peux faire l'inverse si ça te chante. :D
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
Oliv
Messages : 2117
Inscription : mer. 21/janv./2004 18:39

Message par Oliv »

bernard13 a écrit :pourquoi tu utilise pas le ini plutot que le txt ?
:lol: là tu as fait fort quand même !
On peut très bien mettre NomDeFichier.OlivTeTrouveTresDroleCeMatin :lol:
comtois
Messages : 5186
Inscription : mer. 21/janv./2004 17:48
Contact :

Message par comtois »

tu devrais essayer la lib de droopy , elle semble correspondre à ton besoin.
Simon
Messages : 25
Inscription : jeu. 24/févr./2005 20:30

Message par Simon »

Mais ou est la Librairie droopy ? et qu'es ce que c'est ? :oops:
C pas moi le pro. de PB :lol:

Et en plus j'ai la version v3.93 (demo) :?
Avatar de l’utilisateur
Droopy
Messages : 1151
Inscription : lun. 19/juil./2004 22:31

Message par Droopy »

Répondre