Page 1 sur 1

j'arrive pas à charger mes enregistrements

Publié : ven. 24/juin/2005 13:25
par SpaceMan
salut à vous
j'ai ecris un petit code pour pour gerer mes CDs mais j'arrive pas à charger mes enregistrements. Aidez-moi s'il vou plait

voici mon code

Code : Tout sélectionner


; contanste des fenetres 

Enumeration 
  #main_0 
  #fenetre_1 
  #fenetre_2 
EndEnumeration 

;constante des gadgets 
Enumeration 
   #liste 
  #frame_0 
  #text_nom 
  #string_nom 
  #text_prenom 
  #string_prenom 
  #text_telephone 
  #string_telephone 
  #button_ajoute 
  #button_annule 
  #button_modifie 
EndEnumeration 

; barre du menu 
Enumeration 
  
  #barre_New 
  #barre_Charger 
  #barre_Sauver 
  #barre_efface 
  #barre_info 
  EndEnumeration 





; Chargement des fonts 
Global FontID1 
FontID1 =LoadFont(1,"arial",11,#PB_Font_Bold) 
Global fontId2 
fontId2 =LoadFont(2,"arial",12,#PB_Font_Bold) 
Global fontID3 
fontID3=LoadFont(3,"arial",11) 

; creation d'un élément 

Structure carnet 
  Nom.s 
  Prenom.s 
  Telephone.s 
EndStructure 
NewList items.carnet() 

Procedure.b item_clear() 
  ClearList(items ()) 
EndProcedure 
Procedure.b item_add() 
  If  AddElement(items()) 
    items()\Nom=GetGadgetText(#string_nom) 
    items()\Prenom=GetGadgetText(#string_prenom) 
    items()\Telephone=GetGadgetText(#string_telephone) 
    AddGadgetItem(#liste,-1,items()\Nom+Chr(10)+items()\Prenom+Chr(10)+items()\Telephone) 
  EndIf 
  ProcedureReturn 1 
EndProcedure 
;Modification d'un element de la liste  
Procedure item_modifie(index,Nom.s,Prenom.s,Telephone.s) 
  indexcourant=ListIndex(items()) 
  SelectElement(items(),index) 
  items()\Nom=Nom 
  items()\Prenom=Prenom 
  items()\Telephone=Telephone 
  SelectElement(items(),indexcourant) 
EndProcedure 




; effacement d'un element de la liste 
Procedure remove() 
  effacer=0 
  If GetGadgetItemState(#liste,effacer)&#PB_ListIcon_Checked 
    MessageRequester("Merlin vous informe que ", "L'élément sera supprimer ", #MB_OK|#MB_ICONINFORMATION) 
    RemoveGadgetItem(#liste,effacer) 
  EndIf 
EndProcedure 





;procdeure des fenetres 

Procedure main() 
  If OpenWindow(#main_0,0,0,800,600,#PB_Window_SystemMenu|#PB_Window_MinimizeGadget|#PB_Window_ScreenCentered,"Carnet de telephone") 
    If CreateToolBar(0, WindowID()) 
       ToolBarStandardButton(#barre_New,#PB_ToolBarIcon_New) 
       ToolBarStandardButton(#barre_Charger,#PB_ToolBarIcon_Open ) 
       ToolBarStandardButton(#barre_Sauver,#PB_ToolBarIcon_Save) 
       ToolBarStandardButton(#barre_efface,#PB_ToolBarIcon_Delete) 
       ToolBarStandardButton(#barre_info,#PB_ToolBarIcon_Properties) 
       ToolBarToolTip(#barre_New,"Creation d'une nouveau élément pour la liste en cours") 
       ToolBarToolTip(#barre_Charger,"Charge une liste") 
       ToolBarToolTip(#barre_Sauver ,"Sauve une liste") 
       ToolBarToolTip(#barre_efface ," Efface un élément de la liste en le cochant ") 
       ToolBarToolTip(#barre_info,"Information") 
      
    
    EndIf 
    If CreateGadgetList(WindowID()) 
       ListIconGadget(#liste,10,54,780,535,"Nom :",250, #PB_ListIcon_CheckBoxes| #PB_ListIcon_GridLines   ) 
      AddGadgetColumn(#liste,1,"Prenom :",250) 
      AddGadgetColumn(#liste,2,"Téléphone :",276) 
      SetGadgetFont(#liste,FontID1) 
    
    
    EndIf 
    
  EndIf 
EndProcedure 
Procedure ajouter() 
  If OpenWindow(#fenetre_1,0,0,400,300,#PB_Window_ScreenCentered,"Crée une nouvelle entrée dans la liste") 
    
    If CreateGadgetList(WindowID()) 
      Frame3DGadget(#frame_0,10,5,380,280,"") 
      TextGadget(#text_nom,130,30,140,30,"Nom : ",#PB_Text_Center) 
      SetGadgetFont(#text_nom,fontId2) 
      StringGadget(#string_nom,80,55,250,25,"") 
      SetGadgetFont(#string_nom,fontID3)    
      TextGadget(#text_prenom,130,90,140,30,"Prénom : ",#PB_Text_Center) 
      SetGadgetFont(#text_prenom,fontId2) 
      StringGadget(#string_prenom,80,115,250,25,"") 
      SetGadgetFont(#string_prenom,fontID3) 
      TextGadget(#text_telephone,130,155,140,30,"Téléphone: ",#PB_Text_Center) 
      SetGadgetFont(#text_telephone,fontId2) 
      StringGadget(#string_telephone,80,180,250,25,"",#PB_String_Numeric) 
      SetGadgetFont(#string_telephone,fontID3) 
      ButtonGadget(#button_ajoute,50,240,100,30,"Ajouter") 
      SetGadgetFont(#button_ajoute,fontId2) 
      ButtonGadget(#button_annule,250,240,100,30,"Annuler") 
      SetGadgetFont(#button_annule,fontId2) 
      
      
      Repeat 
        event=WaitWindowEvent() 
        Select event 
          Case #PB_EventGadget 
            Select EventGadgetID() 
              Case#button_ajoute:item_add() 
                fermer_window_1=1 
                
              Case #button_annule: fermer_window_1=1 
            EndSelect 
        EndSelect 
      Until  fermer_window_1=1 
      CloseWindow(#fenetre_1) 
      While WindowEvent():Wend 
      
      
      
      
    EndIf 
    
  EndIf 
  
EndProcedure 
;fenetre de modification 
Procedure modifier(index) 
  If OpenWindow(#fenetre_2,0,0,400,300,#PB_Window_ScreenCentered,"modification") 
    
    If CreateGadgetList(WindowID()) 
      Frame3DGadget(#frame_0,10,5,380,280,"") 
      TextGadget(#text_nom,130,30,140,30,"Nom : ",#PB_Text_Center) 
      SetGadgetFont(#text_nom,fontId2) 
      StringGadget(#string_nom,80,55,250,25,"") 
      SetGadgetFont(#string_nom,fontID3) 
      TextGadget(#text_prenom,130,90,140,30,"Prénom : ",#PB_Text_Center) 
      SetGadgetFont(#text_prenom,fontId2) 
      StringGadget(#string_prenom,80,115,250,25,"") 
      SetGadgetFont(#string_prenom,fontID3) 
      TextGadget(#text_telephone,130,155,140,30,"Téléphone: ",#PB_Text_Center) 
      SetGadgetFont(#text_telephone,fontId2) 
      StringGadget(#string_telephone,80,180,250,25,"",#PB_String_Numeric) 
      SetGadgetFont(#string_telephone,fontID3) 
      ButtonGadget(#button_modifie,50,240,100,30,"Modifier") 
      SetGadgetFont(#button_modifie,fontId2) 
      ButtonGadget(#button_annule,250,240,100,30,"Annuler") 
      SetGadgetFont(#button_annule,fontId2) 
      SelectElement(items(),index) 
      SetGadgetText(#string_nom,items()\Nom) 
      SetGadgetText(#string_prenom,items()\Prenom) 
      SetGadgetText(#string_telephone,items()\Telephone) 
      Repeat 
        event=WaitWindowEvent() 
        Select event 
          Case #PB_EventGadget 
            Select EventGadgetID() 
              Case #button_modifie 
                a.s = GetGadgetText(#string_nom) 
                b.s = GetGadgetText(#string_prenom) 
                c.s = GetGadgetText(#string_telephone) 
                If a <> "" And b <> "" And c <> "" 
                  SetGadgetItemText(#liste, index, a, 0) 
                  SetGadgetItemText(#liste, index, b, 1) 
                  SetGadgetItemText(#liste, index, c, 2) 
                  item_modifie(index, a.s, b.s, c.s) 
                  EndIf 
                fermer_window_2=1 
                
              Case #button_annule: fermer_window_2=1 
            EndSelect 
        EndSelect 
      Until  fermer_window_2=1 
      CloseWindow(#fenetre_2) 
      While WindowEvent():Wend 
      
      
      
      
    EndIf 
    
  EndIf 
  
EndProcedure 

; boucle du programme 

main() 



Repeat 
  event=WaitWindowEvent() 
  Select event 
    Case#PB_EventMenu 
      Select EventMenuID() 
        Case#barre_New:ajouter() 
        Case #barre_efface:remove() 
        Case #barre_info:MessageRequester("Information ", "Carnet telephone  version 01 " + Chr(10) + "écris par Jean-Bernard Copyright 2005 ", #MB_OK|#MB_ICONINFORMATION) 
          
          EndSelect 
    
    
    Case #PB_EventGadget 
      Select EventGadgetID() 
        
        Case #liste 
          Select EventType () 
            
            Case #PB_EventType_LeftDoubleClick 
              element=GetGadgetState(#liste) 
              If element>-1 
                modifier(element) 
                
              EndIf 
          EndSelect 
          
              EndSelect 
      
        Case #PB_EventCloseWindow 
      fermer_window_0=1 
  EndSelect 
Until  fermer_window_0=1 
End 

Merci pour votre soutien

Publié : ven. 24/juin/2005 18:57
par fweil
Il n'y a pas de ligne :

Case #barre_Charger

dans la boucle évènementielle du programme principal. Le problème ne vient pas de là ?

Probleme de chargement

Publié : jeu. 30/juin/2005 14:01
par SpaceMan
salut j'avais publier un code de Bernard13 par erreur
J'ai un probleme pour chargement mes enregistrements(les afficher)

Code : Tout sélectionner

;- Declarations 
; Constantes 
#INormal = 0 
Enumeration ; Gadgets 
#liste
#Numero_Biblio
#NomCD_Biblio
#CategorieCD_Biblio
#MarqueCD_Biblio
#Afficher_base
#frame
#Bouton_enregistrer
#NomCD
#MarqueCD
#combo 
#strG 
#strG_2 
#quitter 
#Quitter_2
#text_NomCD
#text_Categorie
#text_MarqueCD
EndEnumeration 

Enumeration ; Menus 
  #Enregistrer
  #Supprimer 
  #Enregistrement
  #Apropos
EndEnumeration
#FICHIER1 = "C:\Test2.txt"
Global index.l
; Structures 
Structure Biblio 
  Numero.s
  NomCD.s
  CategorieCD.s
  MarqueCD.s 
EndStructure 

; Listes 
NewList items.Biblio()
Procedure.b item_clear() 
 ClearList(items()) 
EndProcedure
index = -1
;ajout des donneés dans la liste
Procedure.b item_add()
 
 index + 1 
  If  AddElement(items()) 
    items()\Numero=GetGadgetText(#liste)
    items()\NomCD=GetGadgetText(#NomCD) 
    items()\CategorieCD=GetGadgetText(#combo) 
    items()\MarqueCD=GetGadgetText(#MarqueCD)
    AddGadgetItem(#liste,-1,Str(index)+items()\Numero+Chr(10)+items()\NomCD+Chr(10)+items()\CategorieCD+Chr(10)+items()\MarqueCD) 
  EndIf 
 ProcedureReturn 1
EndProcedure

; effacer un element de la liste 
Procedure remove() 
  effacer=0 
  If GetGadgetItemState(#liste,effacer)
    MessageRequester("Effacer ", "L'élément sélectionné sera supprimer ", #MB_OK|#MB_ICONINFORMATION) 
    RemoveGadgetItem(#liste,effacer) 
  EndIf 
EndProcedure 

;pour charger la liste
Procedure Charger() 
  OpenPreferences("c:\Test2.txt") 
  n = 0 
  Repeat 
    n + 1 
    Numero.s = ReadPreferenceString(Str(n) + "-Numero", "") 
     If Numero 
      AddElement(items()) 
      items()\Numero = ReadPreferenceString(Str(n)+"-Numero","")   
      items()\NomCD = ReadPreferenceString(Str(n) + "-NomCD","")
      items()\CategorieCD = ReadPreferenceString(Str(n) + "-CategorieCD","")
      items()\MarqueCD = ReadPreferenceString(Str(n) + "-MarqueCD","")
     EndIf
  Until Numero = ""
  
  ClosePreferences() 
  EndProcedure 

Procedure Sauver() 
  If CreatePreferences("c:\Test2.txt")
   n = 0 
    ForEach items() 
      n + 1 
      WritePreferenceString(Str(n) + "-Numero", items()\Numero + Str(n)) 
      WritePreferenceString(Str(n) + "-NomCD", items()\NomCD) 
      WritePreferenceString(Str(n) + "-CategorieCD", items()\CategorieCD) 
      WritePreferenceString(Str(n) + "-MarqueCD", items()\MarqueCD)
      ;WriteStringN("") puis utiliser cette commande ?
    Next 
    ClosePreferences() 
  EndIf 
EndProcedure 

  
  If OpenWindow(1,0,0,820,500,#PB_Window_MinimizeGadget|#PB_Window_ScreenCentered|#PB_Window_SystemMenu|#PB_Window_TitleBar,"CD/DVD-Theque")  
  CreateGadgetList(WindowID(1)) 
    ListIconGadget(#liste,250,30,565,410,"N°",40,#PB_ListIcon_GridLines|#PB_ListIcon_FullRowSelect) 
    AddGadgetColumn(#liste,1,"Nom CD",160) 
    AddGadgetColumn(#liste,2,"Categorie CD",180)
    AddGadgetColumn(#liste,3,"Marque CD",180)
  EndIf
 
        index = index + 1 
     
  CreateMenu(1,WindowID(1)) 
  MenuTitle("Menu") 
    MenuItem(#Enregistrer,"Enregistrer") 
    MenuItem(#Supprimer,"Supprimer") 
    MenuItem(#Afficher_base,"Afficher la base")
    MenuItem(#Enregistrement,"Enregistrement")
    MenuItem(#Apropos,"A propos")
    MenuBar() 
    MenuItem(#Quitter,"Quitter")
    
;creation des boutons      
    TextGadget(#text_NomCD, 10, 105,80,20,"Nom CD") 
    TextGadget(#text_Categorie, 10, 175,80,20,"Categorie") 
    TextGadget(#text_MarqueCD, 10, 245,80,20,"Marque CD")
    TextGadget(#frame, 20,30,200,35,"Bibliothèque de CDs",#PB_Text_Center|#PB_Text_Border) 
    ComboBoxGadget(#combo,90,170,150,100)
    StringGadget(#NomCD,90, 100,150,20,"Win XP")
    StringGadget(#MarqueCD,90, 240,150,20,"Sony")
     
    AddGadgetItem(#combo,00,"Musiques")
    AddGadgetItem(#combo,1,"Logiciels")
    AddGadgetItem(#combo,2,"Donnees")
    AddGadgetItem(#combo,3,"Jeux")
    AddGadgetItem(#combo,4,"Divers")
    AddGadgetItem(#combo,5,"sergio")
    SetGadgetState(#combo, 0) 
     
    ButtonGadget(#Bouton_enregistrer,10,320,100,20,"Enregistrer")
    ButtonGadget(#Afficher_base,10,370,100,20,"Afficher la base")
    ButtonGadget(#quitter,140,420,100,20,"Quitter")
    ButtonGadget(#Supprimer,140,320,100,20,"Supprimer")
    ButtonGadget(#Apropos,10,420,100,20,"A propos")
    ButtonGadget(#Enregistrement,140,370,100,20,"S'Enregistrer")
       
     
  Repeat 
    Select WaitWindowEvent()
    Case #PB_EventCloseWindow
        Sortie = 1
        event = 20
        
  ;action concernant les menus      
     Case #PB_EventMenu 
        Select EventMenuID() 
          Case #quitter 
            Sortie = 1
          Case#Afficher_base:Charger()
          Case#Enregistrer:item_add():Sauver()
          Case#Supprimer:remove() 
     EndSelect  
      
     ;action concernant les boutons    
      Case #PB_Event_Gadget 
        Select EventGadgetID()
        Case#Bouton_enregistrer:item_add():Sauver()
        Case#Supprimer:;remove()
        RemoveGadgetItem(#liste, GetGadgetState(#liste))
        
        Case #quitter
        Sortie = 1
        Case#Afficher_base:MessageRequester("Base de Données", "Cliquez sur OK pour afficher la base", #MB_OK|#MB_ICONINFORMATION):Charger()
        EndSelect
      
        Select EventType() 
       
        EndSelect         
                
        Case #PB_EventGadget 
        Select EventGadgetID()
           
        
        EndSelect 
        EndSelect
             
     Until Sortie = 1 
    
  ActivateWindow() 
  CloseWindow(1) 
;Comment faire pour réecrire dans le fichier "Test2.txt" chaque fois que je lance le programme
; ExecutableFormat=Windows
; EOF
thank for you