Code : Tout sélectionner
Structure User
User.s
Phone.s
EndStructure
Global NewList Users.User()
Global NewMap *Users.User()
Procedure UserAdd(User.s, Phone.s)
AddMapElement(*Users(), User)
*Users() = AddElement(Users())
Users()\User = User
Users()\Phone = Phone
EndProcedure
UserAdd("Larache", "01.45.25.15.06")
UserAdd("Tricard", "04.39.69.25.10")
UserAdd("Olap", "02.63.24.54.13")
UserAdd("Agile", "06.31.22.92.92")
Debug #CRLF$+"# Map non triée"
ForEach *Users()
Debug " "+*Users()\User+" = "+*Users()\Phone
Next
SortStructuredList(Users(), #PB_Sort_Ascending|#PB_Sort_NoCase, OffsetOf(User\User), #PB_String)
Debug "# Map triée (En fait c'est bien la liste qui est triée)"
ForEach Users()
Debug " "+Users()\User+" = "+Users()\Phone
Next
Debug "Mais ça fait illusion"
Debug #CRLF$+"#Acces direct au téléphone de Larache"
Debug "Larache = "+*Users("Larache")\Phone