Datenbank und Online-List

  • Hey Leute,
    ich möchte euch 'ne Frage stellen.
    Bei diesem Script:

    [autoit]

    #RequireAdmin

    [/autoit][autoit][/autoit][autoit]

    If Not FileExists(@ScriptDir & "\Datenbank") Then
    DirCreate(@ScriptDir &"\Datenbank")
    EndIf

    [/autoit][autoit][/autoit][autoit]

    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("LB-Tech Auswahl", 244, 139, 235, 139)
    $Button1 = GUICtrlCreateButton("LogIn", 16, 64, 97, 57)
    $Label1 = GUICtrlCreateLabel("Ich möchte zum :", 72, 16, 101, 20)
    GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
    $Button2 = GUICtrlCreateButton("Registrieren", 128, 64, 97, 57)
    GUISetState(@SW_SHOW)
    #endregion ### END Koda GUI section ###

    [/autoit][autoit][/autoit][autoit]

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button1
    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Anmelden", 242, 170, 235, 139)
    $Label1 = GUICtrlCreateLabel("Username", 16, 24, 52, 17)
    $Label2 = GUICtrlCreateLabel("Passwort", 16, 64, 47, 17)
    $Input1 = GUICtrlCreateInput("Input1", 80, 24, 145, 21)
    $Input2 = GUICtrlCreateInput("Input2", 80, 64, 145, 21)
    $Button1 = GUICtrlCreateButton("Anmelden", 16, 104, 211, 41)
    GUISetState(@SW_SHOW)
    #endregion ### END Koda GUI section ###

    [/autoit][autoit][/autoit][autoit]

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button1
    $user = GUICtrlRead($Input1)
    $pw = GUICtrlRead($Input2)
    If Not FileReadLine(@ScriptDir & "\Datenbank\" & $user & ".txt") = $pw Then
    MsgBox(16, "", "Inkorrekte Logindaten")
    ShellExecute(@ScriptFullPath)
    Exit
    Else
    MsgBox(0, "Anmelden erfolgreich", "Sie haben sich erfolgreich angemeldet und können nun die Programme von LB-Tech nutzen...")
    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("LB-Tech Vorführung", 259, 178, 235, 139)
    $Button1 = GUICtrlCreateButton("PC-Info-Tool", 16, 16, 107, 65)
    $Button2 = GUICtrlCreateButton("System-Verbesserung", 136, 16, 105, 65)
    $Button3 = GUICtrlCreateButton("Tutorials", 16, 96, 107, 65)
    $Button4 = GUICtrlCreateButton("Anderes", 136, 96, 107, 65)
    GUISetState(@SW_SHOW)
    #endregion ### END Koda GUI section ###

    [/autoit][autoit][/autoit][autoit]

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button1
    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    Run(@ComSpec & " /c " & 'systeminfo > ' & @TempDir & '\Systeminfos.txt', "", @SW_HIDE)

    [/autoit][autoit][/autoit][autoit]

    $volume = DriveGetLabel("C:\")
    $serial = DriveGetSerial("C:\")
    $total = DriveSpaceTotal("C:\")
    $free = DriveSpaceFree("C:\")

    [/autoit][autoit][/autoit][autoit]

    $Form1 = GUICreate("System-Information v2.0", 591, 325)
    $Label1 = GUICtrlCreateLabel("Computername", 24, 24, 75, 17)
    $Label2 = GUICtrlCreateLabel("Benutzername", 24, 56, 72, 17)
    $Label3 = GUICtrlCreateLabel("Betriebssystem", 24, 88, 74, 17)
    $Label4 = GUICtrlCreateLabel("Service Pack", 24, 120, 68, 17)
    $Label5 = GUICtrlCreateLabel("C: Datenträgerkennsatz", 24, 152, 116, 17)
    $Label6 = GUICtrlCreateLabel("C: Seriennummer", 24, 184, 84, 17)
    $Label7 = GUICtrlCreateLabel("C: Gesamtspeicher", 24, 216, 93, 17)
    $Label8 = GUICtrlCreateLabel("C: freier Speicher", 24, 248, 85, 17)
    $Label9 = GUICtrlCreateLabel("IP-Adresse", 312, 24, 55, 17)
    $Label10 = GUICtrlCreateLabel("Startverzeichnis", 312, 56, 79, 17)
    $Label11 = GUICtrlCreateLabel("Windowsverzeichnis", 312, 88, 101, 17)
    $Button1 = GUICtrlCreateButton("Passwörter der Benutzer verwalten", 16, 272, 187, 41)
    $Button2 = GUICtrlCreateButton("Check System", 208, 272, 187, 41)
    $Label12 = GUICtrlCreateLabel("Desktop-Verzeichis", 312, 120, 95, 17)
    $Label13 = GUICtrlCreateLabel("Desktop-Breite", 312, 152, 74, 17)
    $Label14 = GUICtrlCreateLabel("Desktop-Höhe", 312, 184, 73, 17)
    $Label15 = GUICtrlCreateLabel("Datum", 312, 216, 35, 17)
    $Label16 = GUICtrlCreateLabel("Uhrzeit", 312, 248, 37, 17)
    $Input1 = GUICtrlCreateInput("", 176, 16, 121, 21, BitOR($GUI_SS_DEFAULT_INPUT, $ES_READONLY))
    $Input2 = GUICtrlCreateInput("", 176, 48, 121, 21, BitOR($GUI_SS_DEFAULT_INPUT, $ES_READONLY))
    $Input3 = GUICtrlCreateInput("", 176, 80, 121, 21, BitOR($GUI_SS_DEFAULT_INPUT, $ES_READONLY))
    $Input4 = GUICtrlCreateInput("", 176, 112, 121, 21, BitOR($GUI_SS_DEFAULT_INPUT, $ES_READONLY))
    $Input5 = GUICtrlCreateInput("", 176, 144, 121, 21, BitOR($GUI_SS_DEFAULT_INPUT, $ES_READONLY))
    $Input6 = GUICtrlCreateInput("", 176, 176, 121, 21, BitOR($GUI_SS_DEFAULT_INPUT, $ES_READONLY))
    $Input7 = GUICtrlCreateInput("", 176, 208, 121, 21, BitOR($GUI_SS_DEFAULT_INPUT, $ES_READONLY))
    $Input8 = GUICtrlCreateInput("", 176, 240, 121, 21, BitOR($GUI_SS_DEFAULT_INPUT, $ES_READONLY))
    $Input9 = GUICtrlCreateInput("", 448, 16, 121, 21, BitOR($GUI_SS_DEFAULT_INPUT, $ES_READONLY))
    $Input10 = GUICtrlCreateInput("", 448, 48, 121, 21, BitOR($GUI_SS_DEFAULT_INPUT, $ES_READONLY))
    $Input11 = GUICtrlCreateInput("", 448, 80, 121, 21, BitOR($GUI_SS_DEFAULT_INPUT, $ES_READONLY))
    $Input12 = GUICtrlCreateInput("", 448, 112, 121, 21, BitOR($GUI_SS_DEFAULT_INPUT, $ES_READONLY))
    $Input13 = GUICtrlCreateInput("", 448, 144, 121, 21, BitOR($GUI_SS_DEFAULT_INPUT, $ES_READONLY))
    $Input14 = GUICtrlCreateInput("", 448, 176, 121, 21, BitOR($GUI_SS_DEFAULT_INPUT, $ES_READONLY))
    $Input15 = GUICtrlCreateInput("", 448, 208, 121, 21, BitOR($GUI_SS_DEFAULT_INPUT, $ES_READONLY))
    $Input16 = GUICtrlCreateInput("", 448, 240, 121, 21, BitOR($GUI_SS_DEFAULT_INPUT, $ES_READONLY))
    $Button3 = GUICtrlCreateButton("Erweitert", 400, 272, 185, 41)
    GUISetState(@SW_SHOW)

    [/autoit][autoit][/autoit][autoit][/autoit][autoit]

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    MsgBox(0, "Made by LB-T3ch", "Verbesserungen, Anregungen, oder Fehler an AutoIT.DE : lukasboy, Cheater Dieter")
    Exit
    Case $Button3
    SplashTextOn("Bitte warten...", "Erweiterte Infos werden gesammelt. Dies kann einige Zeit (bis zu einer halben Minute) dauern.")
    While 1
    If FileGetSize(@TempDir & "\Systeminfos.txt") <> 0 Then
    ExitLoop
    EndIf
    WEnd
    SplashOff()

    [/autoit][autoit][/autoit][autoit][/autoit][autoit]

    GUICreate("Erweiterte Infos", 615, 438)
    GUICtrlCreateEdit(FileRead(@TempDir & "\Systeminfos.txt"), 8, 8, 601, 361, BitOR($GUI_SS_DEFAULT_EDIT, $ES_READONLY))
    $testram = GUICtrlCreateButton("Arbeitsspeicher auf Fehler überprüfen", 8, 384, 203, 49)
    $derfag = GUICtrlCreateButton("Festplatte defragmentieren", 408, 384, 203, 49)
    GUISetState(@SW_SHOW)
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    ShellExecute(@ScriptFullPath)
    Exit
    Case $testram
    If @OSVersion = "WIN_7" Or @OSVersion = "WIN_VISTA" Then
    ShellExecute("MdSched.exe")
    Else
    MsgBox(16, "Error", "Du hast ein nicht geeignetes Betriebssystem für diesen Befehl...")
    EndIf
    Case $derfag
    If @OSVersion = "WIN_7" Or @OSVersion = "WIN_VISTA" Then
    ShellExecute("dfrgui.exe")
    Else
    ShellExecute("dfrg.msc")
    EndIf
    EndSwitch
    WEnd
    Case $Button1
    GUICreate("Passwort ändern", 370, 171)
    GUICtrlCreateLabel("Hier können Sie die Passwörter der einzelnen Benutzer ändern:", 8, 8, 302, 17)
    GUICtrlCreateLabel("Name des zu bearbeitenten Benutzerkontos (z.B. Heike):", 8, 32, 272, 17)
    $user = GUICtrlCreateInput(@UserName, 16, 48, 121, 21)
    GUICtrlCreateLabel("Neues Passwort (um das Passwort zu entfernen, bitte das Feld leer lassen):", 8, 88, 357, 17)
    $pw = GUICtrlCreateInput("", 16, 104, 121, 21)
    $ok = GUICtrlCreateButton("OK", 147, 136, 75, 25)
    GUISetState(@SW_SHOW)

    [/autoit][autoit][/autoit][autoit]

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    ShellExecute(@ScriptFullPath)
    Exit
    Case $ok
    $user = GUICtrlRead($user)
    $passwort = GUICtrlRead($pw)
    If $passwort = "" Then
    If MsgBox(1, "Änderrungen bestätigen", "Das Passwort des Benutzers '" & $user & "' wird nun entfernt.") = 1 Then Run(@ComSpec & " /c " & 'net user ' & $user & ' ' & $passwort, "", @SW_HIDE)
    Else
    If MsgBox(1, "Änderrungen bestätigen", "Das Passwort des Benutzers '" & $user & "' wird nun in '" & $passwort & "' geändert.") = 1 Then Run(@ComSpec & " /c " & 'net user ' & $user & ' ' & $passwort, "", @SW_HIDE)
    EndIf
    ShellExecute(@ScriptFullPath)
    Exit
    EndSwitch
    WEnd

    [/autoit][autoit][/autoit][autoit]

    Case $Button2
    GUICtrlSetData($Input1, "" & @ComputerName)
    GUICtrlSetData($Input2, "" & @UserName)
    GUICtrlSetData($Input3, "" & @OSType)
    GUICtrlSetData($Input4, "" & @OSServicePack)
    GUICtrlSetData($Input5, "" & $volume)
    GUICtrlSetData($Input6, "" & $serial)
    GUICtrlSetData($Input7, "" & $total)
    GUICtrlSetData($Input8, "" & $free)
    GUICtrlSetData($Input9, "" & @IPAddress1)
    GUICtrlSetData($Input10, "" & @StartupDir)
    GUICtrlSetData($Input11, "" & @WindowsDir)
    GUICtrlSetData($Input12, "" & @DesktopDir)
    GUICtrlSetData($Input13, "" & @DesktopWidth)
    GUICtrlSetData($Input14, "" & @DesktopHeight)
    GUICtrlSetData($Input15, "" & @MDAY & "." & @MON & "." & @YEAR)
    GUICtrlSetData($Input16, "" & @HOUR & ":" & @MIN & ":" & @SEC)
    EndSwitch
    WEnd
    Case $Button2

    [/autoit][autoit][/autoit][autoit]

    Case $Button3

    [/autoit][autoit][/autoit][autoit]

    Case $Button4
    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Anderes", 372, 187, 194, 123)
    $Button1 = GUICtrlCreateButton("Wecker", 8, 8, 115, 81)
    $Button2 = GUICtrlCreateButton("", 128, 8, 115, 81)
    $Button3 = GUICtrlCreateButton("", 248, 8, 115, 81)
    $Button4 = GUICtrlCreateButton("", 8, 96, 115, 81)
    $Button5 = GUICtrlCreateButton("", 128, 96, 115, 81)
    $Button6 = GUICtrlCreateButton("", 248, 96, 115, 81)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

    [/autoit][autoit][/autoit][autoit]

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button1
    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>

    [/autoit][autoit][/autoit][autoit][/autoit][autoit]

    Global $Stunde
    Global $Minute

    [/autoit][autoit][/autoit][autoit][/autoit][autoit]

    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Wecker", 252, 186, 201, 174)
    $Label1 = GUICtrlCreateLabel("Hier können Sie ihren Wecker stellen", 32, 16, 180, 17)
    $Label2 = GUICtrlCreateLabel("Stunde:", 16, 56, 41, 17)
    $Label3 = GUICtrlCreateLabel("Minute:", 16, 88, 39, 17)
    $Input1 = GUICtrlCreateInput("", 96, 56, 137, 21)
    $Input2 = GUICtrlCreateInput("", 96, 88, 137, 21)
    $Button1 = GUICtrlCreateButton("Wecker starten", 16, 128, 217, 41)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

    [/autoit][autoit][/autoit][autoit]

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button1
    $Stunde = GUICtrlRead($Input1)
    $Minute = GUICtrlRead($Input2)
    MsgBox(0,"Info","Sie haben ihren Wecker auf " & $Stunde & ":" & $Minute & "gestellt...")
    If $Stunde = "" Or $Minute = "" Then
    MsgBox(16,"","Fehlende Angaben")
    ContinueLoop
    EndIf
    EndSwitch
    If @Hour & @Min = $Stunde & $Minute Then
    MsgBox(0,"Wecker","Kling, kling")
    EndIf
    WEnd

    [/autoit][autoit][/autoit][autoit][/autoit][autoit]

    EndSwitch
    WEnd
    EndSwitch
    WEnd
    EndIf
    EndSwitch
    WEnd

    [/autoit][autoit][/autoit][autoit]

    Case $Button2
    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Registrieren", 244, 170, 235, 139)
    $Label1 = GUICtrlCreateLabel("Username", 16, 24, 52, 17)
    $Label2 = GUICtrlCreateLabel("Passwort", 16, 64, 47, 17)
    $Input1 = GUICtrlCreateInput("", 80, 24, 145, 21)
    $Input2 = GUICtrlCreateInput("", 80, 64, 145, 21)
    $Button1 = GUICtrlCreateButton("Registrieren", 16, 104, 211, 41)
    GUISetState(@SW_SHOW)
    #endregion ### END Koda GUI section ###

    [/autoit][autoit][/autoit][autoit]

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button1
    $usernew = GUICtrlRead($Input1)
    $pwnew = GUICtrlRead($Input2)
    If $pwnew = "" Or $usernew = "" Then
    MsgBox(16, "", "Fehlende Daten")
    ShellExecute(@ScriptFullPath)
    Exit
    EndIf

    [/autoit][autoit][/autoit][autoit]

    FileWrite(@ScriptDir & "\Datenbank\" & $usernew & ".txt", $pwnew & @CRLF & "Das ist nur für dich " & $usernew)
    MsgBox(0, "", "Sie haben sich erfolgreich registriert und können sich jetzt einloggen.")
    EndSwitch
    WEnd

    [/autoit][autoit][/autoit][autoit]

    EndSwitch
    WEnd

    [/autoit]


    Und zwar möchte ich das wenn man sich eingeloggt hat eine Online-Liste öffnet, wo man alle sieht die online sind... Kann auch sein, dass man nur sieht wie viele online sind...
    Nächste Frage. Ich möchte das sich den Admins extra Möglichkeiten bieten. Wie soll ich das machen... Und noch mal zu den Admins. Bei jedem einzelnem Benutzer wird eine Datenbank erstellt und wenn er sich registriert werden seine Daten in seiner Datenbank abgespeichert, ich möchte, dass sich aber auch alle Daten von jedem Benutzer in einer Admin-Datenbank abspeichert. Ideen??
    Freue mich auf zahlreiche Antworten :)

  • Hier sind zwei sehr gute Sachen dir die beim lernen von Autoit helfen werden:

    http://wiki.autoit.de/wiki/index.php/Tutorial
    https://autoit.de/index.php?page=Thread&amp;threadID=11898

    Für den Anfang sollltest mit etwas einfachem wie z.b. einem Taschenrechner anfangen um die Grundlagen zu lernen.

    Andy hat mir ein Schnitzel gebacken aber da war ein Raupi drauf und bevor Oscar das Bugfixen konnte kam Alina und gab mir ein AspirinJunkie.

  • Nicht wirklich. Du includest ein und sie selbe Datei mehrmals usw.

    Andy hat mir ein Schnitzel gebacken aber da war ein Raupi drauf und bevor Oscar das Bugfixen konnte kam Alina und gab mir ein AspirinJunkie.

  • Servous, lukasboy beschäftige dich wirklich erst mal mit den Grundlagen von Autoit und versuche dann ein Script zu erstellen

    ehrliche Meinung zu diesem Exemplar
    1. Aufbau des Skriptes ist schlimm.. ein Wunder dass es überhaupt lauffähig ist
    2. sehr viele unnötige Includes usw.. (includes immer am Scriptanfang und auch nur 1 mal) Download dir mal Organizeincludes für SciTE
    3. keinerlei Fehler werden abgefangen usw das Script hat im Grunde genommen überall Bugs usw..

    Gruß Marvin

  • Hi lucasboy. Das Script ist naja sagen wir mal durchwachsen. Der Code lässt sich noch extrem verbessern. Bei so einem Kudellmuddel blickt ja keiner mehr durch.Warum legst du die anderen Scripte nicht einfach extra bei und öffnest Sie dann per Shellexecute. Das ist für den Anfang bestimmt leichter. Was ich dir empfehlen würde: ieß mal die Wiki. Und mit dem neu gewonnenen Wissen versuchst du dann dein Programm zu perfektionieren. Konzentierere dich einfach nur auf dieses Programm und nicht auf 5 Projekte gleichzeitig.

    Was mir am Anfang auch geholfen hat: Ich habe mir Programme aus dem Forum genommen und habe versucht, sie ein Wenig zu verändern. Bringt echt was!

  • weiß der typ eigentlich, was includes sind?

    [ironie]Klar er ist doch der Top Programmierer der einen Ego-Shooter grade am machen ist und sowas wie in inlcudes sind doch dann eine klacks[/ironie]

    Andy hat mir ein Schnitzel gebacken aber da war ein Raupi drauf und bevor Oscar das Bugfixen konnte kam Alina und gab mir ein AspirinJunkie.