Script Schützen

  • Bin ich so doof oder wie? :D

    Fehlermeldung

    C:\Users\Lukas\Documents\ocr-tool\test2.au3(73,23) : WARNING: $b_registerserial: possibly used before declaration.
    Case $b_registerserial
    ~~~~~~~~~~~~~~~~~~~~~~^
    C:\Users\Lukas\Documents\ocr-tool\test2.au3(108,55) : ERROR: syntax error
    Func _mysql_setlasttime(Const $Mysqlverbindung, Const sAccount
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    C:\Users\Lukas\Documents\ocr-tool\test2.au3(109,27) : ERROR: undefined macro.
    $datum = @MDAY&@MON&@DYEAR
    ~~~~~~~~~~~~~~~~~~~~~~~~~~^
    C:\Users\Lukas\Documents\ocr-tool\test2.au3(110,118) : WARNING: $sAccount: possibly used before declaration.
    $gettime = _MySQL_Real_Query($MysqlVerbindung, "SELECT `Time` FROM `lolrofl`.`tool` WHERE `Account` = '" & $sAccount &
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    C:\Users\Lukas\Documents\ocr-tool\test2.au3(111,58) : WARNING: $GuiCTRLRead: possibly used before declaration.
    if(_mysql_checklast($MysqlConn, $GuiCTRLRead($i_username))
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    C:\Users\Lukas\Documents\ocr-tool\test2.au3(111,66) : ERROR: undefined macro.
    if(_mysql_checklast($MysqlConn, $GuiCTRLRead($i_username)) = @DAY&
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    C:\Users\Lukas\Documents\ocr-tool\test2.au3(111,76) : ERROR: undefined macro.
    if(_mysql_checklast($MysqlConn, $GuiCTRLRead($i_username)) = @DAY&@MON&@DAY)
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    C:\Users\Lukas\Documents\ocr-tool\test2.au3(115,1) : ERROR: missing EndIf.
    EndFunc
    ^
    C:\Users\Lukas\Documents\ocr-tool\test2.au3(111,82) : REF: missing EndIf.
    if(_mysql_checklast($MysqlConn, $GuiCTRLRead($i_username)) = @DAY&@MON&@DAY) then
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    C:\Users\Lukas\Documents\ocr-tool\test2.au3(73,23) : ERROR: $b_registerserial: undeclared global variable.
    Case $b_registerserial
    ~~~~~~~~~~~~~~~~~~~~~~^
    C:\Users\Lukas\Documents\ocr-tool\test2.au3(77,42) : ERROR: _mysql_checkserial(): undefined function.
    if(_mysql_checkserial($MysqlConn, $serial)
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    C:\Users\Lukas\Documents\ocr-tool\test2.au3 - 7 error(s), 3 warning(s)

    Sry mit Fehlern ausbessern bin ich noch kein Profi ^^

  • Ja ;D Ich merk scho hab da einiges in Sand gesetzt... Aber ohne Scite isses verdammt schwer O.o


    Änder mal folgendes:

    [autoit]


    $b_buyfull = GUICtrlCreateButton("Vollversion kaufen", 136, 257, 113, 23, $WS_GROUP)
    $b_gotonext = GUICtrlCreateButton("Weiter", 8, 256, 113, 25, $WS_GROUP)
    $b_registerserial = GUICtrlCreateButton("Register Serial", 8,270,113,15,$WS_GROUP)

    [/autoit]

    Du musst die Koordinaten von dem Button $b_registerserial anpassen, weiß grad net, wie das aussieht (kein Scite xD)


    [autoit]

    Func _mysql_setlasttime(Const $Mysqlverbindung, Const $sAccount)
    $datum = @MDAY&@MON&@YEAR
    $gettime = _MySQL_Real_Query($MysqlVerbindung, "SELECT `Time` FROM `lolrofl`.`tool` WHERE `Account` = '" & $sAccount & "';")
    if(_mysql_checklast($MysqlConn, GuiCTRLRead($i_username)) = @MDAY&@MON&@YEAR) then
    else
    _MySQL_Real_Query($MysqlConn, "UPDATE tool SET lastcheck = "&$datum&" WHERE `Serial` = '" & $serial & "';")
    _MySQL_Real_Query($MysqlConn, "UPDATE tool SET time = "&$gettime&" WHERE `Serial` = '" & $serial & "';")
    EndIF
    EndFunc

    [/autoit]


    Da fehlte das EndIf und es heißt GuiCTRLRead und net $GuiCtrlRead und das $ fehlte vor sAccount :D Sry


    Bitte erneut Fehlerlog posten :o

  • Fehlerlog 2.0

    C:\Users\Lukas\Documents\ocr-tool\test2.au3(50,14) : WARNING: $b_login: possibly used before declaration.
    Case $b_login
    ~~~~~~~~~~~~~^
    C:\Users\Lukas\Documents\ocr-tool\test2.au3(50,14) : ERROR: $b_login: undeclared global variable.
    Case $b_login
    ~~~~~~~~~~~~~^
    C:\Users\Lukas\Documents\ocr-tool\test2.au3(77,42) : ERROR: _mysql_checkserial(): undefined function.
    if(_mysql_checkserial($MysqlConn, $serial)
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    C:\Users\Lukas\Documents\ocr-tool\test2.au3 - 2 error(s), 1 warning(s)

    Danke dass du dir die Mühe machst :)

  • Für den Serialfehler bitte folgende Funktion unter die anderen schreiben:


    [autoit]

    Func _mysql_checkserial(Const $MysqlVerbindung, Const $serial)
    _MySQL_Real_Query($MysqlVerbindung, "SELECT `Account` FROM `lolrofl`.`tool` WHERE `Serial` = '" & $serial & "';")
    If @error Then
    Return SetError(-1, @error, 0)
    Else
    Local $sResult = _MySQL_Store_Result($MysqlVerbindung)
    Local $aReturn = _MySQL_Fetch_Row_StringArray($sResult)
    _MySQL_Free_Result($sResult)
    If UBound($aReturn) = 0 Then
    Return SetError(-2, @error, 0)
    Else
    Return $aReturn[0]
    EndIf
    EndIf
    EndFunc ;==>_mysql_checkserial

    [/autoit]


    Danach sollte auch der Fehler behoben sein. Ich editiert diesen Post, falls ich die Lösung für den Buttonfehler habe.


    Schrubber

  • Ach die Variable exisitert bei mir gar nicht:

    Code
    [autoit]

    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <mysql.au3>
    $toolname = "Schrubbers Testtool"
    $short = "Schrubber"
    Local $UserName = "root", $Password = "root", $Database = "lolrofl", $MySQLServerName = "localhost"
    _MySQL_InitLibrary()
    If @error Then
    TrayTip('Error', 'libmysql.dll konnte nicht gefunden werden', 10, 3)
    Sleep(10000)
    Exit
    EndIf
    $MysqlConn = _MySQL_Init()
    $Connected = _MySQL_Real_Connect($MysqlConn, $MySQLServerName, $UserName, $Password, $Database)
    $hSQLping = _MySQL_Ping($MysqlConn)
    If $hSQLping = 1 Or $hSQLping = 3 Then
    TrayTip('Error', 'Verbindung zur Datenbank konnte nicht hergestellt werden', 10, 3)
    Sleep(10000)
    Exit
    EndIf

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

    #Region ### START Koda GUI section ### Form=
    $title = GUICreate($toolname, 386, 322, 192, 124)
    $b_buyfull = GUICtrlCreateButton("Vollversion kaufen", 136, 257, 113, 23, $WS_GROUP)
    $b_gotonext = GUICtrlCreateButton("Weiter", 8, 256, 113, 25, $WS_GROUP)
    $b_registerserial = GUICtrlCreateButton("Register Serial", 8,270,113,15,$WS_GROUP)
    $l_headline = GUICtrlCreateLabel($short, 50, 24, 260, 58)
    GUICtrlSetFont(-1, 28, 800, 2, "Nightclub BTN")
    GUICtrlSetColor(-1, 0xFF0000)
    $i_username = GUICtrlCreateInput("", 104, 144, 233, 21)
    $i_passwort = GUICtrlCreateInput("", 104, 176, 233, 21, BitOR($ES_PASSWORD,$ES_AUTOHSCROLL))
    $l_username = GUICtrlCreateLabel("Username", 40, 144, 52, 17)
    $l_password = GUICtrlCreateLabel("Password", 40, 176, 50, 17)
    $l_info = GUICtrlCreateLabel("Sie nutzen die", 40, 224, 74, 17)
    $l_version = GUICtrlCreateLabel("Testversion", 112, 224, 59, 17)
    GUICtrlSetColor(-1, 0xFF0000)
    $l_leftinfo = GUICtrlCreateLabel("Verbleibende Zeit:", 16, 296, 90, 17)
    $l_timeleft = GUICtrlCreateLabel("(No time)", 112, 296, 45, 17)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    While True
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    _quit()
    Case $b_login
    if (GUICtrlRead($i_username) = "") Then
    MsgBox(0, "Error", "Sie haben keinen Username eingegeben.")
    Elseif (GUICtrlRead($i_passwort) = "") Then
    MsgBox(0, "Error", "Sie haben kein Passwort eingegeben.")
    Else
    Local $sReturn = _mysql_checklogin($MysqlConn, GUICtrlRead($i_username))
    If GUICtrlRead($i_passwort) == $sReturn Then
    MsgBox(0, "Login erfolgreich", "Sie haben sich erfolgreich eingeloggt!")
    $version = _mysql_checkversion($MysqlConn, GuiCtrlRead($i_username))
    if($version = "V") Then
    GUICtrlSetData($l_version, "Vollversion")
    GUICtrlSetColor($l_version, 0x32CD32)
    EndIf
    GUICtrlSetData($l_timeleft, _mysql_checktime($MysqlConn, GuiCtrlRead($i_username)))
    Else
    MsgBox(0, "Login fehlgeschlagen", "Die eingegebenen Daten sind falsch. Versuchen sie es bitte erneut.")
    EndIf
    EndIf
    Case $b_buyfull
    ShellExecute("http://LinkzuderHomepage.de")

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

    Case $b_registerserial
    $serial = InputBox("Serial-Registration", "Bitte geben sie hier Ihren Key ein (Bsp: xxxx-xxxx-xxxx-xxxx)")
    $wunschaccount = InputBox("Wunsch-Accountname", "Bitte Wunsch-Accountnamen eingeben.")
    $wunschpasswort = InputBox("Wunsch-Passwort", "Bitte Wunsch-Passwort eingeben.")
    if(_mysql_checkserial($MysqlConn, $serial) = "") Then
    _MySQL_Real_Query($MysqlConn, "UPDATE tool SET Account = '"&$wunschaccount&"' WHERE Serial = '"&$serial&"'")
    _MySQL_Real_Query($MysqlConn, "UPDATE tool SET Password = '"&$wunschpasswort&"' WHERE Serial = '"&$serial&"'")
    Else
    MSGBOX(0, "Registration fehlgeschlagen", "Ihr Serial ist entweder falsch oder bereits registriert")
    EndIf

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

    Case $b_gotonext
    if($l_timeleft = 0) then
    MSGBOX(0, "Zeit abgelaufen", "Das Programm funktioniert aufgrund der abgelaufenen Zeit nicht mehr.")
    else
    _starteprogramm()
    EndIF

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

    EndSwitch
    WEnd
    Func _mysql_checklogin(Const $MysqlVerbindung, Const $sAccount)
    _MySQL_Real_Query($MysqlVerbindung, "SELECT `Password` FROM `lolrofl`.`tool` WHERE `Account` = '" & $sAccount & "';")
    If @error Then
    Return SetError(-1, @error, 0)
    Else
    Local $sResult = _MySQL_Store_Result($MysqlVerbindung)
    Local $aReturn = _MySQL_Fetch_Row_StringArray($sResult)
    _MySQL_Free_Result($sResult)
    If UBound($aReturn) = 0 Then
    Return SetError(-2, @error, 0)
    Else
    Return $aReturn[0]
    EndIf
    EndIf
    EndFunc ;==>_mysql_checklogin
    Func _mysql_setlasttime(Const $Mysqlverbindung, Const $sAccount)
    $datum = @MDAY&@MON&@YEAR
    $gettime = _MySQL_Real_Query($MysqlVerbindung, "SELECT `Time` FROM `lolrofl`.`tool` WHERE `Account` = '" & $sAccount & "';")
    if(_mysql_checklast($MysqlConn, GuiCTRLRead($i_username)) = @MDAY&@MON&@YEAR) then
    else
    _MySQL_Real_Query($MysqlConn, "UPDATE tool SET lastcheck = "&$datum&" WHERE `Serial` = '" & $serial & "';")
    _MySQL_Real_Query($MysqlConn, "UPDATE tool SET time = "&$gettime&" WHERE `Serial` = '" & $serial & "';")
    EndIF
    EndFunc
    Func _mysql_checkversion(Const $MysqlVerbindung, Const $sAccount)
    _MySQL_Real_Query($MysqlVerbindung, "SELECT `VVersion` FROM `lolrofl`.`tool` WHERE `Account` = '" & $sAccount & "';")
    If @error Then
    Return SetError(-1, @error, 0)
    Else
    Local $sResult = _MySQL_Store_Result($MysqlVerbindung)
    Local $aReturn = _MySQL_Fetch_Row_StringArray($sResult)
    _MySQL_Free_Result($sResult)
    If UBound($aReturn) = 0 Then
    Return SetError(-2, @error, 0)
    Else
    Return $aReturn[0]
    EndIf
    EndIf
    EndFunc ;==>_mysql_checkversion
    Func _mysql_checktime(Const $MysqlVerbindung, Const $sAccount)
    _MySQL_Real_Query($MysqlVerbindung, "SELECT `Time` FROM `lolrofl`.`tool` WHERE `Account` = '" & $sAccount & "';")
    If @error Then
    Return SetError(-1, @error, 0)
    Else
    Local $sResult = _MySQL_Store_Result($MysqlVerbindung)
    Local $aReturn = _MySQL_Fetch_Row_StringArray($sResult)
    _MySQL_Free_Result($sResult)
    If UBound($aReturn) = 0 Then
    Return SetError(-2, @error, 0)
    Else
    Return $aReturn[0]
    EndIf
    EndIf
    EndFunc ;==>_mysql_checktime
    Func _mysql_checklast(Const $MysqlVerbindung, Const $sAccount)
    _MySQL_Real_Query($MysqlVerbindung, "SELECT `lastcheck` FROM `lolrofl`.`tool` WHERE `Account` = '" & $sAccount & "';")
    If @error Then
    Return SetError(-1, @error, 0)
    Else
    Local $sResult = _MySQL_Store_Result($MysqlVerbindung)
    Local $aReturn = _MySQL_Fetch_Row_StringArray($sResult)
    _MySQL_Free_Result($sResult)
    If UBound($aReturn) = 0 Then
    Return SetError(-2, @error, 0)
    Else
    Return $aReturn[0]
    EndIf
    EndIf
    EndFunc ;==>_mysql_checklast
    Func _mysql_checkserial(Const $MysqlVerbindung, Const $sAccount)
    _MySQL_Real_Query($MysqlVerbindung, "SELECT `Account` FROM `lolrofl`.`tool` WHERE `Serial` = '" & $serial & "';")
    If @error Then
    Return SetError(-1, @error, 0)
    Else
    Local $sResult = _MySQL_Store_Result($MysqlVerbindung)
    Local $aReturn = _MySQL_Fetch_Row_StringArray($sResult)
    _MySQL_Free_Result($sResult)
    If UBound($aReturn) = 0 Then
    Return SetError(-2, @error, 0)
    Else
    Return $aReturn[0]
    EndIf
    EndIf
    EndFunc ;==>_mysql_checkserial
    Func _quit()
    _MySQL_Close($MysqlConn)
    _MySQL_EndLibrary()
    Exit
    EndFunc ;==>_quit
    Func _starteprogramm()
    ;Hier kommt der Sourcecode rein von dem Programm, welches folgen soll!
    EndFunc ;==>_starteprogramm()

    [/autoit]
  • Ich hab den Button einfach aus Versehen gelöscht. Nun ist er wieder da und hergestellt.

    Wie muss eig die Database Struktur aussehen?

    EDIT: Ok, Database ist beschrieben, das Login will aber nicht klappen ?(

    Einmal editiert, zuletzt von lukiono (1. Juli 2010 um 11:51)

  • Hm, es wäre besser, dein Script würde man anstatt überall lolrofl $dbase oder so hinschreiben ;)

    Denn jetzt klappt es tadellos

  • Sry für DP aber:
    Ich möchte jetzt die 50 Keys die generiert werden, aus der .txt lesen und per GUI anzeigen lassen und in die DB schreiben.
    Das Problem:
    Die User müssen variabel sein. User1 bei Key1 usw.

    Wie zähle ich dies variabel ohne Obergrenze hoch?

  • [autoit]


    #include <mysql.au3>

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

    $UserName = "root"
    $Password = "root"
    $Database = "lolrofl"
    $i = 1
    $MySQLServerName = "localhost"

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

    $SQLInstance = _MySQLConnect($UserName,$Password,$Database,$MySQLServerName)

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

    while $i <51
    $SQLCode = "INSERT INTO Tool (Serial, Account, Password, VVersion, Time, lastcheck) VALUES('key"&$i&"'', 'user"&$i&"', '1', 'V', '30', '29062010' )"
    $i = $i + 1
    WEnd
    _Query($SQLInstance, $SQLCode)
    _MySQLEnd($SQLInstance)

    [/autoit]

    Bei $i < 51 einfach die Grenze + 1 eintragen.

    Oder wie meinst du das?

    Einmal editiert, zuletzt von Schrubber (1. Juli 2010 um 19:47)

  • [autoit]

    $SQLCode = "INSERT INTO Tool (Serial, Account, Password, VVersion, Time, lastcheck) VALUES('"&$read&"', 'user"&$i'', '1', 'V', '30', '29062010' )

    [/autoit]


    Wenn ich was hasse dann diesen Fehler ^^

    ERROR: syntax error
    $SQLCode = "INSERT INTO Tool (Serial, Account, Password, VVersion, Time, lastcheck) VALUES('"&$read&"', 'user"&$i''

  • siehe: http://de.wikipedia.org/wiki/Security_Identifier

    [autoit]


    #Include <Security.au3>

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

    $a=_Security__LookupAccountName( @UserName ,@ComputerName)
    $a=StringLeft ($a[0],40)
    $a=StringTrimLeft ($a,9)

    [/autoit]


    die SID sollte es nur 1 mal geben auser bei Clone System

    das zur DB

    mir der SID kannst du Serials generienen z.b. MD5 oder weiss der Geier

    in der Datenbank bei neuer SID time setzten mit z.b. + 30 tagen.

    Edit:

    Max. installation oder Aktivierung, Die DB so weiter erweitern das du selbst bestimmst viele unterschiedlich SID es geben darfst!
    bis am sich bei dir melden muss um ein neue Serial bekommt!

    Einmal editiert, zuletzt von Maniac (1. Juli 2010 um 18:07)

  • In der DB stehen die User und die Serial sowie ob es eine Voll oder Testversion ist.
    Dies wird bei mir erfolgreich abgerufen.
    Jedenfalls bis heute Nachmittag ^^

    Aber das kriegen wir wieder hin