Page 1 sur 1

[Resolu] Soucis de stockage dans liste structurée

Publié : jeu. 06/sept./2018 17:41
par Ar-S
Salut,

J'ai fait ça vite fait mais je ne pige pas pourquoi les éléments stockés dans ma liste ne sont pas égaux à ceux débogués dans la boucle.
(compilé en 5.62 x64)

Code : Tout sélectionner



Structure Coords
  X.w
  Y.w
EndStructure

Global NewList Boutons()
Global Boutons.Coords

Procedure AddBouton()
  Protected Xcase, Ycase
  
  For x = 1 To 6
    For y = 1 To 4
      Ycase = y * 85 
      
; là C'est OK
      Debug "Bouton "+Str(compt)+ " : " + Str(Xcase) + " x " + Str(Ycase) ; ICI OK
      Compt + 1
      ; Mais ici les infos sont étranges
      AddElement (Boutons())
      With Boutons
        \X = Xcase
        \Y = Ycase
      EndWith
      
    Next y
    
    Xcase = X * 85
  Next x      
  
EndProcedure


AddBouton()

; ici résultats que je ne pige pas

ResetList( Boutons() )
ForEach Boutons()
  
  Debug "Element " +  Str( ListIndex(Boutons()) )
  Debug "Position X : " + Str(Boutons\X)
  Debug "Position Y : " + Str(Boutons\Y)
  Debug ""
  
Next




Re: Soucis de stockage dans liste structurée

Publié : jeu. 06/sept./2018 17:58
par kwandjeen
Tu ne mets aucune valeur dans ta liste.
J'ai modifié ton code.

Code : Tout sélectionner

Structure Coords
  X.w
  Y.w
EndStructure

Global NewList Boutons.Coords()
;Global Boutons.Coords

Procedure AddBouton()
  Protected Xcase, Ycase
  
  For x = 1 To 6
    For y = 1 To 4
      Ycase = y * 85 
      
      Debug "Bouton "+Str(compt)+ " : " + Str(Xcase) + " x " + Str(Ycase) ; ICI OK
      Compt + 1
      ; Mais ici les infos sont étranges
      AddElement (Boutons())
      With Boutons()
        \X = Xcase
        \Y = Ycase
      EndWith
      
    Next y
    
    Xcase = X * 85
  Next x      
  
  
  
EndProcedure


Procedure InitCases()
  OpenWindow(0,0,0,800,800,"",#PB_Window_SystemMenu)

EndProcedure

AddBouton()

ResetList( Boutons() )
ForEach Boutons()
  
  Debug "Element " +  Str( ListIndex(Boutons()) )
  Debug "Position X : " + Str(Boutons()\X)
  Debug "Position Y : " + Str(Boutons()\Y)
  Debug ""
  
Next
Si j'ai bien compris ce que tu voulais :D

Re: Soucis de stockage dans liste structurée

Publié : jeu. 06/sept./2018 21:01
par Ar-S
Ah bordel.. Merci kwandjeen

Je pensais que
Global NewList Boutons() créait la liste de base à laquelle je greffais la structure Coords avec Global Boutons.Coords...
ça fait trop longtemps que je n'ai pas brassé des list et autres map et tableaux..