Timer in Module?

  • VB.NET

Es gibt 11 Antworten in diesem Thema. Der letzte Beitrag () ist von Kagurame.

    Timer in Module?

    Hey,

    Für mein Programm hab ich nen Server geschaffen der momentan nicht mehr sagt auser:

    VB.NET-Quellcode

    1. Sub Main()
    2. Console.WriteLine("_____________________")
    3. Console.WriteLine("| C-AI Server |")
    4. Console.WriteLine("| |")
    5. Console.WriteLine("| |")
    6. Console.WriteLine("| |")
    7. Console.WriteLine("| made by |")
    8. Console.WriteLine("| C-AIG |")
    9. Console.WriteLine("_____________________")
    10. Console.WriteLine(" ")
    11. Console.WriteLine(" ")
    12. Console.WriteLine(" ")
    13. Console.WriteLine(" ")
    14. Console.WriteLine(" ")
    15. Console.WriteLine(" ")
    16. Console.WriteLine(" C-AI Server gestartet")
    17. Console.WriteLine(" ")
    18. Console.WriteLine(" ")
    19. Console.WriteLine(" ")
    20. Console.WriteLine(" ")
    21. Console.WriteLine("Do not Close the Server! Only the server close when you ride down the Computer")
    22. Console.ReadLine()
    23. End Sub


    Sprich nit viel :D

    So nun soll er aber alle 10 Sec. etwas schreiben. Nur wie mach ich den Timer?

    MFG
    Timer machen wir mal einfach mit:

    VB.NET-Quellcode

    1. Threading.Thread.Sleep(10000)
    2. GoTo a


    Das Kommt kurz vor dem ende
    und am anfang machst du einfach ein A:
    solle so aussehen: (Wenn ich dein ziel richtig verstanden hab...)

    VB.NET-Quellcode

    1. Sub Main()
    2. A: Console.WriteLine("_____________________")
    3. Console.WriteLine("| C-AI Server |")
    4. Console.WriteLine("| |")
    5. Console.WriteLine("| |")
    6. Console.WriteLine("| |")
    7. Console.WriteLine("| made by |")
    8. Console.WriteLine("| C-AIG |")
    9. Console.WriteLine("_____________________")
    10. Console.WriteLine(" ")
    11. Console.WriteLine(" ")
    12. Console.WriteLine(" ")
    13. Console.WriteLine(" ")
    14. Console.WriteLine(" ")
    15. Console.WriteLine(" ")
    16. Console.WriteLine(" C-AI Server gestartet")
    17. Console.WriteLine(" ")
    18. Console.WriteLine(" ")
    19. Console.WriteLine(" ")
    20. Console.WriteLine(" ")
    21. Console.WriteLine("Do not Close the Server! Only the server close when you ride down the Computer")
    22. Threading.Thread.Sleep(10000)
    23. GoTo A
    24. Console.ReadLine()
    25. End Sub


    des sollte es sein...

    mfg

    gfc
    Hahaha Pascal man, wir sind hier nicht bei Batch Programmierung. Goto suckt mal mega und hat in VB nichts zu suchen



    Mache es in einem externen Thread

    VB.NET-Quellcode

    1. Sub Main ()
    2. Dim T as new Thread ( addressof schreiben)
    3. T.Start
    4. End sub
    5. Private sub schreiben()
    6. Do
    7. 'Dein geschreibsel
    8. Thread.sleep(10000)
    9. Loop
    10. End sub


    Mfg Slayers
    Oder verweise auf und importiere System.Windows.Forms und verwende so einen Timer.
    Oder verwende:

    VB.NET-Quellcode

    1. Do
    2. 'Ausgabe
    3. System.Threading.Thread.Sleep(....)
    4. Loop

    Da die Sub Main() wohl in einem anderen Thread läuft als die Oberfläche lässt sich die Konsole problemlos auch wärend des Wartens herumziehen.
    "Luckily luh... luckily it wasn't poi-"
    -- Brady in Wonderland, 23. Februar 2015, 1:56
    Desktop Pinner | ApplicationSettings | OnUtils

    VB.NET-Quellcode

    1. Imports System.Threading
    2. Module Module1
    3. Dim T As New Thread(AddressOf schreiben)
    4. Sub Main()
    5. Console.WriteLine("_____________________")
    6. Console.WriteLine("| C-AI Server |")
    7. Console.WriteLine("| |")
    8. Console.WriteLine("| |")
    9. Console.WriteLine("| |")
    10. Console.WriteLine("| made by |")
    11. Console.WriteLine("| C-AIG |")
    12. Console.WriteLine("_____________________")
    13. Console.WriteLine(" ")
    14. Console.WriteLine(" ")
    15. Console.WriteLine(" ")
    16. Console.WriteLine(" ")
    17. Console.WriteLine(" ")
    18. Console.WriteLine(" ")
    19. Console.WriteLine(" C-AI Server gestartet")
    20. Console.WriteLine(" ")
    21. Console.WriteLine(" ")
    22. Console.WriteLine(" ")
    23. Console.WriteLine(" ")
    24. Console.WriteLine("Do not Close the Server! Only the server close when you ride down the Computer")
    25. Console.ReadLine()
    26. T.Start()
    27. End Sub
    28. Private Sub schreiben()
    29. Do
    30. Console.WriteLine(" The Server makes process for Client.")
    31. Thread.Sleep(10000)
    32. Loop
    33. End Sub
    34. End Module


    Funzen tut nichts sry


    VB.NET-Quellcode

    1. Imports System.Threading
    2. Module Module1
    3. Sub Main()
    4. Console.WriteLine("_____________________")
    5. Console.WriteLine("| C-AI Server |")
    6. Console.WriteLine("| |")
    7. Console.WriteLine("| |")
    8. Console.WriteLine("| |")
    9. Console.WriteLine("| made by |")
    10. Console.WriteLine("| C-AIG |")
    11. Console.WriteLine("_____________________")
    12. Console.WriteLine(" ")
    13. Console.WriteLine(" ")
    14. Console.WriteLine(" ")
    15. Console.WriteLine(" ")
    16. Console.WriteLine(" ")
    17. Console.WriteLine(" ")
    18. Console.WriteLine(" C-AI Server gestartet")
    19. Console.WriteLine(" ")
    20. Console.WriteLine(" ")
    21. Console.WriteLine(" ")
    22. Console.WriteLine(" ")
    23. Console.WriteLine("Do not Close the Server! Only the server close when you ride down the Computer")
    24. Console.ReadLine()
    25. Do
    26. Console.WriteLine(" The Server connect new to the Client.")
    27. Thread.Sleep(10000)
    28. Loop
    29. End Sub
    30. End Module


    geht übrigens au nit
    Er wartet bis man Enter drückt... vorher kommt er nie an den Loop.

    Setze das Console.ReadLine() direkt vor End Sub und es sollte Funktionieren...

    Aber wenn es dir so egal ist, oder auch nicht... solltest du überlegen ob du einen Server Programmierst... ;) Aber das überlasse ich voll und ganz dir... hast ja da nun eine Lösung.

    PS: wärend der Thread schläft, passiert in der Konsole nichts, also solltest du über einen neuen Thread nachdenken...