German Text Zeitabhängig ändern

M.R.

Member
Hallo zusammen.

Ich bin hier noch ein Neuling, und habe ein kleines Problem.
Ich möchte einen Text ausgeben, der sich in bestimmten Zeitintervallen automatisch ändern soll.
Aber genau das funktioniert bei mir nicht wirklich. Den Text ausgeben ist kein Problem, aber er läßt
sich nicht wieder ändern.

Als Label funktioniert das ja wohl sowieso nicht, aber auch als EditText klappt es bei mir irgendwie
auch nicht. Als INT mit x+1 jede Min geht's, aber nicht mit einem Text.

Wäre super wenn mir hier irgendjemand einen kleinen Tip geben könnte.

Danke schon mal in vorraus.
 

klaus

Expert
Licensed User
Longtime User
Ich möchte einen Text ausgeben, der sich in bestimmten Zeitintervallen automatisch ändern soll.
Es währe einfacher Dir zu antworten wenn Du uns Deinen Code als zip Datei schicken würdest (IDE Menü Files / Export As Zip).
Denn wir wissen nicht was Du wie gemacht hast.
Jetzt müssen wir versuchen heraus zu finden was Du falsch machen könntest und das wird ein Quiz.
Benuzt Du einen Timer ?
Wenn ja, wie ?
Denn mit einem Timer und in der Timer1_Click Routine man kann den Text mit Label1.Text = xxx ändern, also wo ist das Problem ?

Beste Grüsse.
 

M.R.

Member
Also ich möchte die Minuten einzeln anzeigen und zwar als Text.

Sub Process_Globals
Dim TagZeit As Long
TagZeit = DateTime.Now
DateTime.DateFormat = "dd/MM/yyyy"
DateTime.TimeFormat = "HH:mm:ss"
End Sub
Sub Globals
Dim Name As Label
Dim EditText1 As EditText

Dim Nummer As Int
Dim Minuten As EditText
Dim Min As String

End Sub
Sub Activity_Create(FirstTime As Boolean)
Activity.LoadLayout("Layout1") 'Load the layout file.
Nummer=1

EditText1.Text=Nummer
warten
End Sub
Sub Warten
Wait(60)
Wahl
End Sub
Sub Wahl
DateTime.TimeFormat = "mm"
If DateTime.Time(TagZeit) = "0" Then
Name.Text = "0 Minuten"
Min="0"

Else If DateTime.Time(TagZeit) = "1" Then
Name.Text = "1 Minute"
Min="1"

Else If DateTime.Time(TagZeit) = "2" Then

.
.
.

End If

Nummer=Nummer+1
EditText1.Text=Nummer

Minuten.Text=Min

Warten

End Sub
Sub Warten(Sekunden As Int)
Dim Ti As Long
Ti = DateTime.Now + (Sekunden * 1000)
Do While DateTime.Now < Ti
DoEvents
Loop
End Sub


Die Anzeige als Ziffer funktioniert auch, aber als Text ("1 Minute") bleibt immer beim Startwert stehen und aktualiesiert sich nicht.


Vieln Dank.
 

M.R.

Member
Wollte eigentlich auch eine Uhr anzeigen, die sich jede Minute aktualisiert, hat aber irgendwie auch nicht wirklich geklappt.
 

monki

Active Member
Licensed User
Longtime User
Hallo M.R
hier mal ein kleines Grundgerüst für dein Problem.(Geht auch mit Minutern .....)

Gruß monki

B4X:
Sub Process_Globals
    'These global variables will be declared once when the application starts.
    'These variables can be accessed from all modules.

End Sub
Sub Globals
    'These global variables will be redeclared each time the activity is created.
    'These variables can only be accessed from this module.
    Dim label1 As Label
    Dim timer1 As Timer
End Sub
Sub Activity_Create(FirstTime As Boolean)
    'Do not forget to load the layout file created with the visual designer. For example:
    'Activity.LoadLayout("Layout1")
label1.Initialize("")
Activity.AddView(label1,40%x,40%y,200dip,50dip)
timer1.Initialize("Timer1",1000)
timer1.Enabled=True
End Sub
Sub Activity_Resume
End Sub
Sub Activity_Pause (UserClosed As Boolean)
End Sub
Sub Timer1_Tick
label1.Text=DateTime.GetSecond(DateTime.Now)&" Sekunden"
End Sub
 

M.R.

Member
Vielen Dank.

Habe hier nun auch nochmal die Zip.

Ist wahrscheinlich absolut laienhaft programmiert.
 

Attachments

  • Minuten.zip
    8.8 KB · Views: 223
Top