Argumente übergeben, Sub Main (byval...as...)

  • VB.NET

Es gibt 7 Antworten in diesem Thema. Der letzte Beitrag () ist von FuFu^^.

    Argumente übergeben, Sub Main (byval...as...)

    VB.NET-Quellcode

    1. Imports System.Console
    2. Module Module1
    3. Sub Main(ByVal Argumente() As String)
    4. Dim opt1, opt2, Ergebnis As Single
    5. ArgumenteCheck(Argumente)
    6. Ergebnis = Rechnen(Argumente)
    7. opt1 = Argumente(0)
    8. opt2 = Argumente(2)
    9. Writeline("Ergebnis: {0} {1} {2} = {3}", opt1, Argumente(1), opt2, Ergebnis)
    10. End Sub
    11. Sub ArgumenteCheck(ByVal Argumente() As String)
    12. If Argumente.Length > 3 Then
    13. WriteLine("Fehler: Zuviele Argumente!")
    14. End
    15. End If
    16. If Argumente.Length < 3 Then
    17. WriteLine("Fehler: Zuwenig Argumente!")
    18. End
    19. End If
    20. 'Fehlermeldung ob falscher Operator
    21. If Not Argumente(1) = "*" Then
    22. If Not Argumente(1) = "-" Then
    23. If Not Argumente(1) = "+" Then
    24. If Not Argumente(1) = "/" Then
    25. WriteLine("Fehler: {0} ist kein passender Operator!", Argumente(1))
    26. End
    27. End If
    28. End If
    29. End If
    30. End If
    31. End Sub
    32. Private Function Rechnen(ByVal Argumente() As String) As Single
    33. Dim Ergebnis, opt1, opt2 As Single
    34. opt1 = Argumente(0)
    35. opt2 = Argumente(2)
    36. If Argumente(1) = "*" Then
    37. Ergebnis = opt1 * opt2
    38. End If
    39. If Argumente(1) = "/" Then
    40. Ergebnis = opt1 / opt2
    41. End If
    42. If Argumente(1) = "-" Then
    43. Ergebnis = opt1 - opt2
    44. End If
    45. If Argumente(1) = "+" Then
    46. Ergebnis = opt1 + opt2
    47. End If
    48. Return Ergebnis
    49. End Function
    50. End Module



    Liebe Leute,

    ich habe hier folgendes Programm. Könntet ihr mir sagen, was ich falsch gemacht habe? WIe kann ich das Ergebnis übergeben? Er sagt immer, dass es ein Fehler ist, weil keine Argumente übergeben wurden.

    Danke im voraus
    Was gibt denn Dein Programm bei folgender Ergänzung aus:

    VB.NET-Quellcode

    1. Sub Main(ByVal Argumente() As String)
    2. For Each arg In Argumente
    3. Console.WriteLine(arg)
    4. Next
    5. Console.ReadKey()
    6. ' ...
    7. End Sub
    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!
    beim Debuggen die Argumente mitgeben wäre sinnvoll ;) Allerdings dann in der Form "6 + 7" (ohne " !) sonst erkennt dein Programm (wie es jetzt ist) die Zeichen als einen einzelnen Parameter.

    Vernünftiges Casten wäre übrigens auch hilfreich, wenn du mit Werten aus Strings rechnen willst.
    Google-Suche: "debugging arguments visual studio"

    stackoverflow schrieb:

    Try this:

    Right click your project in Solution Explorer and select Properties from the menu
    Go to Configuration Properties -> Debugging
    Set the Command Arguments in the property list.


    und bzgl. Casten
    msdn.microsoft.com/en-us/libra…tem.convert.tosingle.aspx


    hast du versucht dir selbst zu helfen, bevor du deinen letzten Post verfasst hast?
    Lernresistent?

    RodFromGermany schrieb:

    Was gibt denn Dein Programm bei folgender Ergänzung aus:

    VB.NET-Quellcode

    1. Sub Main(ByVal Argumente() As String)
    2. For Each arg In Argumente
    3. Console.WriteLine(arg)
    4. Next
    5. Console.ReadKey()
    6. ' ...
    7. End Sub
    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!