Timer zur Laufzeit erstellen und Aufrufen

  • VB.NET

Es gibt 10 Antworten in diesem Thema. Der letzte Beitrag () ist von FloFuchs.

    Timer zur Laufzeit erstellen und Aufrufen

    Halli Hallo!

    Ich arbeite gerade an einer kleinen Scriptsprache für ein kleines Mini-Game.

    Das Script System funktioniert schon ganz gut, es ist z.B. möglich die Hitnergrundfarbe zu ändern, das Spielerbild, den Form Titel etc etc.

    Doch nun will ich per Script einen Timer erstellen können. Ich weis wie man einen Timer per Laufzeit erstellt. Doch nun zu meinem Problem:

    Per "For each line" wird eine Textbox Zeile für Zeile durchgegangen.

    VB.NET-Quellcode

    1. For each line in Textbox1.lines()
    2. If line.contains("CreateTimer:") then
    3. ' Erstelle Timer, Name = Split nach :
    4. End If
    5. Next


    Das realisieren des oberen Codes stellt ja kein Problem dar. Doch nun will ich den Timer über den Namen aufrufen (also zum beispiel den Interval ändern bzw. AddHandler), doch dieser ist ja nicht bekannt. Das ganze sollte später auch mit mehreren Timern funktionieren.

    Wie realisiere ich das?

    Danke!
    Vielen Dank!

    Hab mir das mal angesehen, doch ich werd nicht wirklich schlau daraus. Könntest du einen kleinen Besipielcode posten?

    D.h. ich bräuchte also eine möglichkeit einen Timer über einen String aufzurufen.


    Danke!

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „NoobCoder“ ()

    Was hilft ein Timer ohne das Tick-Event?

    VB.NET-Quellcode

    1. Public Class Form1
    2. Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
    3. Dim t As New Timer
    4. t.Interval = 1000
    5. AddHandler t.Tick, AddressOf Timer_Tick
    6. t.Start()
    7. End Sub
    8. Private Sub Timer_Tick(ByVal sender As Object, ByVal e As EventArgs)
    9. End Sub
    10. End Class
    Die Unendlichkeit ist weit. Vor allem gegen Ende. ?(
    Manche Menschen sind gar nicht dumm. Sie haben nur Pech beim Denken. 8o
    Natürlich?

    VB.NET-Quellcode

    1. Sub test()
    2. For i = 1 To 10
    3. Dim tmr As New Timer
    4. AddHandler tmr.Tick, AddressOf Timer_Tick
    5. Dim tmrName As String = "Timer" & i.ToString
    6. timerDic.Add(tmrName, tmr)
    7. Next
    8. timerDic("Timer2").Interval = 199
    9. timerDic("Timer9").Start()
    10. End Sub


    Dann die entsprechende Sub verwenden, hier also Timer_Tick.
    Als Argument wird hier ein sender-objekt rausgehauen das deinen Timer darstellt...