Einen Kalendermonat, in eine Stunde Spielzeit umwandeln...

  • VB.NET

Es gibt 27 Antworten in diesem Thema. Der letzte Beitrag () ist von RodFromGermany.

    VBHunter schrieb:

    Kann VB denn Dreisatz
    Fang an und lerne zu programmieren.
    =====
    @KingLM97 Deinen Post hat er mir gar nicht angezeigt gehabt.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Ich wusste das ich euch mit dem Satz ärgern kann :D ist doch klar das es das kann.

    PS: ich lerne ja ;)

    EDIT:
    So, jetzt hab ich es endlich hinbekommen vielen dank euch für die hilfreichen Tips !!!! :rolleyes:

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

    VBHunter schrieb:

    So, jetzt hab ich es endlich hinbekommen
    Lässt Du uns an Deiner Lösung teilhaben?
    Diese Problematik und deren Lösung wird sicher auch andere User interessieren.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Klar andere dürfen es sich von mir Kopieren ohne nachzudenken.... :D

    Das ist jetzt meine Methode()

    VB.NET-Quellcode

    1. If DateTime.DaysInMonth(SystemDatum.Year, SystemDatum.Month) = 31 Then
    2. If _Counter = 3480 Or _Counter = 3364 Or _Counter = 3248 Or _Counter = 3132 Or _Counter = 3016 Or _Counter = 2900 Or _Counter = 2784 Or _Counter = 2668 Or _Counter = 2552 Or _Counter = 2436 Or _Counter = 2340 Or _Counter = 2204 Or _Counter = 2088 Or _Counter = 1972 Or _Counter = 1856 Or _Counter = 1740 Or _Counter = 1624 Or _Counter = 1508 Or _Counter = 1392 Or _Counter = 1276 Or _Counter = 1160 Or _Counter = 1044 Or _Counter = 928 Or _Counter = 812 Or _Counter = 696 Or _Counter = 580 Or _Counter = 464 Or _Counter = 348 Or _Counter = 232 Or _Counter = 116 Then
    3. SystemDatum = DateAdd("d", 1, SystemDatum)
    4. SpielDatum.Text = SystemDatum.ToString("dd.MM.yyyy")
    5. End If
    6. ElseIf DateTime.DaysInMonth(SystemDatum.Year, SystemDatum.Month) = 30 Then
    7. If _Counter = 3480 Or _Counter = 3360 Or _Counter = 3240 Or _Counter = 3120 Or _Counter = 3000 Or _Counter = 2880 Or _Counter = 2760 Or _Counter = 2640 Or _Counter = 2520 Or _Counter = 2400 Or _Counter = 2280 Or _Counter = 2160 Or _Counter = 2040 Or _Counter = 1920 Or _Counter = 1800 Or _Counter = 1680 Or _Counter = 1560 Or _Counter = 1440 Or _Counter = 1320 Or _Counter = 1200 Or _Counter = 1080 Or _Counter = 960 Or _Counter = 840 Or _Counter = 720 Or _Counter = 600 Or _Counter = 480 Or _Counter = 360 Or _Counter = 240 Or _Counter = 120 Then
    8. SystemDatum = DateAdd("d", 1, SystemDatum)
    9. SpielDatum.Text = SystemDatum.ToString("dd.MM.yyyy")
    10. End If
    11. ElseIf DateTime.DaysInMonth(SystemDatum.Year, SystemDatum.Month) = 29 Then
    12. If _Counter = 3472 Or _Counter = 3348 Or _Counter = 3224 Or _Counter = 3100 Or _Counter = 2976 Or _Counter = 2852 Or _Counter = 2728 Or _Counter = 2604 Or _Counter = 2480 Or _Counter = 2356 Or _Counter = 2232 Or _Counter = 2108 Or _Counter = 1984 Or _Counter = 1860 Or _Counter = 1736 Or _Counter = 1612 Or _Counter = 1488 Or _Counter = 1364 Or _Counter = 1240 Or _Counter = 1116 Or _Counter = 992 Or _Counter = 868 Or _Counter = 744 Or _Counter = 620 Or _Counter = 496 Or _Counter = 372 Or _Counter = 248 Or _Counter = 124 Then
    13. SystemDatum = DateAdd("d", 1, SystemDatum)
    14. SpielDatum.Text = SystemDatum.ToString("dd.MM.yyyy")
    15. End If
    16. ElseIf DateTime.DaysInMonth(SystemDatum.Year, SystemDatum.Month) = 28 Then
    17. If _Counter = 3456 Or _Counter = 3328 Or _Counter = 3200 Or _Counter = 3072 Or _Counter = 2944 Or _Counter = 2816 Or _Counter = 2688 Or _Counter = 2560 Or _Counter = 2432 Or _Counter = 2304 Or _Counter = 2176 Or _Counter = 2048 Or _Counter = 1920 Or _Counter = 1792 Or _Counter = 1664 Or _Counter = 1536 Or _Counter = 1408 Or _Counter = 1280 Or _Counter = 1152 Or _Counter = 1024 Or _Counter = 896 Or _Counter = 768 Or _Counter = 640 Or _Counter = 512 Or _Counter = 384 Or _Counter = 256 Or _Counter = 128 Then
    18. SystemDatum = DateAdd("d", 1, SystemDatum)
    19. SpielDatum.Text = SystemDatum.ToString("dd.MM.yyyy")
    20. End If
    21. End If


    Und wenn der Stichtag anbricht (Abrechnung ist) dann:

    VB.NET-Quellcode

    1. If _Counter = 60 Then
    2. SystemDatum = DateAdd("d", 1, SystemDatum)
    3. SpielDatum.Text = SystemDatum.ToString("dd.MM.yyyy")
    4. End If


    Fertig !!!
    @VBHunter Was ist denn das für eine Wüstizität an Einzelwerten?
    Wo kommen diese Werte her?
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Mein Counter zählt ja Runter von 3600 Sek = 1 Stunde also sind das die Zahlen durch 31 oder 30 oder 29 oder 28 ... als If ... ich hätte sie auch gleich teilen können aber ich lerne ja und will schritte sehen wie ich zu was komme wenn ich nur scheibe geteilt durch weiß ich später vieleicht nicht mehr wo es her kommt .... :D
    @VBHunter Du hast meinen Post #19 offensichtlich nicht verstanden.
    Start => Du holst DateTime.Now
    Starte gleichzeitig eine StopWatch

    Zeitpunkt im Spiel:
    Lies die StopWatch aus
    Dim DatumSpiel = Start + New TimeSpan(StopWatch.Elapsed * DEIN_DEHNUNGHSFAKTOR)

    Da brauchst Du keine 28, 29, 30, 31.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!