Gadgets in Schleifen

Für allgemeine Fragen zur Programmierung mit PureBasic.
Demivec
Beiträge: 49
Registriert: 22.02.2008 20:49
Wohnort: Utah, USA

Re: Gadgets in Schleifen

Beitrag von Demivec »

Code: Alles auswählen

;Setup
Dim GadgetButtonList(63)

GadgetButtonList(0) = #Button_0
GadgetButtonList(1) = #Button_1
GadgetButtonList(2) = #Button_2
;...
GadgetList(63) = #Button_63 

;use
Procedure ResetButtons()
  Shared GadgetButtonList()
  
  For x = GadgetButtonList(0) To GadgetButtonList(63)
    
    SetGadgetState(x,0) 
    
    
  Next
  
  
EndProcedure
Bild
TWELVE
Beiträge: 72
Registriert: 01.04.2007 18:33

Re: Gadgets in Schleifen

Beitrag von TWELVE »

Ich danke erstmal für Euren Input !

Habe soweit erstmal alle anstehenden Probleme gelöst.

Warum der Formdesigner dem "höchsten" Button( bei 10 Buttons steht Button_10 immer ganz oben in der Enumeration) immer die Constant 0 zuweist und die Zuordnung damit
verdreht ist, bleibt allerdings ungeklärt.
TWELVE
Beiträge: 72
Registriert: 01.04.2007 18:33

Re: Gadgets in Schleifen

Beitrag von TWELVE »

Demivec hat geschrieben:

Code: Alles auswählen

;Setup
Dim GadgetButtonList(63)

GadgetButtonList(0) = #Button_0
GadgetButtonList(1) = #Button_1
GadgetButtonList(2) = #Button_2
;...
GadgetList(63) = #Button_63 

;use
Procedure ResetButtons()
  Shared GadgetButtonList()
  
  For x = GadgetButtonList(0) To GadgetButtonList(63)
    
    SetGadgetState(x,0) 
    
    
  Next
  
  
EndProcedure

Mmmh..welches Problem würde das losen ?


GadgetButtonList(0) = #Button_0

#Button_0 hat den Wert 63.

Ne Erklärung dazu wäre nicht schlecht.

Mir wäre es aber logischer, wenn die Enumeration es gleich richtig machen würde.
Demivec
Beiträge: 49
Registriert: 22.02.2008 20:49
Wohnort: Utah, USA

Re: Gadgets in Schleifen

Beitrag von Demivec »

TWELVE hat geschrieben: Mmmh..welches Problem würde das losen ?


GadgetButtonList(0) = #Button_0

#Button_0 hat den Wert 63.

Ne Erklärung dazu wäre nicht schlecht.

Mir wäre es aber logischer, wenn die Enumeration es gleich richtig machen würde.
Erläuterung: Das Array umgeht alle Probleme mit den für die Gadgets verwendeten Konstanten. Die Konstanten können beliebige Werte und in beliebiger Reihenfolge sein. Das Array führt eine Liste der Konstanten, und Sie durchlaufen einfach die im Array gespeicherten Werte und setzen / deaktivieren / lesen sie alle nach Ihren Wünschen. Es wird auch die Frage umgangen, warum FormDesigner sie in die Reihenfolge gebracht hat, in der sie aufgetreten sind, oder Probleme verhindert, wenn Lücken in den konstanten Werten vorhanden sind.
Bild
Benutzeravatar
mk-soft
Beiträge: 3845
Registriert: 24.11.2004 13:12
Wohnort: Germany

Re: Gadgets in Schleifen

Beitrag von mk-soft »

@Demivec

du hast dich verdoppelt :roll:

Code: Alles auswählen

;Setup
Dim GadgetButtonList(63)

GadgetButtonList(0) = #Button_0
GadgetButtonList(1) = #Button_1
GadgetButtonList(2) = #Button_2
;...
GadgetList(63) = #Button_63 

;use
Procedure ResetButtons()
  Shared GadgetButtonList()
  
  For x = 0 To 63
    
    SetGadgetState(GadgetButtonList(x),0) 
    
  Next
  
  
EndProcedure
Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
Demivec
Beiträge: 49
Registriert: 22.02.2008 20:49
Wohnort: Utah, USA

Re: Gadgets in Schleifen

Beitrag von Demivec »

mk-soft hat geschrieben:@Demivec

du hast dich verdoppelt :roll:

Code: Alles auswählen

;Setup
Dim GadgetButtonList(63)

GadgetButtonList(0) = #Button_0
GadgetButtonList(1) = #Button_1
GadgetButtonList(2) = #Button_2
;...
GadgetList(63) = #Button_63 

;use
Procedure ResetButtons()
  Shared GadgetButtonList()
  
  For x = 0 To 63
    
    SetGadgetState(GadgetButtonList(x),0) 
    
  Next
  
  
EndProcedure
Danke.
Bild
Antworten