Seite 1 von 1

[Linux] SpinGadget()-Bug

Verfasst: 01.04.2008 19:51
von NicTheQuick
Hallo. Folgender Code funktioniert unter Windows einwandfrei, aber unter
Linux passiert nichts, wenn ich auf die Pfeile klicke:

Code: Alles auswählen

Value.d = 123.456
steps.d = 0.2

If OpenWindow(0, 0, 0, 300, 30, "spingadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
  If CreateGadgetList(WindowID(0))
    SpinGadget(0, 0, 0, 300, 30, 0, 100)
    SetGadgetText(0, StrD(Value, 2))
    SetGadgetState(0, 1)
   
    Repeat
      Select WaitWindowEvent()
        Case #PB_Event_CloseWindow
          Break
        Case #PB_Event_Gadget
          If EventGadget() = 0
            Select EventType()
              Case #PB_EventType_Change
                Value = ValD(GetGadgetText(0))
              Case 1
                Value + steps
                SetGadgetText(0, StrD(Value, 2))
              Case -1
                Value - steps
                SetGadgetText(0, StrD(Value, 2))
            EndSelect
          EndIf
      EndSelect
    ForEver
  EndIf
EndIf

Verfasst: 25.06.2008 13:19
von dr.chaos81
Hallo ,
um eien ablgeich zwischen Spin_wert und Spin_txt zu machen ,benutze ich folgende abfrage

Code: Alles auswählen

     If Val(GetGadgetText(#spin_1)) <> GetGadgetState(#Spin_1)
              SetGadgetState(#spin_1,Val(GetGadgetText(#Spin_1)))
     EndIf

hoffe geholfen zuhaben.

mfg

Re: [Linux] SpinGadget()-Bug

Verfasst: 25.06.2008 14:29
von michel51
NicTheQuick hat geschrieben:Hallo. Folgender Code funktioniert unter Windows einwandfrei, aber unter
Linux passiert nichts, wenn ich auf die Pfeile klicke:

Code: Alles auswählen

Value.d = 123.456
steps.d = 0.2

If OpenWindow(0, 0, 0, 300, 30, "spingadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
  If CreateGadgetList(WindowID(0))
    SpinGadget(0, 0, 0, 300, 30, 0, 100)
    SetGadgetText(0, StrD(Value, 2))
    SetGadgetState(0, 1)
   
    Repeat
      Select WaitWindowEvent()
        Case #PB_Event_CloseWindow
          Break
        Case #PB_Event_Gadget
          If EventGadget() = 0
            Select EventType()
              Case #PB_EventType_Change
                Value = ValD(GetGadgetText(0))
              Case 1
                Value + steps
                SetGadgetText(0, StrD(Value, 2))
              Case -1
                Value - steps
                SetGadgetText(0, StrD(Value, 2))
            EndSelect
          EndIf
      EndSelect
    ForEver
  EndIf
EndIf
Funktioniert einwandfrei auf'm Mac :D
Sogar die 'StrD'-Funktion arbeitet richtig, obwohl die laut Hilfe nur für Windows/Linux sein soll. :o

Re: [Linux] SpinGadget()-Bug

Verfasst: 27.06.2008 15:59
von Little John
NicTheQuick hat geschrieben:Hallo. Folgender Code funktioniert unter Windows einwandfrei, aber unter Linux passiert nichts, wenn ich auf die Pfeile klicke
Kann ich bestätigen (PB 4.20):
- geht unter Windows XP SP 3
- geht nicht unter Ubuntu 8.04

Gruß, Little John