VisualStudio2015 Benutzer Aktivieren/Deaktivieren Problem

  • VB.NET

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

    VisualStudio2015 Benutzer Aktivieren/Deaktivieren Problem

    Hi ich habe ein Problem mit diesem Code:

    Dim O As Boolean = False
    Dim I As Boolean = False

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

    Dim HHH As Integer
    TextBox1.Text = HHH
    If I = True Then
    Process.Start("c:\windows\system32\cmd.exe", "/c net user" & HHH & "active:yes")
    End If

    If O = True Then
    Process.Start("c:\windows\system32\cmd.exe", "/c net user" & HHH & "active:no")
    End If

    End Sub

    Ich will wenn (z.B. HHH = Test) das der Benutzer Test Aktiviert bzw. Deaktiviert wird

    Danke im Voraus
    Da fehlen Leerzeichen.

    Ausserdem verhindern die Booleans die Ausführung, falls sie nicht irgendwo anders auf True gesetzt werden.
    Im Übrigen bietet sich da eine Checkbox an statt 2 Booleans.

    Das ist aber die Krönung:

    NoName159 schrieb:

    Dim HHH As Integer
    TextBox1.Text = HHH
    Du solltest dich dringend über Datentypen informieren.
    Und : Option Strict On!!!


    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „petaod“ ()

    @petaod Jou.
    @NoName159 Willkommen im Forum. :thumbup:
    Leider ist es immer und immer und immer und immer und immer und immer wieder dasselbe, dass junge Kollegen einen Code zusammenkopieren und der Meinung sind, der Code müsse doch funktionieren.
    Wenn er das nicht tut, wird ggf. dem Forum beigetreten und dann ein Thread aufgemacht: Mein Code funktioniert nicht.
    NoName159: Du hast gerade einen der wichtigsten Grundsätze der Softwareentwicklung gelernt:
    Jede Zeile Code, die nicht getestet wurde, ist falsch.
    Offensichtlich weißt Du, wie die korrekte Syntax Deines Befehls aussehen muss.
    Warum kommst Du nicht auf die Idee, Dir den Befehl anzusehen, bevor Du ihn ausführst?
    Dazu ist es sinnvoll, das Kommando in eine String-Variable zu packen und einfach in einer MessageBox auszugeben.
    Besser jedoch ist, Du fängst gleich richtig mit dem Debuggen an. Gugst Du hier.
    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!

    Dizzy schrieb:

    nicht mehr vorkommt
    genügt Option Strict On.
    Leider sind die Default-Einstellungen des Studios so, dass sie dies explizit gestatten.
    Deswegen Empfohlene einstellungen für das studio.
    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 Nein. Die Frage war darauf bezogen, wie ich eine Variable bzw. eine String in diesen Command "einbaue" :

    ... net user String active:yes ...

    Und ja ich bin ein Anfänger und kennne mich nicht mit der Komplexität der Codes aus.
    Und ja ich habe im Internet nach einer Lösung gesucht weil ich in diesem Moment keinen Rat wusste.
    Deshalb habe ich mir hier erhofft eine Lösung zu finden die mir bei diesem Problem weiter hilft :|
    Eingebaut hast du ihn fast richtig.
    Warum's trotzdem nicht funktioniert, steht im allerersten Satz des ersten Antwortbeitrags.

    Und wie man selbst drauf kommt, steht im letzten Satz der zweiten Antwort.

    Alles andere sind gut gemeinte Ratschläge, die du trotzdem dringend befolgen solltest, um die vielen Stolperfallen zu vermeiden, die das Programmieren so bietet.
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --
    @NoName159 Vielleicht probierst Du Dir mal den Argument-String wie folgt zusammenzusetzen:

    VB.NET-Quellcode

    1. Dim argument As String
    2. Dim argument2 As String
    3. If I = True Then
    4. argument2 = "yes"
    5. Else
    6. argument2 = "no"
    7. End If
    8. argument = String.Format("/c net user {0} active:{1}", TextBox1.Text, argument2)
    9. MessageBox.Show(argument) ' Dies hier wäre Dein Freund gewesen
    10. Process.Start("c:\windows\system32\cmd.exe", argument)
    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!