German Wheel mit 15,30 und 45 Minuten

Metall4You

Member
Licensed User
Longtime User
Guten Tag zusammen

Möchte mit folgendem Code:

WheelContent(1).Initialize
WheelContentNb(1) = 4
For j = 1 To 1'WheelContinus
WheelContent(1).Add(NumberFormat(0, 2, 0))
For i = 15 To 59 Step 15
Log(i)
WheelContent(1).Add(NumberFormat(i, 2, 0))
Next
Next

nur diese Zeiten anzeigen im Wheel, jedoch beim Scrollen bleibt er immer
bei Minute 45 stehen.

Kann mir jemanden weiter helfen?

Danke und Gruss

Ramon
 

Metall4You

Member
Licensed User
Longtime User
Wheel

Das ist die Lösung

WheelContent(1).Initialize
WheelContentNb(1) = 45
For j = 1 To WheelContinus-1
WheelContent(1).Add(NumberFormat(0, 2, 0))
For i = 15 To 59 Step 15
Log(i)
WheelContent(1).Add(NumberFormat(i, 2, 0))
Next
Next

WheelContinus=0

If WheelContinus = 0 Then
For i = 0 To WheelNb - 1
WheelContentNb(i) = 0
Next
End If

gruess Ramon
 

klaus

Expert
Licensed User
Longtime User
Ich nehme an dass Du von der ClsWheel Class sprichst.
Im Tiltel schreibst Du dass Du 15, 30 und 45 anzeigen willst.
Im Code ist es aber 0, 15, 30 und 45 ?
Versuchst Du WheelContent() und WheelContentNb im Class Modul zu ändern ? Das brauchst Du nicht.
Der Scrollalgorithmus hängt vorne und hinten die gleichen Daten an.
Wenn es nur wenige Daten sind und man schnell scrollt bleibt es bei dem letzen Eintrag hängen.

Der beiliegende Code funktioniert !
B4X:
Sub Globals
    Dim whlQuarterHour As ClsWheel
    Dim lblQuarterHour As Label
End Sub

Sub Activity_Create(FirstTime As Boolean)
    lblQuarterHour.Initialize("")
    Activity.AddView(lblQuarterHour, 10dip, 20dip, 100dip, 50dip)
    
    Dim lstData(1) As List
    lstData(0).Initialize
'    lstData(0).AddAll(Array As String(" 0", "15", "30", "45"))
    lstData(0).AddAll(Array As String(" 0", "15", "30", "45"," 0", "15", "30", "45", " 0", "15", "30", "45"))
    whlQuarterHour.Initialize(Me, Activity, "Viertelstunde eingeben", 1, lstData, 24, 4, True)
    whlQuarterHour.Show(lblQuarterHour, "")
End Sub
Beste Grüsse.
 

Attachments

  • QuaterHourWheel.zip
    12.1 KB · Views: 174

Metall4You

Member
Licensed User
Longtime User
Wheel

Hallo Klaus

Ja genau das meine ich, funktioniert bestens, Danke
Brauche aber noch die Stunden zur Auswahl im selben Wheel.

Wie kann ich das anhängen?

Dim lstData(2) As List
lstData(0).Initialize
lstData(1).Initialize

For i=1 To 24
lstData(0).Add(i)
Next

lstData(1).AddAll(Array As String("00", "15", "30", "45"," 0", "15", "30", "45", " 0", "15", "30", "45"))
whlQuarterHour.Initialize(Me, Activity, "Viertelstunde eingeben", 2, lstData, 24, 4, True)
whlQuarterHour.Show(lblQuarterHour, "10:15")

Scrollt aber nicht automatisch auf "10:15"

Gruess aus der Schweiz

Ramon
 
Last edited:

klaus

Expert
Licensed User
Longtime User
Ersetze Zeile
B4X:
lstData(0).Add(i)
durch
B4X:
lstData(0).Add(NumberFormat(i,1,0))
Das Problem ist dass mit List.Add ein Objekt angefügt wird, das heisst in deinem Fall ein Int Objekt und kein String Objekt.
Mit NumberFormat(i,1,0) wird ein String Objek übergeben das dann als solches erkannt wird.

Du musst dann noch den SeparationText angeben.
B4X:
whlQuarterHour.SeparationText = ":"
Hier der komplette Code
B4X:
Sub Activity_Create(FirstTime As Boolean)
    lblQuarterHour.Initialize("")
    Activity.AddView(lblQuarterHour, 10dip, 20dip, 100dip, 50dip)
    
    Dim lstData(2) As List
    lstData(0).Initialize
    For i = 1 To 24
        lstData(0).Add(NumberFormat(i,1,0))
    Next
    
    lstData(1).Initialize
    lstData(1).AddAll(Array As String(" 0", "15", "30", "45"," 0", "15", "30", "45", " 0", "15", "30", "45"))
    whlQuarterHour.Initialize(Me, Activity, "Viertelstunde eingeben", 2, lstData, 24, 4, True)
    whlQuarterHour.SeparationText = ":"
    whlQuarterHour.Show(lblQuarterHour, "15:15")
End Sub
Beste Grüsse.
 

Metall4You

Member
Licensed User
Longtime User
Wheel

Guten Abend Klaus

Danke für den Code, habe es jedoch nicht hinbekommen.

Habe whlQuarterHour.SeparationText = ":" am Schluss angehängt, das war der Fehler, geändert jetzt läufts einwandfrei!!!

Super, danke für deine Bemühungen

Gruess Ramon
 
Last edited:
Top