Seite 1 von 2
Trackbargadget + stringgadget
Verfasst: 15.04.2006 12:37
von sen-me
Ich versuche ganze Zeit irgendwie die beiden zu verknüpfen.
Also ich will z.B. wenn ich in dem Feld was eingebe, dann will ich den Balken auf der eingegebenen Zahl setzen (automatisch) (ob die Zahl unw. gültig ist wird schon geprüft)
Das selbe spiel andersrum, wenn man den Balken bewegt, soll sich im StringGadget die Zahl auf der sich der Balken gerade befindet selbst einfügen. (Am besten die Zahl ändert sich schon bevor man den Balken wieder los lässt, ist abe rnicht zwingend)
Re: Trackbargadget + stringgadget
Verfasst: 15.04.2006 13:07
von Kiffi
versuch's mal hiermit:
Code: Alles auswählen
Enumeration
#Window
#StringGadget
#Trackbar
EndEnumeration
If OpenWindow(#Window, 0, 0, 320, 100, "TrackBarGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
If CreateGadgetList(WindowID(#Window))
StringGadget (#StringGadget, 10, 20, 250, 20,"0")
TrackBarGadget(#Trackbar, 10, 40, 250, 20, 0, 10000)
Repeat
WWE = WaitWindowEvent()
EG = EventGadget()
Select WWE
Case #PB_Event_Gadget
Select EG
Case #Trackbar
SetGadgetText(#StringGadget, Str(GetGadgetState(#Trackbar)))
Case #StringGadget
SetGadgetState(#Trackbar, Val(GetGadgetText(#StringGadget)))
EndSelect
EndSelect
Until WWE = #PB_Event_CloseWindow
EndIf
EndIf
Grüße ... Kiffi
Verfasst: 15.04.2006 13:24
von uweb
Code: Alles auswählen
#Min = 0
#Max = 100
If OpenWindow(0,0,0,320,200,"TrackBarGadget",#PB_Window_SystemMenu|#PB_Window_ScreenCentered) And CreateGadgetList(WindowID(0))
StringGadget (0, 10, 20,250, 20,"TrackBar Standard",#PB_Text_Center)
TrackBarGadget(1, 10, 40,250,40,#Min,#Max)
SetGadgetState(1, 50)
Repeat
Event = WaitWindowEvent()
Select Event
Case #PB_Event_Gadget
Select EventGadget()
Case 0
If EventType() = #PB_EventType_Change
text.s = GetGadgetText(0)
x = Val(Text)
If x < #Min : x = #Min : ElseIf x > #Max : x = #Max : EndIf
If x <> Wert : Wert = x : SetGadgetState(1, Wert) : EndIf
EndIf
Case 1
Wert = GetGadgetState(1)
SetGadgetText(0, Str(Wert))
EndSelect
EndSelect
Until Event = #PB_Event_CloseWindow
EndIf
Meinst Du in etwa das ?
edit :
Man sollte eben doch vor dem senden schauen was sich in der Zwischenzeit getan hat.

Sonst sehen die Leute wie lange man sich mit so etwas aufhält.
Verfasst: 15.04.2006 18:37
von sen-me
thx, aber da sind 2 Fehler drin O.o
1. Titel ist mit Flag vertauscht
2. Heist es EventGadgetID()
aba vll is das auch für PB4 gewesen?
Verfasst: 15.04.2006 18:43
von Macros
Genau, da stimmt der Code so,
man lernt wenn man PB 4 zu 3.94 konvertieren muss

Verfasst: 15.04.2006 18:43
von uweb
Ist es tatsächlich.
Verfasst: 15.04.2006 18:44
von vonTurnundTaxis
sen-me hat geschrieben:aba vll is das auch für PB4 gewesen?
Ja.
//Nachtrag:
Interessant: Drei verschiedene Antworten auf die selbe Frage

Verfasst: 15.04.2006 18:46
von sen-me
gibt es eigtl. ein gegenteil zu Hex()?
also hex -> value ?
Verfasst: 15.04.2006 18:50
von Macros
Interessant ja, vor allem, weil die immer kürzer wurden
sen-me, so einen Befehl gibt es Standartmäßig nicht,
aber in Droopy´s Lib Hex2Dec()
Verfasst: 15.04.2006 18:50
von vonTurnundTaxis
Code: Alles auswählen
; English forum: http://purebasic.myforums.net/viewtopic.php?t=8597&highlight=
; Author: darklordz
; Date: 06. December 2003
Procedure.l _Hex2Dec(hex.s)
For r=1 To Len(hex.s)
d<<4 : a.s=Mid(hex.s,r,1)
If Asc(a.s)>60
d+Asc(a.s)-55
Else
d+Asc(a.s)-48
EndIf
Next
ProcedureReturn d
EndProcedure
Soetwas?
//Nachtrag:
Schon wieder zwei Antworten.
Und ich bin wieder der Letzte... Langsam wird das unheimlich.