Seite 2 von 2

Re: spingadget - stepping problem

Verfasst: 13.03.2010 03:51
von Burstnibbler
Hallo,

hier das Ganze mal mit einem Array (auf Eventtype kann hierbei verzichtet werden).

Code: Alles auswählen

EnableExplicit

#Win=0
#Spn=0

Define Loop.i
Dim Spinner.i(10)

For Loop=0 To 10
  Spinner(Loop)=(Loop+1)*5
Next

OpenWindow(#Win,0,0,140,70,"SpinGadget",#PB_Window_SystemMenu)
SpinGadget(#Spn,20,20,100,25,0,10, #PB_Spin_ReadOnly)
SetGadgetText(#Spn,Str(Spinner(GetGadgetState(#Spn))))
SetActiveGadget(#Spn)

Repeat
  Select WaitWindowEvent()
   Case #PB_Event_Gadget
    If EventGadget()=#Spn
     SetGadgetText(#Spn,Str(Spinner(GetGadgetState(#Spn))))
    EndIf
   Case #PB_Event_CloseWindow : Break
  EndSelect
ForEver

MfG,
Burstnibbler

Re: spingadget - stepping problem

Verfasst: 13.03.2010 03:54
von STARGÅTE
:?

Wozu dann überhaupt das Array ?

Code: Alles auswählen

EnableExplicit

#Win=0
#Spn=0

OpenWindow(#Win,0,0,140,70,"SpinGadget",#PB_Window_SystemMenu)
SpinGadget(#Spn,20,20,100,25,0,10, #PB_Spin_ReadOnly)
SetGadgetText(#Spn,Str(GetGadgetState(#Spn)*5+5))
SetActiveGadget(#Spn)

Repeat
  Select WaitWindowEvent()
   Case #PB_Event_Gadget
    If EventGadget()=#Spn
     SetGadgetText(#Spn,Str(GetGadgetState(#Spn)*5+5))
    EndIf
   Case #PB_Event_CloseWindow : Break
  EndSelect
ForEver

Re: spingadget - stepping problem

Verfasst: 13.03.2010 04:00
von Burstnibbler
STARGÅTE hat geschrieben: :? Wozu dann überhaupt das Array ?
:lol: Jo, da haste auch wieder Recht !
:allright:

Mfg,
Burstnibbler

Re: spingadget - stepping problem

Verfasst: 13.03.2010 17:37
von broozar
danke für eure hilfe. genug beispielcode habe ich ja jetzt. bitte sagt mir nun auch noch, wo mein denkfehler lag.

Re: spingadget - stepping problem

Verfasst: 13.03.2010 23:44
von Burstnibbler
Hallo broozar,

ich habe mir mal deinen Code genauer angeschaut und den Fehler tatsächlich gefunden :o .
Es ist die Konstante: #PB_Spin_Numeric
PB-Hilfe hat geschrieben:Das SpinGadget wird den Text automatisch mit dem aktuellen Wert des SpinGadgets updaten, womit SetGadgetText() nicht benötigt wird.
Das Problem dabei war dann, "der aktuelle Wert des SpinGadgets", welcher die ganze Berechnung durcheinander gebracht hat; und beim "Dauerfeuer" dann irgendwie vollends versagt hat.

Wenn du in deinem Code jetzt die Konstante weg lässt und die Werte "4" durch "5" ersetzt, dann funktioniert es.

MfG,
Burstnibbler

Re: spingadget - stepping problem

Verfasst: 14.03.2010 00:44
von hjbremer
Burstnibbler hat geschrieben: Es ist die Konstante: #PB_Spin_Numeric

Das Problem dabei war dann, "der aktuelle Wert des SpinGadgets", welcher die ganze Berechnung durcheinander gebracht hat; und beim "Dauerfeuer" dann irgendwie vollends versagt hat.
Das Spin-Gadget versagt nicht !!! !!!

Es tut genau das, was es tun soll,
würde es das nicht, so würde eine Flut von Protesten über Fred und Co hereinbrechen.

PS: in meinem Beispiel am Anfang fehlt genau dies Konstante. Darum und wegen dem einfacheren Code funktioniert der selbige.

Wenn schon Kritik, dann leise an der Hilfe von PB, die nicht genau und ausführlich genug ist.

Re: spingadget - stepping problem

Verfasst: 14.03.2010 04:53
von Burstnibbler
hjbremer hat geschrieben: Das Spin-Gadget versagt nicht !!! !!!
Habe ich ja auch nie behauptet !
Ich schrieb, dass durch die Verwendung dieser Konstante, der "aktuelle Gadgetwert des Spingadgets" die Berechnung durcheinander bringt und bei "Dauerfeuer" versagt. Und warum das so ist, habe ich mit dem Zitat aus der PB-Hilfe verdeutlicht - nämlich weil mit der Verwendung dieser Konstante, der Gadgettext automatisch geupdatet wird.
hjbremer hat geschrieben: Es tut genau das, was es tun soll,
Ja!
hjbremer hat geschrieben: würde es das nicht, so würde eine Flut von Protesten über Fred und Co hereinbrechen.
Also an der Flut hege ich leise Zweifel.
hjbremer hat geschrieben: PS: in meinem Beispiel am Anfang fehlt genau dies Konstante. Darum und wegen dem einfacheren Code funktioniert der selbige.
Egal ob einfacher oder verkomplizierter Code! @Broozar wollte wissen, wo denn der Fehler in seinem Code liegt, und das ist nunmal die Verwendung dieser Konstante; denn ohne sie läuft sein Code ohne Probleme.
hjbremer hat geschrieben: Wenn schon Kritik, dann leise an der Hilfe von PB, die nicht genau und ausführlich genug ist.
Laute Zustimmung !

MfG,
Burstnibbler