I seek to know if we can put the elements of my list in...

Just starting out? Need help? Post your questions and find answers here.
jbernard13
User
User
Posts: 21
Joined: Sun Feb 13, 2005 10:47 pm

I seek to know if we can put the elements of my list in...

Post by jbernard13 »

hello
In my code, I seek to know if we can put the elements of my list in alphabetical order?

Thnak you

Code: Select all


; Mes contact version 01
; écris par jbernard - copyright 2007

; Les constantes

; Fenetres
 Enumeration
  #Fenetre_main
  #Fenetre_ajouter
 EndEnumeration
 ;Gadgets
 Enumeration
  #Liste_amie
  #Bouton_nouveau
  #Bouton_sauver
  #bouton_effacer
  #bouton_info
  #cadre
  #text_pseudo
  #champ_pseudo
  #text_prenom
  #champ_prenom
  #text_age
  #champ_age
  #text_ville
  #champ_ville
  #text_mail
  #champ_mail
  #bouton_ajouter
  #bouton_annule
  #file
  #BarreEtat
 EndEnumeration
;procedure pour ajouter un ou une ami(e) à la liste
 Structure Gestion
  Pseudo.s
  Prenom.s
  Age.s
  Ville.s
  Email.s
 EndStructure
 
 Global NewList Amis.Gestion()
 Procedure.b Effacer_liste()
  ClearList(Amis())
   ProcedureReturn l
 EndProcedure   

 ; Creation de la liste chainée
 
 Procedure.b ajoute_amis()
  LastElement(Amis())
  If AddElement(Amis())
    Amis()\Pseudo=GetGadgetText(#champ_pseudo)
    Amis()\Prenom=GetGadgetText(#champ_prenom)
    Amis()\Age=GetGadgetText(#champ_age)
    Amis()\Ville=GetGadgetText(#champ_ville)
    Amis()\Email=GetGadgetText(#champ_mail)
   AddGadgetItem(#Liste_amie,-1,Amis()\pseudo+Chr(10)+Amis()\Prenom+Chr(10)+Amis()\age+Chr(10)+Amis()\ville+Chr(10)+Amis()\Email)
  Resultat = CountGadgetItems(#Liste_amie)
  StatusBarText(#BarreEtat, 0, "nombre de contacte: "+Str(Resultat))
 
   EndIf
  ProcedureReturn l
 EndProcedure
 
 
 ;Procedure d'effacement d'un nom de la liste
 Procedure Supprimer_nom()
  Protected i,total_item.l
  total_item=CountGadgetItems(#Liste_amie)-1
   For i=total_item To 0  Step -1
   If GetGadgetItemState(#Liste_amie,i)&#PB_ListIcon_Checked
    RemoveGadgetItem(#Liste_amie,i)
    SelectElement(Amis(),i)
    DeleteElement(Amis())
    EndIf
    Next i
  Resultat = CountGadgetItems(#Liste_amie);<---------------------------- ici --------------------------
  StatusBarText(#BarreEtat, 0, "nombre de contacte: "+Str(Resultat));<---------------------------- ici --------------------------
 EndProcedure
 
 ; procedure de sauvegarde du fichier
 Procedure sauver()
  ResetList(Amis())
  CreateFile(#file,"Contact.dat")
  ForEach Amis()
   WriteStringN(#file,Amis()\Pseudo)
   WriteStringN(#file,Amis()\Prenom)
   WriteStringN(#file,Amis()\Age)
   WriteStringN(#file,Amis()\Ville)
   WriteStringN(#file,Amis()\Email)
   Next
   CloseFile(#file)
 EndProcedure
 
 
 
 
 
 
 
 
 
 ;Procedure des fenetres
 
 ; Fenetre principale
 
 Procedure main()
 If OpenWindow(#Fenetre_main,0,0,640,350," Mes Contacts version 01-2007",#PB_Window_MinimizeGadget|#PB_Window_SystemMenu|#PB_Window_ScreenCentered|#PB_Window_TitleBar)
 If CreateGadgetList(WindowID(#Fenetre_main))
  ListIconGadget(#Liste_amie,10,50,620,280,"Pseudo :",150,#PB_ListIcon_GridLines|#PB_ListIcon_CheckBoxes)
   AddGadgetColumn(#Liste_amie,1,"Prénom:",100)
   AddGadgetColumn(#Liste_amie,2,"Age:",50)
   AddGadgetColumn(#Liste_amie,3,"Ville:",195)
   AddGadgetColumn(#Liste_amie,4,"Email:",200)
   ButtonGadget(#Bouton_nouveau,10,10,120,30,"Ajouter un contact")
   ButtonGadget(#Bouton_sauver,150,10,120,30,"Sauver la liste")
   ButtonGadget(#Bouton_effacer,290,10,120,30,"Effacer un contact")
   ButtonGadget(#bouton_info,435,10,120,30,"Information")
   CreateStatusBar(#BarreEtat, WindowID(#Fenetre_main))
   Resultat = CountGadgetItems(#Liste_amie)
   StatusBarText(#BarreEtat, 0, "nombre de contacte: "+Str(Resultat))

  EndIf
  EndIf
 EndProcedure
 
 ;Fenetre ajouter un ami ou une amie
 Procedure ajouter()
 If OpenWindow(#Fenetre_ajouter,0,0,320,340,"Ajouter un nouveau contact",#PB_Window_TitleBar|#PB_Window_ScreenCentered)
 If CreateGadgetList(WindowID(#Fenetre_ajouter))
  Frame3DGadget(#cadre,10,10,300,280,"")
  TextGadget(#text_pseudo,90,25,120,30,"Pseudo :",#PB_Text_Center)
  StringGadget(#champ_pseudo ,45,45,220,20,"")
  TextGadget(#text_prenom,90,75,120,30,"Prenom :",#PB_Text_Center)
  StringGadget(#champ_prenom,45,95,220,20,"")
  TextGadget(#text_age,90,125,120,30,"Age :",#PB_Text_Center)
  StringGadget(#champ_age,135,145,25,20,"",#PB_String_Numeric)
  TextGadget(#text_ville,90,175,120,30,"Ville :",#PB_Text_Center)
  StringGadget(#champ_ville,45,195,220,20,"")
  TextGadget(#text_mail,90,225,120,30,"Email :",#PB_Text_Center)
  StringGadget(#champ_mail,45,245,220,20,"")
  ButtonGadget(#bouton_ajouter,20,300,120,30,"Ajouter")
  ButtonGadget(#bouton_annule,180,300,120,30,"Annuler")
 ProcedureReturn #True
  EndIf
  EndIf
 
 
 EndProcedure
 
 
 
 ;Boucle du programme
 main()
 ;Chargement de la liste au demarrage du programme
  If OpenFile(#file,"Contact.dat")<>0
   ResetList(Amis())
   OpenFile(#file,"Contact.dat")
   While Eof(#file)=0
   If AddElement(Amis())
     Amis()\Pseudo=ReadString(#file)
     Amis()\Prenom=ReadString(#file)
     Amis()\Age=ReadString(#file)
     Amis()\Ville=ReadString(#file)
     Amis()\Email=ReadString(#file)
   AddGadgetItem(#Liste_amie,-1,Amis()\pseudo+Chr(10)+Amis()\Prenom+Chr(10)+Amis()\age+Chr(10)+Amis()\ville+Chr(10)+Amis()\Email)
   Resultat = CountGadgetItems(#Liste_amie)
  StatusBarText(#BarreEtat, 0, "nombre de contacte: "+Str(Resultat))
   EndIf
   Wend
   CloseFile(#file)
   EndIf
 ; programation de la gestion des evenements des fenetres
 Repeat
   Select WaitWindowEvent ()
    Case #PB_Event_Gadget
     Select EventGadget()     
     Case #Bouton_nouveau:ajouter()
     Case#bouton_sauver:sauver()
     Case #bouton_effacer:Supprimer_nom()
     Case #bouton_info:MessageRequester("Information","Contact crée par Jbernard copyright 2007",#PB_MessageRequester_Ok)         
     Case #bouton_ajouter:ajoute_amis()
     CloseWindow(#Fenetre_ajouter)
     Case #bouton_annule
     CloseWindow(#Fenetre_ajouter)
     
      EndSelect
        Case #PB_Event_CloseWindow
  Select EventWindow()
   Case #Fenetre_main
   Quit=#True
   EndSelect
  EndSelect
  Until Quit
  End
srod
PureBasic Expert
PureBasic Expert
Posts: 10589
Joined: Wed Oct 29, 2003 4:35 pm
Location: Beyond the pale...

Post by srod »

SortStructuredList() ?
I may look like a mule, but I'm not a complete ass.
Post Reply