none
Timer während Laufzeit erstellen RRS feed

  • Frage

  • Hallo zusammen,

    kann ich mehrere Timer während der Laufzeit erstellen ?
    Habe google unsw. schon durch. ergibt aber nur müll als antwort.

    ich möchte mehrere timer erstellen, z.B. bei einem spiel. da ich nicht weis wieviele spieler mitspielen.....
    ich möchte mein wissen über VB einfach nur erweitern. also es betrifft kein wikliches programm.
    im allgemeinen währe es gut zu wissen wie man zur laufzeit Controls usw.. erzeugt.

    vielen dank 
    Samstag, 5. September 2009 07:37

Antworten

  • Hi
    Zu Frage 1:

    Array mit Timern aufbauen:

    Private timers(5) As Timer ' Platz für 6 Timer-Objekte

    For i = 0 To timers.GetUpperBound(0)
      timers(i) = New Timer
      timers(i).Eigenschaft = Eigenschaftswert
      AddHandler timers(i).Ereignis, AddressOf Ereignisroutine
    Next

    Zu Frage 2:
    für eine Warteschlange eigent sich z.B. ein Objekt vom Typ Queue(Of ...). Für die Elemente der Warteschlange kann man eigene Typen (=Klassen) nutzen, in denen beispielsweise die Zeitpunkte für die nächsten Unterbrechungen eingetargen werden.

    Der MSDN-Link zu Mukltithreading ist schon etwas für sehr Fortgeschrittene.

    --
    Peter
    Samstag, 5. September 2009 12:34

Alle Antworten

  • Instanziere mehrere Timer-Objekte mit entsprechenden Intervallen.

    Zuerst solltest du aber klären, welchen Timertyp du nutzen willst: Forms, System oder Thread. Schau dir dazu mal die Hilfe an.

    Ich würde mir aber anstelle mehrere Timer eine eigen Warteschlange erstellen und den Timer immer auf die Zeitdifferenz zum nächsten Ereignis einstellen. Das erfordert weniger Ressourcen.

    --
    Peter
    Samstag, 5. September 2009 09:24
  • Hallo Peter,
    (ist das hier so, per Du? Ich bin noch einer von früher, als es da noch gab Herr udn Frau und so..... Ich möchte halt niemandem auf die Füße treten.)

    wenn ich eine Forma habe, setze ich dort einen Timer rein. dem habe ich bisher folgen können.
    in der programmierung oder einstellungen kann ich dann die werte einstellen die ich benötige. wie z.B. Timer1.Intervall = .... usw..
    Dann kann ich z.B. einen Timer so selber bauen
    Dim myTimer As Timer
    und kann ihn dann auch so ansprecchen. myTimer.Start() usw....

    Frage1:
    Aber wie weise ich den Timer z.B. über
    For i = 1 To 10
    zu ?

    Frage2:
    Und wie bastelt man eine Warteschlange ?
    Gibt es irgendwo Beispiele.
    Wenn ich auf F1 Hilfe drücke kommen viele viele schöne sachen. Aber keinen ansatz wo ich anfangen soll. 
    Ich lerne aus Beispielen schneller als aus trockener literatur.

    danke
    Bernd 

    http://msdn.microsoft.com/de-de/library/bb979550.aspx
    ist das damit gemeint ?
    Samstag, 5. September 2009 10:29
  • Hi
    Zu Frage 1:

    Array mit Timern aufbauen:

    Private timers(5) As Timer ' Platz für 6 Timer-Objekte

    For i = 0 To timers.GetUpperBound(0)
      timers(i) = New Timer
      timers(i).Eigenschaft = Eigenschaftswert
      AddHandler timers(i).Ereignis, AddressOf Ereignisroutine
    Next

    Zu Frage 2:
    für eine Warteschlange eigent sich z.B. ein Objekt vom Typ Queue(Of ...). Für die Elemente der Warteschlange kann man eigene Typen (=Klassen) nutzen, in denen beispielsweise die Zeitpunkte für die nächsten Unterbrechungen eingetargen werden.

    Der MSDN-Link zu Mukltithreading ist schon etwas für sehr Fortgeschrittene.

    --
    Peter
    Samstag, 5. September 2009 12:34