einen Befehl deklarieren und diesen mit Zusätzen aufrufen

  • VB.NET
  • .NET (FX) 4.0

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

    einen Befehl deklarieren und diesen mit Zusätzen aufrufen

    Hallo,

    ich bin neu in der Programmiererei und habe es mir bisher alles selbst bei gebracht. Nun habe ich eine kleine Frage um mir vielleicht viel Arbeit zusparen.

    Ich habe einen Befehl zum Beispiel "ipconfig" hier zu kann man ja diverse Zusätze machen wie "/all" oder "/renew".
    Nun habe ich mir überlegt den Befehl "ipconfig" am Anfang zu deklarieren zum Beispiel als "Tool" und wenn ich dann in der Funktion des Buttons nur noch "Tool" "/all" aufrufe und in einem anderen Button "Tool" "/renew".

    Ich bin aber leider nicht ganz sicher, wie ich das Bewerkstelligen soll. also wie ich das "ipconfig" deklariere am Anfang und dann in einem Button mit dem Zusatz aufrufen soll!? Ich hoffe ihr könnt mir vielleicht helfen.

    Ipconfig ist hier nur ein Beispiel. es gibt noch mehr Programme bei welchen mit Zusatzbefehlen gewisse Dinge startet oder ändert.
    Ich habe absolut nix verstanden. In .NET gibt es keine Befehle, also was genau meinst Du?

    Edit: Achso, du willst was starten. Ja, dann gib die Argumente als zweiten Parameter der Process.Start-Methode an.
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:
    ok danke.
    Die Methode Process.Start kannt ich schon.

    Nehmen wir an, ich habe auf meiner Form 10 Buttons. Jeder Button soll "ipconfig" aufrufen. Beim ersten Button wird zusätzlich "/all" angehängt. Beim zweiten Button wird aber zusätzlich "/renew" aufgerufen. usw.

    Deshalb dachte ich mir, anstatt jedes mal " Process.Start("ipconfig" " aufzurufen, dieses in dem Formload zu deklarieren und dann dies vielleicht aufrufen kann in jeden Button!?

    zauber777 schrieb:

    Jeder Button soll "ipconfig" aufrufen.
    Dann schreibst Du bei jedem Button den entsprechenden Befehl rein.

    Artentus schrieb:

    VB.NET-Quellcode

    1. Process.Start("ipconfig", "/XXX")
    Du kannst natürlich die Kommandozeilenparameter in ein Array aufnehmen und dann per String-Verknüpfung den Befehl zusammensetzen. Alles weitere würde jedoch Dein Programm unnötig verkomplizieren.
    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!
    Nein, geht nicht. Du könntest dir theoretisch so eine Funktion hier schreiben

    VB.NET-Quellcode

    1. Public Sub StartIpconfig(parameter As String)
    2. Process.Start("ipconfig", parameter)
    3. End Sub
    und die dann so aufrufen

    VB.NET-Quellcode

    1. StartIpconfig("/all")
    2. StartIpconfig("/renew")
    aber das würde dir wohl nicht viel bringen.
    Präprozessordirektiven wie unter C++ gibt es in .Net nicht.
    Vielleicht verstehe ich dich falsch..
    aber du kannst doch beim Start 1x eine Variable machen, wo dein "config" drinnen steht, oder halt ein anderes Programm..
    und soäter bei den Buttons dann nur den Zusatz dazunehmen.

    VB.NET-Quellcode

    1. Private Sub bt_RunMe_Click(sender As System.Object, e As System.EventArgs) Handles bt_RunMe.Click
    2. RunProgramm("/all") ' Pro button einen anderen Parameter
    3. End Sub
    4. Private Sub RunProgramm(ZusatzParameter As String)
    5. Dim ZustartendesProgramm As String = "ipconfig,exe" ' das hier später woanders hin
    6. Dim prStart As New ProcessStartInfo
    7. prStart.FileName = ZustartendesProgramm
    8. prStart.Arguments = ZusatzParameter
    9. Process.Start(prStart)
    10. End Sub