j'arrive pas à charger mes enregistrements

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
SpaceMan
Messages : 290
Inscription : mar. 26/oct./2004 19:35
Contact :

j'arrive pas à charger mes enregistrements

Message 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
fweil
Messages : 505
Inscription : dim. 16/mai/2004 17:50
Localisation : Bayonne (64)
Contact :

Message 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à ?
Mon avatar reproduit l'image de 4x1.8m présentée au 'Salon international du meuble de Paris' en janvier 2004, dans l'exposition 'Shades' réunisant 22 créateurs autour de Matt Sindall. L'original est un stratifié en 150 dpi.
SpaceMan
Messages : 290
Inscription : mar. 26/oct./2004 19:35
Contact :

Probleme de chargement

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