Programm (Download+Update Check+PhP/Mysql Login) grundbasis

  • Hallo Forum , ich wollte mir eine Update Funktion bauen für mein richtiges Programm, ich bin nun fast fertig.
    Da habe ich aber noch ein paar Fragen ...
    1.Die MsgBox schaut komisch aus, wenn die Version gleich ist.
    2.Könnte man wenn auf auf "download" klickt und sich die Homepage öffnet und die bestimmte Apfel3.15b.exe runterläd, dass sich vom Programm aus selber ein Processfenster öffnet, wo der fortschritt von dieser bestimmten datei angezeigt wird.

    Hier ist der aktuelle Code.
    Update1:


    Um den wert zu ändern einfach das ändern:

    [autoit]

    $vVersion = "3.15b"

    [/autoit]


    Das könnte ich natürlich auch online ändern ^^

    Spoiler anzeigen
    [autoit]

    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <INet.au3>

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

    HotKeySet("{END}", "_exit")
    $INI = @ScriptDir & "\Data.ini"

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

    Global $_MD5Opcode = "0xC85800005356576A006A006A008D45A850E8280000006A00FF750CFF75088D45A850E8440000006A006A008D45A850FF7510E8710700005F5E5BC9C210005589E58B4D0831C0894114894110C70101234567C7410489ABCDEFC74108FEDCBA98C7410C765432105DC21000C80C0000538B5D088B4310C1E80383E03F8945F88B4510C1E0030143103943107303FF43148B4510C1E81D0143146A40582B45F88945F4394510724550FF750C8B45F88D44031850E8A00700008D43185053E84E0000008B45F48945FC8B45FC83C03F39451076138B450C0345FC5053E8300000008345FC40EBE28365F800EB048365FC008B45102B45FC508B450C0345FC508B45F88D44031850E84D0700005BC9C21000C84000005356576A40FF750C8D45C050E8330700008B45088B088B50048B70088B780C89D021F089D3F7D321FB09D801C1034DC081C178A46AD7C1C10701D189C821D089CBF7D321F309D801C7037DC481C756B7C7E8C1C70C01CF89F821C889FBF7D321D309D801C60375C881C6DB702024C1C61101FE89F021F889F3F7D321CB09D801C20355CC81C2EECEBDC1C1C21601F289D021F089D3F7D321FB09D801C1034DD081C1AF0F7CF5C1C10701D189C821D089CBF7D321F309D801C7037DD481C72AC68747C1C70C01CF89F821C889FBF7D321D309D801C60375D881C6134630A8C1C61101FE89F021F889F3F7D321CB09D801C20355DC81C2019546FDC1C21601F289D021F089D3F7D321FB09D801C1034DE081C1D8988069C1C10701D189C821D089CBF7D321F309D801C7037DE481C7AFF7448BC1C70C01CF89F821C889FBF7D321D309D801C60375E881C6B15BFFFFC1C61101FE89F021F889F3F7D321CB09D801C20355EC81C2BED75C89C1C21601F289D021F089D3F7D321FB09D801C1034DF081C12211906BC1C10701D189C821D089CBF7D321F309D801C7037DF481C7937198FDC1C70C01CF89F821C889FBF7D321D309D801C60375F881C68E4379A6C1C61101FE89F021F889F3F7D321CB09D801C20355FC81C22108B449C1C21601F289D021F889FBF7D321F309D801C1034DC481C162251EF6C1C10501D189C821F089F3F7D321D309D801C7037DD881C740B340C0C1C70901CF89F821D089D3F7D321CB09D801C60375EC81C6515A5E26C1C60E01FE89F021C889CBF7D321FB09D801C20355C081C2AAC7B6E9C1C21401F289D021F889FBF7D321F309D801C1034DD481C15D102FD6C1C10501D189C821F089F3F7D321D309D801C7037DE881C753144402C1C70901CF89F821D089D3F7D321CB09D801C60375FC81C681E6A1D8C1C60E01FE89F021C889CBF7D321FB09D801C20355D081C2C8FBD3E7C1C21401F289D021F889FBF7D321F309D801C1034DE481C1E6CDE121C1C10501D189C821F089F3F7D321D309D801C7037D"
    $_MD5Opcode &= "F881C7D60737C3C1C70901CF89F821D089D3F7D321CB09D801C60375CC81C6870DD5F4C1C60E01FE89F021C889CBF7D321FB09D801C20355E081C2ED145A45C1C21401F289D021F889FBF7D321F309D801C1034DF481C105E9E3A9C1C10501D189C821F089F3F7D321D309D801C7037DC881C7F8A3EFFCC1C70901CF89F821D089D3F7D321CB09D801C60375DC81C6D9026F67C1C60E01FE89F021C889CBF7D321FB09D801C20355F081C28A4C2A8DC1C21401F289D031F031F801C1034DD481C14239FAFFC1C10401D189C831D031F001C7037DE081C781F67187C1C70B01CF89F831C831D001C60375EC81C622619D6DC1C61001FE89F031F831C801C20355F881C20C38E5FDC1C21701F289D031F031F801C1034DC481C144EABEA4C1C10401D189C831D031F001C7037DD081C7A9CFDE4BC1C70B01CF89F831C831D001C60375DC81C6604BBBF6C1C61001FE89F031F831C801C20355E881C270BCBFBEC1C21701F289D031F031F801C1034DF481C1C67E9B28C1C10401D189C831D031F001C7037DC081C7FA27A1EAC1C70B01CF89F831C831D001C60375CC81C68530EFD4C1C61001FE89F031F831C801C20355D881C2051D8804C1C21701F289D031F031F801C1034DE481C139D0D4D9C1C10401D189C831D031F001C7037DF081C7E599DBE6C1C70B01CF89F831C831D001C60375FC81C6F87CA21FC1C61001FE89F031F831C801C20355C881C26556ACC4C1C21701F289F8F7D009D031F001C1034DC081C1442229F4C1C10601D189F0F7D009C831D001C7037DDC81C797FF2A43C1C70A01CF89D0F7D009F831C801C60375F881C6A72394ABC1C60F01FE89C8F7D009F031F801C20355D481C239A093FCC1C21501F289F8F7D009D031F001C1034DF081C1C3595B65C1C10601D189F0F7D009C831D001C7037DCC81C792CC0C8FC1C70A01CF89D0F7D009F831C801C60375E881C67DF4EFFFC1C60F01FE89C8F7D009F031F801C20355C481C2D15D8485C1C21501F289F8F7D009D031F001C1034DE081C14F7EA86FC1C10601D189F0F7D009C831D001C7037DFC81C7E0E62CFEC1C70A01CF89D0F7D009F831C801C60375D881C6144301A3C1C60F01FE89C8F7D009F031F801C20355F481C2A111084EC1C21501F289F8F7D009D031F001C1034DD081C1827E53F7C1C10601D189F0F7D009C831D001C7037DEC81C735F23ABDC1C70A01CF89D0F7D009F831C801C60375C881C6BBD2D72AC1C60F01FE89C8F7D009F031F801C20355E481C291D386EBC1C21501F28B4508010801500401700801780C5F5E5BC9C20800C814000053E840000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008F45EC8B5D0C6A088D4310508D"
    $_MD5Opcode &= "45F850E8510000008B4310C1E80383E03F8945F483F838730B6A38582B45F48945F0EB096A78582B45F48945F0FF75F0FF75ECFF750CE831F8FFFF6A088D45F850FF750CE823F8FFFF6A1053FF7508E8050000005BC9C210005589E55156578B7D088B750C8B4D10FCF3A45F5E595DC20C00"

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

    Const $vUpdateServer = "sch0k0neger.de"
    Const $vScriptFile = "http://www.sch0k0neger.de/version.txt"
    Const $vChangelogFile = "http://www.sch0k0neger.de/changelog_en.txt"
    Const $vUnrarDLL = "http://www.sch0k0neger.de/unrar.dll"
    Const $vMapFiles = "http://www.sch0k0neger.de/TheFranky.rar"

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

    Const $vMapFilesArray[1][2] = [ _ ;Contains information about the mapfiles ( $Array[x][0] = Filename, $Array[x][1] = Filesize)
    ["Read_Me_!.txt", 69]];, _
    ;["exit.ico", 94208], _
    ;["Settings.ico", 432260], _
    ;["Rubik-Pocket-Cube.ico", 372532]]

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

    $vVersion = "3.15b"
    $vGUIColor = 0x161616
    $vGUIColor2 = 0x161616
    Dim $hGUIListChangelog

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

    If IniRead(@ScriptDir & "\Data.ini", "Settings", "Check", 1) = 1 And _SM_Check4MapFiles() = 1 Then
    $hGUI = GUICreate("Files", 300, 210)
    GUICtrlCreateLabel("Some Files might be missing or damaged. The minimap and big map in SApfel Manager will only work if the latest Files are installed. Therefore create a folder 'Files' and put the mappics into it." & @CRLF & "You can either download the mapfiles by yourself (visit http://sch0k0neger.de) or SApfel Manager will install the Files for you. If you click on Yes, SApfel Manager will download and install the Files." & @CRLF & @CRLF & "Auto install the Files?", 10, 10, 280, 140)
    $hCheckBoxMsg = GUICtrlCreateCheckbox("Never show this message again! (Not recommended)", 10, 150)
    $hButtonYes = GUICtrlCreateButton("Yes", 30, 175, 90)
    $hButtonNo = GUICtrlCreateButton("No", 180, 175, 90)
    WinSetOnTop($hGUI, "", 1)
    GUISetState()

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

    While 1
    Switch GUIGetMsg()
    Case -3
    Exit
    Case $hButtonNo
    If GUICtrlRead($hCheckBoxMsg) = 1 Then IniWrite(@ScriptDir & "\Data.ini", "Settings", "Check", 0)
    GUIDelete()
    ExitLoop
    Case $hButtonYes
    If GUICtrlRead($hCheckBoxMsg) = 1 Then IniWrite(@ScriptDir & "\Data.ini", "Settings", "Check", 0)
    GUISetState(@SW_HIDE, $hGUI)
    _SM_MapFilesInstall()
    GUIDelete($hGUI)
    ExitLoop
    EndSwitch
    WEnd
    EndIf

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

    Opt("GUIResizeMode", 802)
    Opt("WinTitleMatchMode", 2)
    Opt("TrayMenuMode", 1)
    Opt("TrayOnEventMode", 1)

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

    $runwindoof = IniRead($INI, "Windows", "Run", "")

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

    $ontop = IniRead($INI, "Window", "OnTop", "")

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

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

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

    If Not FileExists($INI) Then
    IniWrite($INI, "Default", "Titel", "(C) The-Franky 2009 - 2010")
    EndIf

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

    If @Compiled = 0 Then
    TraySetIcon("Rubik-Pocket-Cube.ico")
    EndIf

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

    TraySetToolTip($vVersion)

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

    $BOLTEST = False
    $FORM1 = GUICreate("" & $vVersion & " - by Franky", 195, 15, -1, -1, $WS_POPUP, 0)
    GUISetBkColor(16777215)

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

    $Progress1 = GUICtrlCreateProgress(-1, -1, 198, 17)

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

    GUISetState(@SW_SHOW)
    For $i = 0 To 100 Step 5
    Sleep(60)
    GUICtrlSetData($Progress1, $i)

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

    Next
    ProgressOff()
    GUISetState(@SW_HIDE)

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

    ;=======================================================================================================

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

    $FORM2 = GUICreate("(C) " & $vVersion & "", 300, 125, -1, -1, $WS_POPUP + $WS_SIZEBOX + $WS_EX_TOOLWINDOW + $WS_EX_TOPMOST + $WS_EX_WINDOWEDGE + $WS_EX_TOPMOST + $WS_VISIBLE + $WS_CLIPSIBLINGS)

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

    ;====================================================

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

    $Info = GUICtrlCreateButton("F.A.Q", 260, 75, 35, 30, $BS_ICON)
    GUICtrlSetImage(-1, @ScriptDir & "\Settings.ico", 1)

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

    ;====================================================;====================================================

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

    GUISetFont(8, 800, 0, "MS Sans Serif")
    GUICtrlCreateLabel("Benutzername", 25, 14, 84, 17)
    GUICtrlCreateLabel("Passwort", 53, 38, 55, 17)
    $hInput_Benutzername = GUICtrlCreateInput("", 112, 12, 137, 21)
    $hInput_Passwort = GUICtrlCreateInput("", 112, 36, 137, 21)
    $hButton_Login = GUICtrlCreateButton("Login", 112, 72, 137, 33, $BS_DEFPUSHBUTTON)
    $hButton_Registrieren = GUICtrlCreateButton("Registrieren", 24, 72, 89, 33, 0)
    $Exit = GUICtrlCreateButton("Exit", 270, 0, 35, 30, $BS_ICON)
    GUICtrlSetImage(-1, @ScriptDir & "\exit.ico", 1)

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

    ;====================================================
    GUISetState(@SW_SHOW)

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

    #region UpdateGUI
    ;UpdateGUI
    $vGUIStandartHeight = 290
    $vGUILargeHeight = $vGUIStandartHeight + 327
    $vGUIStandartWidth = 778
    $vGUIColor = 0x161616 ;Label of BigMap needs to be changed manually (GUIFuncs.au3, Function: _SM_WritePicLabel + _SM_WorldMapExtras), also Background of Minimap (GUIFuncs.au3, Function: _SM_UnsetMiniMap)
    $hGUI = GUICreate("SApfel Manager v" & $vVersion, $vGUIStandartWidth - 6, $vGUIStandartHeight)
    $hGUIUpdate = GUICreate("SApfel Manager - Update", 500, 305, -1, -1, -1, 0x00000080, $hGUI)
    GUISetBkColor($vGUIColor, $hGUIUpdate)

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

    $hGUILabelNewVersion = GUICtrlCreateLabel("", 10, 10, 480, 17)
    GUICtrlSetColor(-1, 0xFFFFFF)
    $hGUIListChangelog = GUICtrlCreateList("", 10, 30, 480, 240, BitOR(0x4000, 0x0100, 0x00200000))
    GUICtrlSetBkColor(-1, $vGUIColor)
    GUICtrlSetColor(-1, 0xFFFFFF)

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

    $hGUIButtonDownload = GUICtrlCreateButton("Go to downloadpage", 10, 275, 235, 20)
    $hGUIButtonCancelUpdate = GUICtrlCreateButton("Cancel", 255, 275, 235, 20)
    GUISetState(@SW_HIDE)
    #endregion UpdateGUI

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

    While 1

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

    $MSG = GUIGetMsg(1)
    Switch $MSG[1]
    Case $FORM1
    If $BOLTEST = False Then

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

    For $i = 0 To 100 Step +1
    Sleep(5)
    GUICtrlSetData($Progress1, $i)
    Next
    GUISetState(@SW_HIDE, $FORM1)
    GUISetState(@SW_SHOW, $FORM2)
    $BOLTEST = True
    EndIf
    Case $FORM2

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

    Switch $MSG[0]

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

    Case $GUI_EVENT_CLOSE, $Exit
    Exit

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

    Case $Info
    MsgBox(0, "", "Info ~ F.A.Q --- [The-Franky] (c) 2009 - 2010")

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

    Case $hButton_Registrieren
    Settings()

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

    Case $hButton_Login
    $sBenutzername = GUICtrlRead($hInput_Benutzername)
    $sPasswort = GUICtrlRead($hInput_Passwort)

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

    If $sBenutzername <> "" And $sPasswort <> "" Then
    Switch _Login($sBenutzername, _MD5($sPasswort))
    Case 0
    MsgBox(16, "Error", "Benutzername ist nicht registriert!")
    Case 1
    MsgBox(32, "Info", "Erfolgreich eingeloggt!")
    GUIDelete($FORM2)
    Sleep(100)
    MainGui()

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

    Case 2
    MsgBox(16, "Error", "Passwort ist falsch!")
    EndSwitch
    Else
    MsgBox(48, "Info", "Bitte einen Bentzernamen/Passwort angeben!")
    EndIf
    Case $hButton_Registrieren

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

    $sBenutzername = GUICtrlRead($hInput_Benutzername)
    $sPasswort = GUICtrlRead($hInput_Passwort)

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

    If $sBenutzername <> "" And $sPasswort <> "" Then _Registration($sBenutzername, $sPasswort)

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

    EndSwitch
    EndSwitch
    WEnd

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

    Func Settings()
    $reg_status = _Status_Registration()
    If $reg_status = 1 Then

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

    Opt("GUIOnEventMode", 0)
    GUISetState(@SW_DISABLE, $FORM2)
    GUISetState(@SW_HIDE, $FORM2)

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

    $checkanmeldung = "Erlaubt"
    $settinggui = GUICreate("Registrieren", 260, 175, -1, -1)
    GUICtrlCreateLabel("Benutzername", 25, 14, 84, 17)
    GUICtrlCreateLabel("Passwort", 53, 38, 55, 17)
    $settinggui_benutzername = GUICtrlCreateInput("", 112, 12, 137, 21)
    $settinggui_password = GUICtrlCreateInput("", 112, 36, 137, 21)
    $cancel = GUICtrlCreateButton("Exit", 10, 88, 240, 20)
    $bestatigen = GUICtrlCreateButton("Registrieren", 10, 64, 240, 20)
    $groupgeneral2 = GUICtrlCreateGroup("Info", 10, 113, 240, 42)
    $Label1 = GUICtrlCreateLabel("" & "", 24, 128, 205, 19)
    GUICtrlCreateGroup("", -99, -99, 1, 1)

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

    GUISetState(@SW_SHOW, $settinggui)

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

    While 1
    Switch GUIGetMsg($settinggui)
    Case -3
    ExitLoop

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

    Case $cancel
    ExitLoop

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

    Case $bestatigen
    $sBenutzername = GUICtrlRead($settinggui_benutzername)
    $sPasswort = GUICtrlRead($settinggui_password)

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

    If $sBenutzername <> "" And $sPasswort <> "" Then _Registration($sBenutzername, $sPasswort)

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

    ExitLoop
    ;Exit

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

    EndSwitch
    Sleep(10)
    WEnd

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

    GUIDelete($settinggui)
    Sleep(100)

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

    GUISetState(@SW_ENABLE, $FORM2)
    GUISetState(@SW_SHOW, $FORM2)
    GUISetState(@SW_ENABLE, $FORM1)
    EndIf
    EndFunc ;==>Settings

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

    Func MainGui()
    Opt("GUIOnEventMode", 0)
    GUISetState(@SW_DISABLE, $FORM2)
    GUISetState(@SW_HIDE, $FORM2)

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

    $maingui = GUICreate("Main Gui", 260, 175, -1, -1)
    $hGUILabelUpdateAndSApfelInfo = GUICtrlCreateLabel("", 25, 14, 84, 17)
    GUICtrlSetColor(-1, 0x00FF00)
    GUICtrlSetState(-1, 32)
    GUICtrlCreateLabel("Test2", 53, 38, 55, 17)
    $check = GUICtrlCreateButton("Check", 10, 88, 240, 20)
    $groupgeneral2 = GUICtrlCreateGroup("Info", 10, 113, 240, 42)
    $Label1 = GUICtrlCreateLabel("Made by" & "Franky", 24, 128, 205, 19)
    GUICtrlCreateGroup("", -99, -99, 1, 1)

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

    GUISetState(@SW_SHOW, $maingui)

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

    While 1
    Switch GUIGetMsg($maingui)
    Case -3
    Exit

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

    Case $check
    _SM_ClickUpdateCheck()

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

    Case $hGUIButtonDownload
    _SM_ClickButtonDownload()
    Case $hGUIButtonCancelUpdate, $hGUIUpdate
    _SM_ClickButtonCancelUpdate()

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

    EndSwitch
    Sleep(10)
    WEnd

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

    GUIDelete($maingui)
    Sleep(100)

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

    EndFunc ;==>MainGui

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

    Func _exit()
    Sleep(10)
    Exit
    EndFunc ;==>_exit

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

    ; ============================= SONSTIGES ==============================

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

    Func _SM_ClickUpdateCheck()
    ;GUICtrlSetData($hGUILabelUpdateAndSApfelInfo, "Receiving latest SApfel Manager-Version from http://" & $vUpdateServer)
    ;GUICtrlSetState($hGUILabelUpdateAndSApfelInfo, 16)
    _SM_UpdateCheck($vVersion)
    If @error = 1 Then
    MsgBox(48, "Connection timeout", "You either do not have a connection to the world wide web or the server is currently down.")
    ElseIf @error = 2 Then
    MsgBox(48, "Error", "Error getting the version!")
    ElseIf @error = 3 Then
    MsgBox(64, "No update available", "You are using the latest version (v" & $vVersion & ").")
    Else
    GUISetState(@SW_HIDE, $FORM1)
    GUISetState(@SW_SHOW, $hGUIUpdate) ;5
    EndIf
    ;GUICtrlSetState($hGUILabelUpdateAndSApfelInfo, 32)
    EndFunc ;==>_SM_ClickUpdateCheck

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

    Func _SM_UpdateCheck($vCurrentVersion)
    If Ping($vUpdateServer) = 0 Then
    SetError(1)
    Else
    $vLatestVersion = _INetGetSource_($vScriptFile)
    If @error Then
    SetError(2)
    Else
    If $vCurrentVersion <> $vLatestVersion Then
    GUICtrlSetData($hGUILabelNewVersion, "There is a new version available (old: " & $vCurrentVersion & " | new: " & $vLatestVersion & ").")
    $vChangelog = StringSplit(_INetGetSource_($vChangelogFile), @CRLF)
    For $i = 1 To $vChangelog[0]
    GUICtrlSendMsg($hGUIListChangelog, 0x0180, 0, $vChangelog[$i])
    Next
    Return SetError(0, 0, $vLatestVersion)
    Else
    SetError(3)
    EndIf
    EndIf
    EndIf
    Return 0
    EndFunc ;==>_SM_UpdateCheck

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

    Func _INetGetSource_($s_URL, $bString = True)
    Local $sString = InetRead($s_URL, 1)
    Local $nError = @error, $nExtended = @extended
    If $bString Then $sString = BinaryToString($sString)
    Return SetError($nError, $nExtended, $sString)
    EndFunc ;==>_INetGetSource_

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

    Func _SM_ClickButtonDownload()
    GUISetState(@SW_HIDE, $hGUIUpdate)
    GUICtrlSetData($hGUIListChangelog, "")
    ShellExecute("http://" & $vUpdateServer)
    EndFunc ;==>_SM_ClickButtonDownload

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

    Func _SM_ClickButtonCancelUpdate()
    GUISetState(@SW_HIDE, $hGUIUpdate)
    ;GUISetState(@SW_SHOW, $maingui)
    GUICtrlSetData($hGUIListChangelog, "")
    EndFunc ;==>_SM_ClickButtonCancelUpdate

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

    Func _SM_MapFilesInstall()
    $v_MapFiles = @TempDir & "\Files.rar"

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

    ProgressOn("Downloading...", "Loading 'unrar.dll'", "")

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

    $v_SizeUnrarDLL = Round(InetGetSize($vUnrarDLL) / 1024)
    $hDownload = InetGet($vUnrarDLL, @TempDir & "\unrar.dll", 1, 1)
    Do
    $v_DLBytes = Round(InetGetInfo($hDownload, 0) / 1024)
    $v_DLPercent = Round($v_DLBytes / $v_SizeUnrarDLL * 100)
    ProgressSet($v_DLPercent, @LF & $v_DLBytes & "/" & $v_SizeUnrarDLL & "KB " & $v_DLPercent & "%")
    Sleep(100)
    Until InetGetInfo($hDownload, 2)

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

    ProgressSet(0, "", "Loading 'Files.rar'")

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

    $v_SizeMapFilesRar = Round(InetGetSize($vMapFiles) / 1024)
    Local $hDownload = InetGet($vMapFiles, $v_MapFiles, 1, 1)
    Do
    $v_DLBytes = Round(InetGetInfo($hDownload, 0) / 1024)
    $v_DLPercent = Round($v_DLBytes / $v_SizeMapFilesRar * 100)
    ProgressSet($v_DLPercent, @LF & $v_DLBytes & "/" & $v_SizeMapFilesRar & "KB " & $v_DLPercent & "%")
    Sleep(200)
    Until InetGetInfo($hDownload, 2)

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

    ProgressSet(100, @LF & "This may take some seconds.", "Installing Files...")
    $bExtractionSuc = _SM_RARExtract(@TempDir & "\unrar.dll", $v_MapFiles)

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

    Sleep(2000)

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

    FileDelete(@TempDir & "\unrar.dll")
    FileDelete($v_MapFiles)

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

    If $bExtractionSuc = 1 Then
    ProgressSet(100, @LF & "Installation done. Have fun!", "Installing Files...")
    Sleep(3000)
    Else
    For $i = 15 To 1 Step -1
    ProgressSet(100, "Error occured. Please make sure that you are connected" & @CRLF & "to the www and that SApfel Manager was started in" & @CRLF & "32 bit mode. Continuing in " & $i & " seconds", "Installing Files...")
    Sleep(1000)
    Next
    EndIf

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

    ProgressOff()
    EndFunc ;==>_SM_MapFilesInstall

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

    Func _SM_RARExtract($v_UnrarDLL, $v_RarFile) ;$v_UnrarDLL = path to unrar.dll file, $v_RarFile = path to rar file
    Local $sResult

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

    $rar_ArchivName = DllStructCreate("char[260]")
    DllStructSetData($rar_ArchivName, 1, $v_RarFile)

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

    $rar_CmtBuf = DllStructCreate("char[16384]")
    For $iCount = 1 To 16384
    $sResult &= " "
    Next
    DllStructSetData($rar_CmtBuf, 1, $sResult)

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

    $rar_Str = DllStructCreate("ptr;uint;uint;ptr;uint;uint;uint")

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

    DllStructSetData($rar_Str, 1, DllStructGetPtr($rar_ArchivName))
    DllStructSetData($rar_Str, 2, 1) ;1 = $RAR_OM_EXTRACT
    DllStructSetData($rar_Str, 3, 0)
    DllStructSetData($rar_Str, 4, DllStructGetPtr($rar_CmtBuf))
    DllStructSetData($rar_Str, 5, 16384)
    DllStructSetData($rar_Str, 6, 0)
    DllStructSetData($rar_Str, 7, 0)
    $rar_Header_CmtBuf = DllStructCreate("char[16384]")

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

    $rar_Header_Str = DllStructCreate("char[260];char[260];uint;uint;uint;uint;uint;uint;uint;uint;uint;ptr;uint;uint;uint")
    DllStructSetData($rar_Header_Str, 12, DllStructGetPtr($rar_Header_CmtBuf))

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

    If FileExists($v_UnrarDLL) Then
    $DLLUnrar = DllOpen($v_UnrarDLL)
    $rar_OpenedArchive = DllCall($DLLUnrar, "int", "RAROpenArchive", "ptr", DllStructGetPtr($rar_Str))

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

    If IsArray($rar_OpenedArchive) Then
    $iCount = 0
    Do
    $rar_Header = DllCall($DLLUnrar, "int", "RARReadHeader", "ptr", $rar_OpenedArchive[0], "ptr", DllStructGetPtr($rar_Header_Str))
    DllCall($DLLUnrar, "int", "RARProcessFile", "ptr", $rar_OpenedArchive[0], "int_ptr", 2, "ptr", "", "ptr", "") ;2 = $RAR_EXTRACT
    $iCount += 1
    Until $rar_Header[0] <> 0 Or $iCount = 20

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

    DllCall($DLLUnrar, "int", "RARCloseArchive", "int", $rar_OpenedArchive[0])
    DllClose($DLLUnrar)
    Return 1
    EndIf
    EndIf
    Return 0
    EndFunc ;==>_SM_RARExtract

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

    Func _SM_Check4MapFiles()
    For $z = 0 To UBound($vMapFilesArray) - 1
    $v_File = @ScriptDir & "\TheFranky\" & $vMapFilesArray[$z][0]
    If Not FileExists($v_File) Or FileGetSize($v_File) <> $vMapFilesArray[$z][1] Then _
    Return 1
    Next

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

    Return 0
    EndFunc ;==>_SM_Check4MapFiles

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

    ; =============================== MYSQL ================================

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

    Func _Login($sBenutzername = "", $sPasswort = "")
    $iRValue = _INetGetSource("http://www.sch0k0neger.de/login.php?benutzername=" & $sBenutzername & "&passwort=" & $sPasswort)

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

    Switch $iRValue
    Case 0
    Return 0
    Case 1
    Return 1
    Case 2
    Return 2
    EndSwitch
    EndFunc ;==>_Login

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

    Func _Registration($sBenutzername = "", $sPasswort = "")
    $iRValue = _INetGetSource("http://www.sch0k0neger.de/registrierung.php?benutzername=" & $sBenutzername & "&passwort=" & $sPasswort)

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

    Switch $iRValue
    Case 0
    MsgBox(16, "Error", "Registration fehlgeschlagen!")
    Case 1
    MsgBox(32, "Info", "Erfolgreich registriert!")
    Case 2
    MsgBox(16, "Error", "Der Benutzername ist bereits registriert!")
    Case 3
    MsgBox(16, "Error", "Benutzername/Passwort ist falsch!")
    EndSwitch
    EndFunc ;==>_Registration

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

    Func _MD5($Data)
    Local $CodeBuffer = DllStructCreate("byte[" & BinaryLen($_MD5Opcode) & "]")
    DllStructSetData($CodeBuffer, 1, $_MD5Opcode)

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

    Local $Input = DllStructCreate("byte[" & BinaryLen($Data) & "]")
    DllStructSetData($Input, 1, $Data)

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

    Local $Digest = DllStructCreate("byte[16]")

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

    DllCall("user32.dll", "none", "CallWindowProc", "ptr", DllStructGetPtr($CodeBuffer), _
    "ptr", DllStructGetPtr($Input), _
    "int", BinaryLen($Data), _
    "ptr", DllStructGetPtr($Digest), _
    "int", 0)

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

    Local $Ret = DllStructGetData($Digest, 1)
    $Input = 0
    $Digest = 0
    $CodeBuffer = 0
    Return StringLower(StringTrimLeft($Ret, 2))
    EndFunc ;==>_MD5

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

    Func _Status_Registration()
    $iRValue = _INetGetSource("http://www.sch0k0neger.de/abfragen.php")

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

    Switch $iRValue
    Case 0 ; - Registrierung nicht erlaubt
    MsgBox(16, "Error", "Registrierung nicht erlaubt")
    Return 0
    ;GUICtrlSetState($hInput_Passwort,$GUI_DISABLE)
    ;GUICtrlSetState($settinggui_benutzername,$GUI_DISABLE)
    ;GUICtrlSetState($settinggui_benutzername,$GUI_DISABLE)
    ;GUICtrlSetState($settinggui_password,$GUI_DISABLE)
    ;GUICtrlSetState($checkanmeldung,$noterlaubt)
    Case 1 ; - Registrierung erlaubt
    MsgBox(32, "Info", "Registrierung erlaubt!")
    Return 1

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

    ;GUICtrlSetState($Label1,$checkanmeldung)
    Case -1 ; - Fehler in Datenbank!
    Return -1
    ; MsgBox(16, "Error", "Fehler in Datenbank!")
    EndSwitch
    EndFunc ;==>_Status_Registration

    [/autoit]

    MfG tuttifrutti

    2 Mal editiert, zuletzt von tuttifrutti (4. Mai 2010 um 15:31)

  • Nur warum schaut die MsgBox so komisch aus ?

    welche msgbox sieht komisch aus. und was verstehst du unter komisch?
    die einzigen msgboxen die du drin hast sind doch zum debuggen

  • ich schätze mal deswegen:

    [autoit]

    _SM_SetVisualStyle(0) ;turn of visual styles

    [/autoit]


    kann es sein dass du dir da einfach was zusammengebastelt hast, das du selbst nicht richtig verstehst? :D

  • ich schätze mal deswegen:

    [autoit]

    _SM_SetVisualStyle(0) ;turn of visual styles

    [/autoit]


    kann es sein dass du dir da einfach was zusammengebastelt hast, das du selbst nicht richtig verstehst? :D

    Genau das wars :P
    Aber mit dem downloaden habe ich immer noch net hinbekommen.
    Probier ich mal weiter :) Ich melde mich später nochmal
    MfG

  • Ich habe jetzt schomer ein File Checker eingebaut.
    Am Anfang wird gecheckt , ob die Daten sich geändert haben oder ob es neue gibt.
    Wenn es neue gibt, kann man diese sich runterladen und werden automatisch entpackt.


    WICHTIG VERGESSEN:
    Die Regestrieren ist ja nicht offen :D

    Hier ein Test Account

    Benutzername: 1
    Password: 1
    -----Edit-----

    Ich habe nun alles zu meinem richtigen Programm gebastelt.
    Meine Frage ist aber noch, wenn man sich "Regestrieren" will , und die Meldung kommt, dass man sich nicht regestrieren kann soll die InputBox disabled werden.
    Also das man dort keine Sachen eingeben kann.
    Es kommt die ganze Zeit die meldung

    Code
    undeclared global variable.

    Ich weiß aber nicht wie ich das sonst machen kann.

    Brauche hilfe :P

    Hier der Code

    Spoiler anzeigen
    [autoit]

    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <INet.au3>
    #include<GUIConstants.au3>
    #include <GUIConstantsEx.au3 >
    #include <WindowsConstants.au3>
    #include <EditConstants.au3>
    #include <Date.au3>
    #include <ListViewConstants.au3>
    #include <WindowsConstants.au3>
    #include <ListviewConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <SliderConstants.au3>
    #Include <GuiListView.au3>
    #Include <Array.au3>
    #Include <File.au3>
    #Include <GuiListView.au3>
    #Include<StructureConstants.au3>
    #include<Constants.au3>
    #include <GUIConstantsEx.au3>
    #include <ButtonConstants.au3>

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

    HotkeySet("{END}","_exit")
    $INI= @ScriptDir & "\Data.ini"

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

    Global $_MD5Opcode = "0xC85800005356576A006A006A008D45A850E8280000006A00FF750CFF75088D45A850E8440000006A006A008D45A850FF7510E8710700005F5E5BC9C210005589E58B4D0831C0894114894110C70101234567C7410489ABCDEFC74108FEDCBA98C7410C765432105DC21000C80C0000538B5D088B4310C1E80383E03F8945F88B4510C1E0030143103943107303FF43148B4510C1E81D0143146A40582B45F88945F4394510724550FF750C8B45F88D44031850E8A00700008D43185053E84E0000008B45F48945FC8B45FC83C03F39451076138B450C0345FC5053E8300000008345FC40EBE28365F800EB048365FC008B45102B45FC508B450C0345FC508B45F88D44031850E84D0700005BC9C21000C84000005356576A40FF750C8D45C050E8330700008B45088B088B50048B70088B780C89D021F089D3F7D321FB09D801C1034DC081C178A46AD7C1C10701D189C821D089CBF7D321F309D801C7037DC481C756B7C7E8C1C70C01CF89F821C889FBF7D321D309D801C60375C881C6DB702024C1C61101FE89F021F889F3F7D321CB09D801C20355CC81C2EECEBDC1C1C21601F289D021F089D3F7D321FB09D801C1034DD081C1AF0F7CF5C1C10701D189C821D089CBF7D321F309D801C7037DD481C72AC68747C1C70C01CF89F821C889FBF7D321D309D801C60375D881C6134630A8C1C61101FE89F021F889F3F7D321CB09D801C20355DC81C2019546FDC1C21601F289D021F089D3F7D321FB09D801C1034DE081C1D8988069C1C10701D189C821D089CBF7D321F309D801C7037DE481C7AFF7448BC1C70C01CF89F821C889FBF7D321D309D801C60375E881C6B15BFFFFC1C61101FE89F021F889F3F7D321CB09D801C20355EC81C2BED75C89C1C21601F289D021F089D3F7D321FB09D801C1034DF081C12211906BC1C10701D189C821D089CBF7D321F309D801C7037DF481C7937198FDC1C70C01CF89F821C889FBF7D321D309D801C60375F881C68E4379A6C1C61101FE89F021F889F3F7D321CB09D801C20355FC81C22108B449C1C21601F289D021F889FBF7D321F309D801C1034DC481C162251EF6C1C10501D189C821F089F3F7D321D309D801C7037DD881C740B340C0C1C70901CF89F821D089D3F7D321CB09D801C60375EC81C6515A5E26C1C60E01FE89F021C889CBF7D321FB09D801C20355C081C2AAC7B6E9C1C21401F289D021F889FBF7D321F309D801C1034DD481C15D102FD6C1C10501D189C821F089F3F7D321D309D801C7037DE881C753144402C1C70901CF89F821D089D3F7D321CB09D801C60375FC81C681E6A1D8C1C60E01FE89F021C889CBF7D321FB09D801C20355D081C2C8FBD3E7C1C21401F289D021F889FBF7D321F309D801C1034DE481C1E6CDE121C1C10501D189C821F089F3F7D321D309D801C7037D"
    $_MD5Opcode &= "F881C7D60737C3C1C70901CF89F821D089D3F7D321CB09D801C60375CC81C6870DD5F4C1C60E01FE89F021C889CBF7D321FB09D801C20355E081C2ED145A45C1C21401F289D021F889FBF7D321F309D801C1034DF481C105E9E3A9C1C10501D189C821F089F3F7D321D309D801C7037DC881C7F8A3EFFCC1C70901CF89F821D089D3F7D321CB09D801C60375DC81C6D9026F67C1C60E01FE89F021C889CBF7D321FB09D801C20355F081C28A4C2A8DC1C21401F289D031F031F801C1034DD481C14239FAFFC1C10401D189C831D031F001C7037DE081C781F67187C1C70B01CF89F831C831D001C60375EC81C622619D6DC1C61001FE89F031F831C801C20355F881C20C38E5FDC1C21701F289D031F031F801C1034DC481C144EABEA4C1C10401D189C831D031F001C7037DD081C7A9CFDE4BC1C70B01CF89F831C831D001C60375DC81C6604BBBF6C1C61001FE89F031F831C801C20355E881C270BCBFBEC1C21701F289D031F031F801C1034DF481C1C67E9B28C1C10401D189C831D031F001C7037DC081C7FA27A1EAC1C70B01CF89F831C831D001C60375CC81C68530EFD4C1C61001FE89F031F831C801C20355D881C2051D8804C1C21701F289D031F031F801C1034DE481C139D0D4D9C1C10401D189C831D031F001C7037DF081C7E599DBE6C1C70B01CF89F831C831D001C60375FC81C6F87CA21FC1C61001FE89F031F831C801C20355C881C26556ACC4C1C21701F289F8F7D009D031F001C1034DC081C1442229F4C1C10601D189F0F7D009C831D001C7037DDC81C797FF2A43C1C70A01CF89D0F7D009F831C801C60375F881C6A72394ABC1C60F01FE89C8F7D009F031F801C20355D481C239A093FCC1C21501F289F8F7D009D031F001C1034DF081C1C3595B65C1C10601D189F0F7D009C831D001C7037DCC81C792CC0C8FC1C70A01CF89D0F7D009F831C801C60375E881C67DF4EFFFC1C60F01FE89C8F7D009F031F801C20355C481C2D15D8485C1C21501F289F8F7D009D031F001C1034DE081C14F7EA86FC1C10601D189F0F7D009C831D001C7037DFC81C7E0E62CFEC1C70A01CF89D0F7D009F831C801C60375D881C6144301A3C1C60F01FE89C8F7D009F031F801C20355F481C2A111084EC1C21501F289F8F7D009D031F001C1034DD081C1827E53F7C1C10601D189F0F7D009C831D001C7037DEC81C735F23ABDC1C70A01CF89D0F7D009F831C801C60375C881C6BBD2D72AC1C60F01FE89C8F7D009F031F801C20355E481C291D386EBC1C21501F28B4508010801500401700801780C5F5E5BC9C20800C814000053E840000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008F45EC8B5D0C6A088D4310508D"
    $_MD5Opcode &= "45F850E8510000008B4310C1E80383E03F8945F483F838730B6A38582B45F48945F0EB096A78582B45F48945F0FF75F0FF75ECFF750CE831F8FFFF6A088D45F850FF750CE823F8FFFF6A1053FF7508E8050000005BC9C210005589E55156578B7D088B750C8B4D10FCF3A45F5E595DC20C00"

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

    Const $vUpdateServer = "sch0k0neger.de"
    Const $vScriptFile = "http://www.sch0k0neger.de/version.txt"
    Const $vChangelogFile = "http://www.sch0k0neger.de/changelog_en.txt"
    Const $vUnrarDLL = "http://www.sch0k0neger.de/unrar.dll"
    Const $vMapFiles = "http://www.sch0k0neger.de/TheFranky.rar"

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

    Const $vMapFilesArray[1][2] = [ _ ;Contains information about the mapfiles ( $Array[x][0] = Filename, $Array[x][1] = Filesize)
    ["Read_Me_!.txt", 69]];, _
    ;["exit.ico", 94208], _
    ;["Settings.ico", 432260], _
    ;["Rubik-Pocket-Cube.ico", 372532]]

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

    $vVersion = "3.15a"
    $vGUIColor = 0x161616
    $vGUIColor2 = 0x161616
    Dim $hGUIListChangelog

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

    If IniRead(@ScriptDir & "\Data.ini", "Settings", "Check", 1) = 1 And _SM_Check4MapFiles() = 1 Then
    $hGUI = GUICreate("Files", 300, 210)
    GUICtrlCreateLabel("Some Files might be missing or damaged. The minimap and big map in SApfel Manager will only work if the latest Files are installed. Therefore create a folder 'Files' and put the mappics into it." & @CRLF & "You can either download the mapfiles by yourself (visit http://sch0k0neger.de) or SApfel Manager will install the Files for you. If you click on Yes, SApfel Manager will download and install the Files." & @CRLF & @CRLF & "Auto install the Files?", 10, 10, 280, 140)
    $hCheckBoxMsg = GUICtrlCreateCheckbox("Never show this message again! (Not recommended)", 10, 150)
    $hButtonYes = GUICtrlCreateButton("Yes", 30, 175, 90)
    $hButtonNo = GUICtrlCreateButton("No", 180, 175, 90)
    WinSetOnTop($hGUI, "", 1)
    GUISetState()

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

    While 1
    Switch GUIGetMsg()
    Case - 3
    Exit
    Case $hButtonNo
    If GUICtrlRead($hCheckBoxMsg) = 1 Then IniWrite(@ScriptDir & "\Data.ini", "Settings", "Check", 0)
    GUIDelete()
    ExitLoop
    Case $hButtonYes
    If GUICtrlRead($hCheckBoxMsg) = 1 Then IniWrite(@ScriptDir & "\Data.ini", "Settings", "Check", 0)
    GUISetState(@SW_HIDE, $hGUI)
    _SM_MapFilesInstall()
    GUIDelete($hGUI)
    ExitLoop
    EndSwitch
    WEnd
    EndIf

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

    opt("GUIResizeMode",802)
    Opt("WinTitleMatchMode", 2)
    Opt("TrayMenuMode", 1)
    Opt("TrayOnEventMode", 1)

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

    $runwindoof = IniRead($INI, "Windows", "Run", "")

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

    $ontop = IniRead($INI,"Window", "OnTop", "")

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

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

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

    If not fileexists($INI) Then
    Iniwrite($INI,"Default","Titel","(C) The-Franky 2009 - 2010")
    EndIf

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

    If @Compiled = 0 Then
    TraySetIcon("Rubik-Pocket-Cube.ico")
    EndIf

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

    TraySetToolTip($vVersion)

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

    $BOLTEST = False
    $FORM1 = GUICreate("" & $vVersion & " - by Franky", 195, 15, -1, -1, $WS_POPUP, 0)
    GUISetBkColor(16777215)

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

    $Progress1 = GUICtrlCreateProgress(-1, -1, 198, 17)

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

    GUISetState(@SW_SHOW)
    For $i = 0 To 100 Step 5
    Sleep(60)
    GUICtrlSetData($Progress1, $i)

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

    Next
    ProgressOff()
    GUISetState(@SW_HIDE)

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

    ;=======================================================================================================

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

    $FORM2 = GUICreate("(C) " & $vVersion & "", 300, 125, -1, -1,$WS_POPUP + $WS_SIZEBOX +$WS_EX_TOOLWINDOW+$WS_EX_TOPMOST+$WS_EX_WINDOWEDGE + $WS_EX_TOPMOST + $WS_VISIBLE + $WS_CLIPSIBLINGS)

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

    ;====================================================

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

    $Info = GUICtrlCreateButton("F.A.Q", 260, 75, 35, 30 , $BS_ICON)
    GUICtrlSetImage(-1, @ScriptDir & "\Settings.ico",1)

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

    ;====================================================;====================================================

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

    GUISetFont(8, 800, 0, "MS Sans Serif")
    GUICtrlCreateLabel("Benutzername", 25, 14, 84, 17)
    GUICtrlCreateLabel("Passwort", 53, 38, 55, 17)
    $hInput_Benutzername = GUICtrlCreateInput("", 112, 12, 137, 21)
    $hInput_Passwort = GUICtrlCreateInput("", 112, 36, 137, 21)
    $hButton_Login = GUICtrlCreateButton("Login", 112, 72, 137, 33, $BS_DEFPUSHBUTTON)
    $hButton_Registrieren = GUICtrlCreateButton("Registrieren", 24, 72, 89, 33, 0)
    $Exit = GUICtrlCreateButton("Exit", 270, 0, 35, 30, $BS_ICON)
    GUICtrlSetImage(-1, @ScriptDir & "\exit.ico",1)

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

    ;====================================================
    GUISetState(@SW_SHOW)

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

    #region UpdateGUI
    ;UpdateGUI
    $vGUIStandartHeight = 290
    $vGUILargeHeight = $vGUIStandartHeight + 327
    $vGUIStandartWidth = 778
    $vGUIColor = 0x161616 ;Label of BigMap needs to be changed manually (GUIFuncs.au3, Function: _SM_WritePicLabel + _SM_WorldMapExtras), also Background of Minimap (GUIFuncs.au3, Function: _SM_UnsetMiniMap)
    $hGUI = GUICreate("SApfel Manager v" & $vVersion, $vGUIStandartWidth - 6, $vGUIStandartHeight)
    $hGUIUpdate = GUICreate("SApfel Manager - Update", 500, 305, -1, -1, -1, 0x00000080, $hGUI)
    GUISetBkColor($vGUIColor, $hGUIUpdate)

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

    $hGUILabelNewVersion = GUICtrlCreateLabel("", 10, 10, 480, 17)
    GUICtrlSetColor(-1, 0xFFFFFF)
    $hGUIListChangelog = GUICtrlCreateList("", 10, 30, 480, 240, BitOR(0x4000, 0x0100, 0x00200000))
    GUICtrlSetBkColor(-1, $vGUIColor)
    GUICtrlSetColor(-1, 0xFFFFFF)

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

    $hGUIButtonDownload = GUICtrlCreateButton("Go to downloadpage", 10, 275, 235, 20)
    $hGUIButtonCancelUpdate = GUICtrlCreateButton("Cancel", 255, 275, 235, 20)
    GUISetState(@SW_HIDE)
    #endregion

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

    While 1

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

    $MSG = GUIGetMsg(1)
    Switch $MSG[1]
    Case $FORM1
    If $BOLTEST = False Then

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

    For $i = 0 To 100 Step +1
    Sleep(5)
    GUICtrlSetData($Progress1, $i)
    Next
    GUISetState(@SW_HIDE, $FORM1)
    GUISetState(@SW_SHOW, $FORM2)
    $BOLTEST = True
    EndIf
    Case $FORM2

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

    Switch $MSG[0]

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

    Case $GUI_EVENT_CLOSE,$Exit
    Exit

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

    Case $Info
    MsgBox(0,"","Info ~ F.A.Q --- [The-Franky] (c) 2009 - 2010")

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

    Case $hButton_Registrieren
    Settings()

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

    Case $hButton_Login
    $sBenutzername = GUICtrlRead($hInput_Benutzername)
    $sPasswort = GUICtrlRead($hInput_Passwort)

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

    If $sBenutzername <> "" And $sPasswort <> "" Then
    Switch _Login($sBenutzername, _MD5($sPasswort))
    Case 0
    MsgBox(16, "Error", "Benutzername ist nicht registriert!")
    Case 1
    MsgBox(32, "Info", "Erfolgreich eingeloggt!")
    GUIDelete($FORM2)
    Sleep(100)
    MainGui()

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

    Case 2
    MsgBox(16, "Error", "Passwort ist falsch!")
    EndSwitch
    Else
    MsgBox(48, "Info", "Bitte einen Bentzernamen/Passwort angeben!")
    EndIf
    Case $hButton_Registrieren

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

    $sBenutzername = GUICtrlRead($hInput_Benutzername)
    $sPasswort = GUICtrlRead($hInput_Passwort)

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

    If $sBenutzername <> "" And $sPasswort <> "" Then _Registration($sBenutzername,$sPasswort)

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

    EndSwitch
    EndSwitch
    WEnd

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

    Func Settings()
    _Status_Registration()

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

    Opt("GUIOnEventMode", 0)
    GUISetState(@SW_DISABLE, $FORM2)
    GUISetState(@SW_HIDE, $FORM2)

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

    $checkanmeldung = "Erlaubt"
    $settinggui = GUICreate("Registrieren", 260, 175, -1, -1)
    GUICtrlCreateLabel("Benutzername", 25, 14, 84, 17)
    GUICtrlCreateLabel("Passwort", 53, 38, 55, 17)
    $settinggui_benutzername = GUICtrlCreateInput("", 112, 12, 137, 21)
    $settinggui_password = GUICtrlCreateInput("", 112, 36, 137, 21)
    $cancel = GUICtrlCreateButton("Exit", 10, 88, 240, 20)
    $bestatigen = GUICtrlCreateButton("Registrieren", 10, 64, 240, 20)
    $groupgeneral2 = GUICtrlCreateGroup("Info", 10, 113, 240, 42)
    $Label1 = GUICtrlCreateLabel("" & "", 24, 128, 205, 19)
    GUICtrlCreateGroup("", -99, -99, 1, 1)

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

    GUISetState(@SW_SHOW, $settinggui)

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

    While 1
    Switch GUIGetMsg($settinggui)
    Case - 3
    ExitLoop

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

    Case $cancel
    ExitLoop

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

    Case $bestatigen
    $sBenutzername = GUICtrlRead($settinggui_benutzername)
    $sPasswort = GUICtrlRead($settinggui_password)

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

    If $sBenutzername <> "" And $sPasswort <> "" Then _Registration($sBenutzername,$sPasswort)

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

    ExitLoop
    ;Exit

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

    EndSwitch
    Sleep(10)
    WEnd

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

    GUIDelete($settinggui)
    Sleep(100)

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

    GUISetState(@SW_ENABLE, $FORM2)
    GUISetState(@SW_SHOW, $FORM2)
    GUISetState(@SW_ENABLE, $FORM1)
    EndFunc

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

    Func MainGui()
    Opt("GUIOnEventMode", 0)
    GUISetState(@SW_DISABLE, $FORM2)
    GUISetState(@SW_HIDE, $FORM2)

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

    $maingui = GUICreate("Main Gui", 260, 175, -1, -1)
    $hGUILabelUpdateAndSApfelInfo = GUICtrlCreateLabel("", 25, 14, 84, 17)
    GUICtrlSetColor(-1, 0x00FF00)
    GUICtrlSetState(-1, 32)
    GUICtrlCreateLabel("Test2", 53, 38, 55, 17)
    $check = GUICtrlCreateButton("Check", 10, 88, 240, 20)
    $groupgeneral2 = GUICtrlCreateGroup("Info", 10, 113, 240, 42)
    $Label1 = GUICtrlCreateLabel("Made by" & "Franky", 24, 128, 205, 19)
    GUICtrlCreateGroup("", -99, -99, 1, 1)

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

    GUISetState(@SW_SHOW, $maingui)

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

    While 1
    Switch GUIGetMsg($maingui)
    Case - 3
    Exit

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

    Case $check
    _SM_ClickUpdateCheck()

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

    Case $hGUIButtonDownload
    _SM_ClickButtonDownload()
    Case $hGUIButtonCancelUpdate, $hGUIUpdate
    _SM_ClickButtonCancelUpdate()

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

    EndSwitch
    Sleep(10)
    WEnd

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

    GUIDelete($maingui)
    Sleep(100)

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

    EndFunc

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

    Func _exit()
    sleep(10)
    Exit
    EndFunc

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

    ; ============================= SONSTIGES ==============================

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

    Func _SM_ClickUpdateCheck()
    ;GUICtrlSetData($hGUILabelUpdateAndSApfelInfo, "Receiving latest SApfel Manager-Version from http://" & $vUpdateServer)
    ;GUICtrlSetState($hGUILabelUpdateAndSApfelInfo, 16)
    _SM_UpdateCheck($vVersion)
    If @error = 1 Then
    MsgBox(48, "Connection timeout", "You either do not have a connection to the world wide web or the server is currently down.")
    ElseIf @error = 2 Then
    MsgBox(48, "Error", "Error getting the version!")
    ElseIf @error = 3 Then
    MsgBox(64, "No update available", "You are using the latest version (v" & $vVersion & ").")
    Else
    GUISetState(@SW_HIDE, $Form1)
    GUISetState(@SW_SHOW, $hGUIUpdate) ;5
    EndIf
    ;GUICtrlSetState($hGUILabelUpdateAndSApfelInfo, 32)
    EndFunc

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

    Func _SM_UpdateCheck($vCurrentVersion)
    If Ping($vUpdateServer) = 0 Then
    SetError(1)
    Else
    $vLatestVersion = _INetGetSource_($vScriptFile)
    If @error Then
    SetError(2)
    Else
    If $vCurrentVersion <> $vLatestVersion Then
    GUICtrlSetData($hGUILabelNewVersion, "There is a new version available (old: " & $vCurrentVersion & " | new: " & $vLatestVersion & ").")
    $vChangelog = StringSplit(_INetGetSource_($vChangelogFile), @CRLF)
    For $i = 1 To $vChangelog[0]
    GUICtrlSendMsg($hGUIListChangelog, 0x0180, 0, $vChangelog[$i])
    Next
    Return SetError(0, 0, $vLatestVersion)
    Else
    SetError(3)
    EndIf
    EndIf
    EndIf
    Return 0
    EndFunc ;==>_SM_UpdateCheck

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

    Func _INetGetSource_($s_URL, $bString = True)
    Local $sString = InetRead($s_URL, 1)
    Local $nError = @error, $nExtended = @extended
    If $bString Then $sString = BinaryToString($sString)
    Return SetError($nError, $nExtended, $sString)
    EndFunc ;==>_INetGetSource_

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

    Func _SM_ClickButtonDownload()
    GUISetState(@SW_HIDE, $hGUIUpdate)
    GUICtrlSetData($hGUIListChangelog, "")
    ShellExecute("http://" & $vUpdateServer)
    EndFunc ;==>_SM_ClickButtonDownload

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

    Func _SM_ClickButtonCancelUpdate()
    GUISetState(@SW_HIDE, $hGUIUpdate)
    ;GUISetState(@SW_SHOW, $maingui)
    GUICtrlSetData($hGUIListChangelog, "")
    EndFunc ;==>_SM_ClickButtonCancelUpdate

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

    Func _SM_MapFilesInstall()
    $v_MapFiles = @TempDir & "\Files.rar"

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

    ProgressOn("Downloading...", "Loading 'unrar.dll'", "")

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

    $v_SizeUnrarDLL = Round(InetGetSize($vUnrarDLL) / 1024)
    $hDownload = InetGet($vUnrarDLL, @TempDir & "\unrar.dll", 1, 1)
    Do
    $v_DLBytes = Round(InetGetInfo($hDownload, 0) / 1024)
    $v_DLPercent = Round($v_DLBytes / $v_SizeUnrarDLL * 100)
    ProgressSet($v_DLPercent, @LF & $v_DLBytes & "/" & $v_SizeUnrarDLL & "KB " & $v_DLPercent & "%")
    Sleep(100)
    Until InetGetInfo($hDownload, 2)

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

    ProgressSet(0, "", "Loading 'Files.rar'")

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

    $v_SizeMapFilesRar = Round(InetGetSize($vMapFiles) / 1024)
    Local $hDownload = InetGet($vMapFiles, $v_MapFiles, 1, 1)
    Do
    $v_DLBytes = Round(InetGetInfo($hDownload, 0) / 1024)
    $v_DLPercent = Round($v_DLBytes / $v_SizeMapFilesRar * 100)
    ProgressSet($v_DLPercent, @LF & $v_DLBytes & "/" & $v_SizeMapFilesRar & "KB " & $v_DLPercent & "%")
    Sleep(200)
    Until InetGetInfo($hDownload, 2)

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

    ProgressSet(100, @LF & "This may take some seconds.", "Installing Files...")
    $bExtractionSuc = _SM_RARExtract(@TempDir & "\unrar.dll", $v_MapFiles)

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

    Sleep(2000)

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

    FileDelete(@TempDir & "\unrar.dll")
    FileDelete($v_MapFiles)

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

    If $bExtractionSuc = 1 Then
    ProgressSet(100, @LF & "Installation done. Have fun!", "Installing Files...")
    Sleep(3000)
    Else
    For $i = 15 To 1 Step - 1
    ProgressSet(100, "Error occured. Please make sure that you are connected" & @CRLF & "to the www and that SApfel Manager was started in" & @CRLF & "32 bit mode. Continuing in " & $i & " seconds", "Installing Files...")
    Sleep(1000)
    Next
    EndIf

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

    ProgressOff()
    EndFunc ;==>_SM_MapFilesInstall

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

    Func _SM_RARExtract($v_UnrarDLL, $v_RarFile) ;$v_UnrarDLL = path to unrar.dll file, $v_RarFile = path to rar file
    Local $sResult

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

    $rar_ArchivName = DllStructCreate("char[260]")
    DllStructSetData($rar_ArchivName, 1, $v_RarFile)

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

    $rar_CmtBuf = DllStructCreate("char[16384]")
    For $iCount = 1 To 16384
    $sResult &= " "
    Next
    DllStructSetData($rar_CmtBuf, 1, $sResult)

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

    $rar_Str = DllStructCreate("ptr;uint;uint;ptr;uint;uint;uint")

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

    DllStructSetData($rar_Str, 1, DllStructGetPtr($rar_ArchivName))
    DllStructSetData($rar_Str, 2, 1) ;1 = $RAR_OM_EXTRACT
    DllStructSetData($rar_Str, 3, 0)
    DllStructSetData($rar_Str, 4, DllStructGetPtr($rar_CmtBuf))
    DllStructSetData($rar_Str, 5, 16384)
    DllStructSetData($rar_Str, 6, 0)
    DllStructSetData($rar_Str, 7, 0)
    $rar_Header_CmtBuf = DllStructCreate("char[16384]")

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

    $rar_Header_Str = DllStructCreate("char[260];char[260];uint;uint;uint;uint;uint;uint;uint;uint;uint;ptr;uint;uint;uint")
    DllStructSetData($rar_Header_Str, 12, DllStructGetPtr($rar_Header_CmtBuf))

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

    If FileExists($v_UnrarDLL) Then
    $DLLUnrar = DllOpen($v_UnrarDLL)
    $rar_OpenedArchive = DllCall($DLLUnrar, "int", "RAROpenArchive", "ptr", DllStructGetPtr($rar_Str))

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

    If IsArray($rar_OpenedArchive) Then
    $iCount = 0
    Do
    $rar_Header = DllCall($DLLUnrar, "int", "RARReadHeader", "ptr", $rar_OpenedArchive[0], "ptr", DllStructGetPtr($rar_Header_Str))
    DllCall($DLLUnrar, "int", "RARProcessFile", "ptr", $rar_OpenedArchive[0], "int_ptr", 2, "ptr", "", "ptr", "") ;2 = $RAR_EXTRACT
    $iCount += 1
    Until $rar_Header[0] <> 0 Or $iCount = 20

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

    DllCall($DLLUnrar, "int", "RARCloseArchive", "int", $rar_OpenedArchive[0])
    DllClose($DLLUnrar)
    Return 1
    EndIf
    EndIf
    Return 0
    EndFunc ;==>_SM_RARExtract

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

    Func _SM_Check4MapFiles()
    For $z = 0 To UBound($vMapFilesArray) - 1
    $v_File = @ScriptDir & "\TheFranky\" & $vMapFilesArray[$z][0]
    If Not FileExists($v_File) Or FileGetSize($v_File) <> $vMapFilesArray[$z][1] Then _
    Return 1
    Next

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

    Return 0
    EndFunc ;==>_SM_Check4MapFiles

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

    ; =============================== MYSQL ================================

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

    Func _Login($sBenutzername = "", $sPasswort = "")
    $iRValue = _INetGetSource("http://www.sch0k0neger.de/login.php?benutzername=" & $sBenutzername & "&passwort=" & $sPasswort)

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

    Switch $iRValue
    Case 0
    Return 0
    Case 1
    Return 1
    Case 2
    Return 2
    EndSwitch
    EndFunc ;==>_Login

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

    Func _Registration($sBenutzername = "", $sPasswort = "")
    $iRValue = _INetGetSource("http://www.sch0k0neger.de/registrierung.php?benutzername=" & $sBenutzername & "&passwort=" & $sPasswort)

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

    Switch $iRValue
    Case 0
    MsgBox(16, "Error", "Registration fehlgeschlagen!")
    Case 1
    MsgBox(32, "Info", "Erfolgreich registriert!")
    Case 2
    MsgBox(16, "Error", "Der Benutzername ist bereits registriert!")
    Case 3
    MsgBox(16, "Error", "Benutzername/Passwort ist falsch!")
    EndSwitch
    EndFunc ;==>_Registration

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

    Func _MD5($Data)
    Local $CodeBuffer = DllStructCreate("byte[" & BinaryLen($_MD5Opcode) & "]")
    DllStructSetData($CodeBuffer, 1, $_MD5Opcode)

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

    Local $Input = DllStructCreate("byte[" & BinaryLen($Data) & "]")
    DllStructSetData($Input, 1, $Data)

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

    Local $Digest = DllStructCreate("byte[16]")

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

    DllCall("user32.dll", "none", "CallWindowProc", "ptr", DllStructGetPtr($CodeBuffer), _
    "ptr", DllStructGetPtr($Input), _
    "int", BinaryLen($Data), _
    "ptr", DllStructGetPtr($Digest), _
    "int", 0)

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

    Local $Ret = DllStructGetData($Digest, 1)
    $Input = 0
    $Digest = 0
    $CodeBuffer = 0
    Return StringLower(StringTrimLeft($Ret, 2))
    EndFunc ;==>_MD5

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

    Func _Status_Registration()
    $iRValue = _INetGetSource("http://www.sch0k0neger.de/abfragen.php")

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

    Switch $iRValue
    Case 0 ; - Registrierung nicht erlaubt
    MsgBox(16, "Error", "Registrierung nicht erlaubt")
    ;GUICtrlSetState($hInput_Passwort,$GUI_DISABLE)
    ;GUICtrlSetState($settinggui_benutzername,$GUI_DISABLE)
    ;GUICtrlSetState($settinggui_benutzername,$GUI_DISABLE)
    ;GUICtrlSetState($settinggui_password,$GUI_DISABLE)
    ;GUICtrlSetState($checkanmeldung,$noterlaubt)
    Case 1 ; - Registrierung erlaubt
    MsgBox(32, "Info", "Registrierung erlaubt!")

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

    ;GUICtrlSetState($Label1,$checkanmeldung)
    Case -1 ; - Fehler in Datenbank!
    ; MsgBox(16, "Error", "Fehler in Datenbank!")
    EndSwitch
    EndFunc ;==>_Registration

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

    3 Mal editiert, zuletzt von tuttifrutti (3. Mai 2010 um 22:40)

  • wieso startest du das registrierungsfenster überhaupt wenn die registrierung nicht erlaubt ist?^^
    ich würds so machen


    ps: ich würde mehr mit return und parametern für funktionen arbeiten. das erleichtert einiges

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>
    #include <INet.au3>
    #include <GUIConstantsEx.au3 >
    #include <GUIConstantsEx.au3>
    #include <GUIConstantsEx.au3>

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

    HotKeySet("{END}", "_exit")
    $INI = @ScriptDir & "\Data.ini"

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

    Global $_MD5Opcode = "0xC85800005356576A006A006A008D45A850E8280000006A00FF750CFF75088D45A850E8440000006A006A008D45A850FF7510E8710700005F5E5BC9C210005589E58B4D0831C0894114894110C70101234567C7410489ABCDEFC74108FEDCBA98C7410C765432105DC21000C80C0000538B5D088B4310C1E80383E03F8945F88B4510C1E0030143103943107303FF43148B4510C1E81D0143146A40582B45F88945F4394510724550FF750C8B45F88D44031850E8A00700008D43185053E84E0000008B45F48945FC8B45FC83C03F39451076138B450C0345FC5053E8300000008345FC40EBE28365F800EB048365FC008B45102B45FC508B450C0345FC508B45F88D44031850E84D0700005BC9C21000C84000005356576A40FF750C8D45C050E8330700008B45088B088B50048B70088B780C89D021F089D3F7D321FB09D801C1034DC081C178A46AD7C1C10701D189C821D089CBF7D321F309D801C7037DC481C756B7C7E8C1C70C01CF89F821C889FBF7D321D309D801C60375C881C6DB702024C1C61101FE89F021F889F3F7D321CB09D801C20355CC81C2EECEBDC1C1C21601F289D021F089D3F7D321FB09D801C1034DD081C1AF0F7CF5C1C10701D189C821D089CBF7D321F309D801C7037DD481C72AC68747C1C70C01CF89F821C889FBF7D321D309D801C60375D881C6134630A8C1C61101FE89F021F889F3F7D321CB09D801C20355DC81C2019546FDC1C21601F289D021F089D3F7D321FB09D801C1034DE081C1D8988069C1C10701D189C821D089CBF7D321F309D801C7037DE481C7AFF7448BC1C70C01CF89F821C889FBF7D321D309D801C60375E881C6B15BFFFFC1C61101FE89F021F889F3F7D321CB09D801C20355EC81C2BED75C89C1C21601F289D021F089D3F7D321FB09D801C1034DF081C12211906BC1C10701D189C821D089CBF7D321F309D801C7037DF481C7937198FDC1C70C01CF89F821C889FBF7D321D309D801C60375F881C68E4379A6C1C61101FE89F021F889F3F7D321CB09D801C20355FC81C22108B449C1C21601F289D021F889FBF7D321F309D801C1034DC481C162251EF6C1C10501D189C821F089F3F7D321D309D801C7037DD881C740B340C0C1C70901CF89F821D089D3F7D321CB09D801C60375EC81C6515A5E26C1C60E01FE89F021C889CBF7D321FB09D801C20355C081C2AAC7B6E9C1C21401F289D021F889FBF7D321F309D801C1034DD481C15D102FD6C1C10501D189C821F089F3F7D321D309D801C7037DE881C753144402C1C70901CF89F821D089D3F7D321CB09D801C60375FC81C681E6A1D8C1C60E01FE89F021C889CBF7D321FB09D801C20355D081C2C8FBD3E7C1C21401F289D021F889FBF7D321F309D801C1034DE481C1E6CDE121C1C10501D189C821F089F3F7D321D309D801C7037D"
    $_MD5Opcode &= "F881C7D60737C3C1C70901CF89F821D089D3F7D321CB09D801C60375CC81C6870DD5F4C1C60E01FE89F021C889CBF7D321FB09D801C20355E081C2ED145A45C1C21401F289D021F889FBF7D321F309D801C1034DF481C105E9E3A9C1C10501D189C821F089F3F7D321D309D801C7037DC881C7F8A3EFFCC1C70901CF89F821D089D3F7D321CB09D801C60375DC81C6D9026F67C1C60E01FE89F021C889CBF7D321FB09D801C20355F081C28A4C2A8DC1C21401F289D031F031F801C1034DD481C14239FAFFC1C10401D189C831D031F001C7037DE081C781F67187C1C70B01CF89F831C831D001C60375EC81C622619D6DC1C61001FE89F031F831C801C20355F881C20C38E5FDC1C21701F289D031F031F801C1034DC481C144EABEA4C1C10401D189C831D031F001C7037DD081C7A9CFDE4BC1C70B01CF89F831C831D001C60375DC81C6604BBBF6C1C61001FE89F031F831C801C20355E881C270BCBFBEC1C21701F289D031F031F801C1034DF481C1C67E9B28C1C10401D189C831D031F001C7037DC081C7FA27A1EAC1C70B01CF89F831C831D001C60375CC81C68530EFD4C1C61001FE89F031F831C801C20355D881C2051D8804C1C21701F289D031F031F801C1034DE481C139D0D4D9C1C10401D189C831D031F001C7037DF081C7E599DBE6C1C70B01CF89F831C831D001C60375FC81C6F87CA21FC1C61001FE89F031F831C801C20355C881C26556ACC4C1C21701F289F8F7D009D031F001C1034DC081C1442229F4C1C10601D189F0F7D009C831D001C7037DDC81C797FF2A43C1C70A01CF89D0F7D009F831C801C60375F881C6A72394ABC1C60F01FE89C8F7D009F031F801C20355D481C239A093FCC1C21501F289F8F7D009D031F001C1034DF081C1C3595B65C1C10601D189F0F7D009C831D001C7037DCC81C792CC0C8FC1C70A01CF89D0F7D009F831C801C60375E881C67DF4EFFFC1C60F01FE89C8F7D009F031F801C20355C481C2D15D8485C1C21501F289F8F7D009D031F001C1034DE081C14F7EA86FC1C10601D189F0F7D009C831D001C7037DFC81C7E0E62CFEC1C70A01CF89D0F7D009F831C801C60375D881C6144301A3C1C60F01FE89C8F7D009F031F801C20355F481C2A111084EC1C21501F289F8F7D009D031F001C1034DD081C1827E53F7C1C10601D189F0F7D009C831D001C7037DEC81C735F23ABDC1C70A01CF89D0F7D009F831C801C60375C881C6BBD2D72AC1C60F01FE89C8F7D009F031F801C20355E481C291D386EBC1C21501F28B4508010801500401700801780C5F5E5BC9C20800C814000053E840000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008F45EC8B5D0C6A088D4310508D"
    $_MD5Opcode &= "45F850E8510000008B4310C1E80383E03F8945F483F838730B6A38582B45F48945F0EB096A78582B45F48945F0FF75F0FF75ECFF750CE831F8FFFF6A088D45F850FF750CE823F8FFFF6A1053FF7508E8050000005BC9C210005589E55156578B7D088B750C8B4D10FCF3A45F5E595DC20C00"

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

    Const $vUpdateServer = "sch0k0neger.de"
    Const $vScriptFile = "http://www.sch0k0neger.de/version.txt"
    Const $vChangelogFile = "http://www.sch0k0neger.de/changelog_en.txt"
    Const $vUnrarDLL = "http://www.sch0k0neger.de/unrar.dll"
    Const $vMapFiles = "http://www.sch0k0neger.de/TheFranky.rar"

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

    Const $vMapFilesArray[1][2] = [ _ ;Contains information about the mapfiles ( $Array[x][0] = Filename, $Array[x][1] = Filesize)
    ["Read_Me_!.txt", 69]];, _
    ;["exit.ico", 94208], _
    ;["Settings.ico", 432260], _
    ;["Rubik-Pocket-Cube.ico", 372532]]

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

    $vVersion = "3.15a"
    $vGUIColor = 0x161616
    $vGUIColor2 = 0x161616
    Dim $hGUIListChangelog

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

    If IniRead(@ScriptDir & "\Data.ini", "Settings", "Check", 1) = 1 And _SM_Check4MapFiles() = 1 Then
    $hGUI = GUICreate("Files", 300, 210)
    GUICtrlCreateLabel("Some Files might be missing or damaged. The minimap and big map in SApfel Manager will only work if the latest Files are installed. Therefore create a folder 'Files' and put the mappics into it." & @CRLF & "You can either download the mapfiles by yourself (visit http://sch0k0neger.de) or SApfel Manager will install the Files for you. If you click on Yes, SApfel Manager will download and install the Files." & @CRLF & @CRLF & "Auto install the Files?", 10, 10, 280, 140)
    $hCheckBoxMsg = GUICtrlCreateCheckbox("Never show this message again! (Not recommended)", 10, 150)
    $hButtonYes = GUICtrlCreateButton("Yes", 30, 175, 90)
    $hButtonNo = GUICtrlCreateButton("No", 180, 175, 90)
    WinSetOnTop($hGUI, "", 1)
    GUISetState()

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

    While 1
    Switch GUIGetMsg()
    Case -3
    Exit
    Case $hButtonNo
    If GUICtrlRead($hCheckBoxMsg) = 1 Then IniWrite(@ScriptDir & "\Data.ini", "Settings", "Check", 0)
    GUIDelete()
    ExitLoop
    Case $hButtonYes
    If GUICtrlRead($hCheckBoxMsg) = 1 Then IniWrite(@ScriptDir & "\Data.ini", "Settings", "Check", 0)
    GUISetState(@SW_HIDE, $hGUI)
    _SM_MapFilesInstall()
    GUIDelete($hGUI)
    ExitLoop
    EndSwitch
    WEnd
    EndIf

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

    Opt("GUIResizeMode", 802)
    Opt("WinTitleMatchMode", 2)
    Opt("TrayMenuMode", 1)
    Opt("TrayOnEventMode", 1)

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

    $runwindoof = IniRead($INI, "Windows", "Run", "")

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

    $ontop = IniRead($INI, "Window", "OnTop", "")

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

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

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

    If Not FileExists($INI) Then
    IniWrite($INI, "Default", "Titel", "(C) The-Franky 2009 - 2010")
    EndIf

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

    If @Compiled = 0 Then
    TraySetIcon("Rubik-Pocket-Cube.ico")
    EndIf

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

    TraySetToolTip($vVersion)

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

    $BOLTEST = False
    $FORM1 = GUICreate("" & $vVersion & " - by Franky", 195, 15, -1, -1, $WS_POPUP, 0)
    GUISetBkColor(16777215)

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

    $Progress1 = GUICtrlCreateProgress(-1, -1, 198, 17)

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

    GUISetState(@SW_SHOW)
    For $i = 0 To 100 Step 5
    Sleep(60)
    GUICtrlSetData($Progress1, $i)

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

    Next
    ProgressOff()
    GUISetState(@SW_HIDE)

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

    ;=======================================================================================================

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

    $FORM2 = GUICreate("(C) " & $vVersion & "", 300, 125, -1, -1, $WS_POPUP + $WS_SIZEBOX + $WS_EX_TOOLWINDOW + $WS_EX_TOPMOST + $WS_EX_WINDOWEDGE + $WS_EX_TOPMOST + $WS_VISIBLE + $WS_CLIPSIBLINGS)

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

    ;====================================================

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

    $Info = GUICtrlCreateButton("F.A.Q", 260, 75, 35, 30, $BS_ICON)
    GUICtrlSetImage(-1, @ScriptDir & "\Settings.ico", 1)

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

    ;====================================================;====================================================

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

    GUISetFont(8, 800, 0, "MS Sans Serif")
    GUICtrlCreateLabel("Benutzername", 25, 14, 84, 17)
    GUICtrlCreateLabel("Passwort", 53, 38, 55, 17)
    $hInput_Benutzername = GUICtrlCreateInput("", 112, 12, 137, 21)
    $hInput_Passwort = GUICtrlCreateInput("", 112, 36, 137, 21)
    $hButton_Login = GUICtrlCreateButton("Login", 112, 72, 137, 33, $BS_DEFPUSHBUTTON)
    $hButton_Registrieren = GUICtrlCreateButton("Registrieren", 24, 72, 89, 33, 0)
    $Exit = GUICtrlCreateButton("Exit", 270, 0, 35, 30, $BS_ICON)
    GUICtrlSetImage(-1, @ScriptDir & "\exit.ico", 1)

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

    ;====================================================
    GUISetState(@SW_SHOW)

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

    #region UpdateGUI
    ;UpdateGUI
    $vGUIStandartHeight = 290
    $vGUILargeHeight = $vGUIStandartHeight + 327
    $vGUIStandartWidth = 778
    $vGUIColor = 0x161616 ;Label of BigMap needs to be changed manually (GUIFuncs.au3, Function: _SM_WritePicLabel + _SM_WorldMapExtras), also Background of Minimap (GUIFuncs.au3, Function: _SM_UnsetMiniMap)
    $hGUI = GUICreate("SApfel Manager v" & $vVersion, $vGUIStandartWidth - 6, $vGUIStandartHeight)
    $hGUIUpdate = GUICreate("SApfel Manager - Update", 500, 305, -1, -1, -1, 0x00000080, $hGUI)
    GUISetBkColor($vGUIColor, $hGUIUpdate)

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

    $hGUILabelNewVersion = GUICtrlCreateLabel("", 10, 10, 480, 17)
    GUICtrlSetColor(-1, 0xFFFFFF)
    $hGUIListChangelog = GUICtrlCreateList("", 10, 30, 480, 240, BitOR(0x4000, 0x0100, 0x00200000))
    GUICtrlSetBkColor(-1, $vGUIColor)
    GUICtrlSetColor(-1, 0xFFFFFF)

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

    $hGUIButtonDownload = GUICtrlCreateButton("Go to downloadpage", 10, 275, 235, 20)
    $hGUIButtonCancelUpdate = GUICtrlCreateButton("Cancel", 255, 275, 235, 20)
    GUISetState(@SW_HIDE)
    #endregion UpdateGUI

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

    While 1

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

    $MSG = GUIGetMsg(1)
    Switch $MSG[1]
    Case $FORM1
    If $BOLTEST = False Then

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

    For $i = 0 To 100 Step +1
    Sleep(5)
    GUICtrlSetData($Progress1, $i)
    Next
    GUISetState(@SW_HIDE, $FORM1)
    GUISetState(@SW_SHOW, $FORM2)
    $BOLTEST = True
    EndIf
    Case $FORM2

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

    Switch $MSG[0]

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

    Case $GUI_EVENT_CLOSE, $Exit
    Exit

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

    Case $Info
    MsgBox(0, "", "Info ~ F.A.Q --- [The-Franky] (c) 2009 - 2010")

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

    Case $hButton_Registrieren
    Settings()

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

    Case $hButton_Login
    $sBenutzername = GUICtrlRead($hInput_Benutzername)
    $sPasswort = GUICtrlRead($hInput_Passwort)

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

    If $sBenutzername <> "" And $sPasswort <> "" Then
    Switch _Login($sBenutzername, _MD5($sPasswort))
    Case 0
    MsgBox(16, "Error", "Benutzername ist nicht registriert!")
    Case 1
    MsgBox(32, "Info", "Erfolgreich eingeloggt!")
    GUIDelete($FORM2)
    Sleep(100)
    MainGui()

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

    Case 2
    MsgBox(16, "Error", "Passwort ist falsch!")
    EndSwitch
    Else
    MsgBox(48, "Info", "Bitte einen Bentzernamen/Passwort angeben!")
    EndIf
    Case $hButton_Registrieren

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

    $sBenutzername = GUICtrlRead($hInput_Benutzername)
    $sPasswort = GUICtrlRead($hInput_Passwort)

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

    If $sBenutzername <> "" And $sPasswort <> "" Then _Registration($sBenutzername, $sPasswort)

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

    EndSwitch
    EndSwitch
    WEnd

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

    Func Settings()
    $reg_status = _Status_Registration()
    If $reg_status = 1 Then

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

    Opt("GUIOnEventMode", 0)
    GUISetState(@SW_DISABLE, $FORM2)
    GUISetState(@SW_HIDE, $FORM2)

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

    $checkanmeldung = "Erlaubt"
    $settinggui = GUICreate("Registrieren", 260, 175, -1, -1)
    GUICtrlCreateLabel("Benutzername", 25, 14, 84, 17)
    GUICtrlCreateLabel("Passwort", 53, 38, 55, 17)
    $settinggui_benutzername = GUICtrlCreateInput("", 112, 12, 137, 21)
    $settinggui_password = GUICtrlCreateInput("", 112, 36, 137, 21)
    $cancel = GUICtrlCreateButton("Exit", 10, 88, 240, 20)
    $bestatigen = GUICtrlCreateButton("Registrieren", 10, 64, 240, 20)
    $groupgeneral2 = GUICtrlCreateGroup("Info", 10, 113, 240, 42)
    $Label1 = GUICtrlCreateLabel("" & "", 24, 128, 205, 19)
    GUICtrlCreateGroup("", -99, -99, 1, 1)

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

    GUISetState(@SW_SHOW, $settinggui)

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

    While 1
    Switch GUIGetMsg($settinggui)
    Case -3
    ExitLoop

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

    Case $cancel
    ExitLoop

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

    Case $bestatigen
    $sBenutzername = GUICtrlRead($settinggui_benutzername)
    $sPasswort = GUICtrlRead($settinggui_password)

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

    If $sBenutzername <> "" And $sPasswort <> "" Then _Registration($sBenutzername, $sPasswort)

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

    ExitLoop
    ;Exit

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

    EndSwitch
    Sleep(10)
    WEnd

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

    GUIDelete($settinggui)
    Sleep(100)

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

    GUISetState(@SW_ENABLE, $FORM2)
    GUISetState(@SW_SHOW, $FORM2)
    GUISetState(@SW_ENABLE, $FORM1)
    EndIf
    EndFunc ;==>Settings

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

    Func MainGui()
    Opt("GUIOnEventMode", 0)
    GUISetState(@SW_DISABLE, $FORM2)
    GUISetState(@SW_HIDE, $FORM2)

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

    $maingui = GUICreate("Main Gui", 260, 175, -1, -1)
    $hGUILabelUpdateAndSApfelInfo = GUICtrlCreateLabel("", 25, 14, 84, 17)
    GUICtrlSetColor(-1, 0x00FF00)
    GUICtrlSetState(-1, 32)
    GUICtrlCreateLabel("Test2", 53, 38, 55, 17)
    $check = GUICtrlCreateButton("Check", 10, 88, 240, 20)
    $groupgeneral2 = GUICtrlCreateGroup("Info", 10, 113, 240, 42)
    $Label1 = GUICtrlCreateLabel("Made by" & "Franky", 24, 128, 205, 19)
    GUICtrlCreateGroup("", -99, -99, 1, 1)

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

    GUISetState(@SW_SHOW, $maingui)

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

    While 1
    Switch GUIGetMsg($maingui)
    Case -3
    Exit

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

    Case $check
    _SM_ClickUpdateCheck()

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

    Case $hGUIButtonDownload
    _SM_ClickButtonDownload()
    Case $hGUIButtonCancelUpdate, $hGUIUpdate
    _SM_ClickButtonCancelUpdate()

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

    EndSwitch
    Sleep(10)
    WEnd

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

    GUIDelete($maingui)
    Sleep(100)

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

    EndFunc ;==>MainGui

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

    Func _exit()
    Sleep(10)
    Exit
    EndFunc ;==>_exit

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

    ; ============================= SONSTIGES ==============================

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

    Func _SM_ClickUpdateCheck()
    ;GUICtrlSetData($hGUILabelUpdateAndSApfelInfo, "Receiving latest SApfel Manager-Version from http://" & $vUpdateServer)
    ;GUICtrlSetState($hGUILabelUpdateAndSApfelInfo, 16)
    _SM_UpdateCheck($vVersion)
    If @error = 1 Then
    MsgBox(48, "Connection timeout", "You either do not have a connection to the world wide web or the server is currently down.")
    ElseIf @error = 2 Then
    MsgBox(48, "Error", "Error getting the version!")
    ElseIf @error = 3 Then
    MsgBox(64, "No update available", "You are using the latest version (v" & $vVersion & ").")
    Else
    GUISetState(@SW_HIDE, $FORM1)
    GUISetState(@SW_SHOW, $hGUIUpdate) ;5
    EndIf
    ;GUICtrlSetState($hGUILabelUpdateAndSApfelInfo, 32)
    EndFunc ;==>_SM_ClickUpdateCheck

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

    Func _SM_UpdateCheck($vCurrentVersion)
    If Ping($vUpdateServer) = 0 Then
    SetError(1)
    Else
    $vLatestVersion = _INetGetSource_($vScriptFile)
    If @error Then
    SetError(2)
    Else
    If $vCurrentVersion <> $vLatestVersion Then
    GUICtrlSetData($hGUILabelNewVersion, "There is a new version available (old: " & $vCurrentVersion & " | new: " & $vLatestVersion & ").")
    $vChangelog = StringSplit(_INetGetSource_($vChangelogFile), @CRLF)
    For $i = 1 To $vChangelog[0]
    GUICtrlSendMsg($hGUIListChangelog, 0x0180, 0, $vChangelog[$i])
    Next
    Return SetError(0, 0, $vLatestVersion)
    Else
    SetError(3)
    EndIf
    EndIf
    EndIf
    Return 0
    EndFunc ;==>_SM_UpdateCheck

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

    Func _INetGetSource_($s_URL, $bString = True)
    Local $sString = InetRead($s_URL, 1)
    Local $nError = @error, $nExtended = @extended
    If $bString Then $sString = BinaryToString($sString)
    Return SetError($nError, $nExtended, $sString)
    EndFunc ;==>_INetGetSource_

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

    Func _SM_ClickButtonDownload()
    GUISetState(@SW_HIDE, $hGUIUpdate)
    GUICtrlSetData($hGUIListChangelog, "")
    ShellExecute("http://" & $vUpdateServer)
    EndFunc ;==>_SM_ClickButtonDownload

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

    Func _SM_ClickButtonCancelUpdate()
    GUISetState(@SW_HIDE, $hGUIUpdate)
    ;GUISetState(@SW_SHOW, $maingui)
    GUICtrlSetData($hGUIListChangelog, "")
    EndFunc ;==>_SM_ClickButtonCancelUpdate

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

    Func _SM_MapFilesInstall()
    $v_MapFiles = @TempDir & "\Files.rar"

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

    ProgressOn("Downloading...", "Loading 'unrar.dll'", "")

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

    $v_SizeUnrarDLL = Round(InetGetSize($vUnrarDLL) / 1024)
    $hDownload = InetGet($vUnrarDLL, @TempDir & "\unrar.dll", 1, 1)
    Do
    $v_DLBytes = Round(InetGetInfo($hDownload, 0) / 1024)
    $v_DLPercent = Round($v_DLBytes / $v_SizeUnrarDLL * 100)
    ProgressSet($v_DLPercent, @LF & $v_DLBytes & "/" & $v_SizeUnrarDLL & "KB " & $v_DLPercent & "%")
    Sleep(100)
    Until InetGetInfo($hDownload, 2)

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

    ProgressSet(0, "", "Loading 'Files.rar'")

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

    $v_SizeMapFilesRar = Round(InetGetSize($vMapFiles) / 1024)
    Local $hDownload = InetGet($vMapFiles, $v_MapFiles, 1, 1)
    Do
    $v_DLBytes = Round(InetGetInfo($hDownload, 0) / 1024)
    $v_DLPercent = Round($v_DLBytes / $v_SizeMapFilesRar * 100)
    ProgressSet($v_DLPercent, @LF & $v_DLBytes & "/" & $v_SizeMapFilesRar & "KB " & $v_DLPercent & "%")
    Sleep(200)
    Until InetGetInfo($hDownload, 2)

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

    ProgressSet(100, @LF & "This may take some seconds.", "Installing Files...")
    $bExtractionSuc = _SM_RARExtract(@TempDir & "\unrar.dll", $v_MapFiles)

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

    Sleep(2000)

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

    FileDelete(@TempDir & "\unrar.dll")
    FileDelete($v_MapFiles)

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

    If $bExtractionSuc = 1 Then
    ProgressSet(100, @LF & "Installation done. Have fun!", "Installing Files...")
    Sleep(3000)
    Else
    For $i = 15 To 1 Step -1
    ProgressSet(100, "Error occured. Please make sure that you are connected" & @CRLF & "to the www and that SApfel Manager was started in" & @CRLF & "32 bit mode. Continuing in " & $i & " seconds", "Installing Files...")
    Sleep(1000)
    Next
    EndIf

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

    ProgressOff()
    EndFunc ;==>_SM_MapFilesInstall

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

    Func _SM_RARExtract($v_UnrarDLL, $v_RarFile) ;$v_UnrarDLL = path to unrar.dll file, $v_RarFile = path to rar file
    Local $sResult

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

    $rar_ArchivName = DllStructCreate("char[260]")
    DllStructSetData($rar_ArchivName, 1, $v_RarFile)

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

    $rar_CmtBuf = DllStructCreate("char[16384]")
    For $iCount = 1 To 16384
    $sResult &= " "
    Next
    DllStructSetData($rar_CmtBuf, 1, $sResult)

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

    $rar_Str = DllStructCreate("ptr;uint;uint;ptr;uint;uint;uint")

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

    DllStructSetData($rar_Str, 1, DllStructGetPtr($rar_ArchivName))
    DllStructSetData($rar_Str, 2, 1) ;1 = $RAR_OM_EXTRACT
    DllStructSetData($rar_Str, 3, 0)
    DllStructSetData($rar_Str, 4, DllStructGetPtr($rar_CmtBuf))
    DllStructSetData($rar_Str, 5, 16384)
    DllStructSetData($rar_Str, 6, 0)
    DllStructSetData($rar_Str, 7, 0)
    $rar_Header_CmtBuf = DllStructCreate("char[16384]")

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

    $rar_Header_Str = DllStructCreate("char[260];char[260];uint;uint;uint;uint;uint;uint;uint;uint;uint;ptr;uint;uint;uint")
    DllStructSetData($rar_Header_Str, 12, DllStructGetPtr($rar_Header_CmtBuf))

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

    If FileExists($v_UnrarDLL) Then
    $DLLUnrar = DllOpen($v_UnrarDLL)
    $rar_OpenedArchive = DllCall($DLLUnrar, "int", "RAROpenArchive", "ptr", DllStructGetPtr($rar_Str))

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

    If IsArray($rar_OpenedArchive) Then
    $iCount = 0
    Do
    $rar_Header = DllCall($DLLUnrar, "int", "RARReadHeader", "ptr", $rar_OpenedArchive[0], "ptr", DllStructGetPtr($rar_Header_Str))
    DllCall($DLLUnrar, "int", "RARProcessFile", "ptr", $rar_OpenedArchive[0], "int_ptr", 2, "ptr", "", "ptr", "") ;2 = $RAR_EXTRACT
    $iCount += 1
    Until $rar_Header[0] <> 0 Or $iCount = 20

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

    DllCall($DLLUnrar, "int", "RARCloseArchive", "int", $rar_OpenedArchive[0])
    DllClose($DLLUnrar)
    Return 1
    EndIf
    EndIf
    Return 0
    EndFunc ;==>_SM_RARExtract

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

    Func _SM_Check4MapFiles()
    For $z = 0 To UBound($vMapFilesArray) - 1
    $v_File = @ScriptDir & "\TheFranky\" & $vMapFilesArray[$z][0]
    If Not FileExists($v_File) Or FileGetSize($v_File) <> $vMapFilesArray[$z][1] Then _
    Return 1
    Next

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

    Return 0
    EndFunc ;==>_SM_Check4MapFiles

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

    ; =============================== MYSQL ================================

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

    Func _Login($sBenutzername = "", $sPasswort = "")
    $iRValue = _INetGetSource("http://www.sch0k0neger.de/login.php?benutzername=" & $sBenutzername & "&passwort=" & $sPasswort)

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

    Switch $iRValue
    Case 0
    Return 0
    Case 1
    Return 1
    Case 2
    Return 2
    EndSwitch
    EndFunc ;==>_Login

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

    Func _Registration($sBenutzername = "", $sPasswort = "")
    $iRValue = _INetGetSource("http://www.sch0k0neger.de/registrierung.php?benutzername=" & $sBenutzername & "&passwort=" & $sPasswort)

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

    Switch $iRValue
    Case 0
    MsgBox(16, "Error", "Registration fehlgeschlagen!")
    Case 1
    MsgBox(32, "Info", "Erfolgreich registriert!")
    Case 2
    MsgBox(16, "Error", "Der Benutzername ist bereits registriert!")
    Case 3
    MsgBox(16, "Error", "Benutzername/Passwort ist falsch!")
    EndSwitch
    EndFunc ;==>_Registration

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

    Func _MD5($Data)
    Local $CodeBuffer = DllStructCreate("byte[" & BinaryLen($_MD5Opcode) & "]")
    DllStructSetData($CodeBuffer, 1, $_MD5Opcode)

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

    Local $Input = DllStructCreate("byte[" & BinaryLen($Data) & "]")
    DllStructSetData($Input, 1, $Data)

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

    Local $Digest = DllStructCreate("byte[16]")

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

    DllCall("user32.dll", "none", "CallWindowProc", "ptr", DllStructGetPtr($CodeBuffer), _
    "ptr", DllStructGetPtr($Input), _
    "int", BinaryLen($Data), _
    "ptr", DllStructGetPtr($Digest), _
    "int", 0)

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

    Local $Ret = DllStructGetData($Digest, 1)
    $Input = 0
    $Digest = 0
    $CodeBuffer = 0
    Return StringLower(StringTrimLeft($Ret, 2))
    EndFunc ;==>_MD5

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

    Func _Status_Registration()
    $iRValue = _INetGetSource("http://www.sch0k0neger.de/abfragen.php")

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

    Switch $iRValue
    Case 0 ; - Registrierung nicht erlaubt
    MsgBox(16, "Error", "Registrierung nicht erlaubt")
    Return 0
    ;GUICtrlSetState($hInput_Passwort,$GUI_DISABLE)
    ;GUICtrlSetState($settinggui_benutzername,$GUI_DISABLE)
    ;GUICtrlSetState($settinggui_benutzername,$GUI_DISABLE)
    ;GUICtrlSetState($settinggui_password,$GUI_DISABLE)
    ;GUICtrlSetState($checkanmeldung,$noterlaubt)
    Case 1 ; - Registrierung erlaubt
    MsgBox(32, "Info", "Registrierung erlaubt!")
    Return 1

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

    ;GUICtrlSetState($Label1,$checkanmeldung)
    Case -1 ; - Fehler in Datenbank!
    Return -1
    ; MsgBox(16, "Error", "Fehler in Datenbank!")
    EndSwitch
    EndFunc ;==>_Status_Registration

    [/autoit]

    edit: includes entfernt und tidy benutzt ;)

  • Ist auch ne möglichkeit ^^ :) Finde ich sogar noch besser ist mir garnicht eingefallen (=
    Und mit dem #include entfernen.
    Wenn ich das mit den wenigen öffne kommen nur Fehler.
    Mit diesen hier geht es auch :

    [autoit]

    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <INet.au3>

    [/autoit]

    Nur ich weiß immer noch nicht, was ich jetzt im MainGui machen könnte.
    Habt ihr Ideen ?
    MfG <--