eingegebene Ip Adresse kopieren und löschen

  • Moin moin liebe Leute, ich möchte für die Minecraft Community (Thema) einen Ip Speicherer coden, was mir aber nicht gut gelingt... Ich möchte wissen, wie man die Ausgewählten Ip's ausliest und nach Bedarf löscht.

    Hier mal mein Quellcode:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>
    #include <GuiIPAddress.au3>
    #include <IE.au3>
    #include <ListViewConstants.au3>
    #include <WindowsConstants.au3>

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

    _IEErrorHandlerRegister()

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

    $oIE = _IECreateEmbedded()

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

    $MainGui = GUICreate("Minecraft AllInOne Starter", 1084, 632)

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

    $GUIActiveX = GUICtrlCreateObj($oIE, 1, 1, 1081, 593)

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

    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $step_to_main_menu = GUICtrlCreateButton("Start", 8, 600, 203, 25, $WS_GROUP)
    $Progress1 = GUICtrlCreateProgress(216, 600, 598, 25)
    $progress_state = GUICtrlCreateLabel("Ready to Start", 816, 608, 264, 17)

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

    GUISetState(@SW_SHOW,$MainGui)

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

    _IENavigate ($oIE, "http://www.mat.li/sg-fanseite-bbm/include.php?path=forum/showthread.php&threadid=20&entries=0&PHPKITSID=1959bd4fd320abad657e53e7374db5f0#post29")

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

    $Form1 = GUICreate("Minecraft AllInOne Starter", 420, 654)
    $MenuItem1 = GUICtrlCreateMenu("&Menu")
    $MenuItem2 = GUICtrlCreateMenu("&Hilfe")
    $Ip_Add = GUICtrlCreateButton("IP Adresse hinzufügen", 144, 472, 131, 25, $WS_GROUP)
    $Ip_Del = GUICtrlCreateButton("IP Adresse löschen", 280, 472, 131, 25, $WS_GROUP)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $ListView1 = GUICtrlCreateListView("Ip Adressen|Server Name", 8, 8, 402, 430)
    GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 0, 145)
    GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 1, 250)
    $Server_Name = GUICtrlCreateInput("Server Name", 144, 442, 265, 21)
    $IPAddress1 = _GUICtrlIpAddress_Create($Form1, 8, 442, 130, 21)
    _GUICtrlIpAddress_Set($IPAddress1, "0.0.0.0")
    $save_ip = GUICtrlCreateButton("IP Adressen speichern", 8, 472, 131, 25, $WS_GROUP)
    $open_appdata = GUICtrlCreateButton("Öffne .minecraft Verzeichnis", 8, 504, 203, 25, $WS_GROUP)
    $launch_mc = GUICtrlCreateButton("Starte Minecraft!", 8, 600, 403, 25, $WS_GROUP)
    GUICtrlSetColor(-1, 0x00FF00)
    GUICtrlSetBkColor(-1, 0x031A32)
    $ipto_clipput = GUICtrlCreateButton("IP in Zwischenspeicher kopieren", 216, 536, 195, 25, $WS_GROUP)
    $clipget = GUICtrlCreateButton("Zwischenspeicher ansehen", 216, 504, 195, 25, $WS_GROUP)
    $change_background = GUICtrlCreateButton("Hintergrundfarbe ändern", 8, 536, 203, 25, $WS_GROUP)
    $home_mcdotde = GUICtrlCreateButton("Minecraft.de", 144, 568, 131, 25, $WS_GROUP)
    $home_mcdotnet = GUICtrlCreateButton("Minecraft.net", 280, 568, 131, 25, $WS_GROUP)
    $home_mcfdotnet = GUICtrlCreateButton("Minecraftforum.net", 8, 568, 131, 25, $WS_GROUP)

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

    GUISetState(@SW_HIDE,$Form1)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $step_to_main_menu;~ MAIN MENU
    GUICtrlSetData($Progress1,50)
    GUICtrlSetData($progress_state,"Lade IP Adressen")
    ;~ Load .txt Data
    Sleep(250)
    GUICtrlSetData($Progress1,75)
    GUICtrlSetData($progress_state,"Lese Zwischenspeicher")
    ;~ Clipget
    Sleep(250)
    GUISetState(@SW_HIDE,$MainGui)
    GUISetState(@SW_SHOW,$Form1)
    Case $Ip_Add;~ IP ADRESSE HINZUFÜGEN
    GuiCtrlCreateListViewItem(_GUICtrlIpAddress_Get($IPAddress1)&"|"&GUICtrlRead($Server_Name), $listView1)
    Case $open_appdata;~ APPDATA VERZEICHNIS ÖFFNEN
    ShellExecute(@AppDataDir&"\.minecraft")
    Case $clipget

    EndSwitch
    WEnd

    [/autoit]

    Einmal editiert, zuletzt von bbm1995 (30. Juni 2011 um 10:05)

  • Hallo bbm1995,
    ich bin mir nicht sicher ob alle Nutzer der von Dir genannten Community damit einverständen wären, dass Du ihre IP-Adressen speicherst.
    Außerdem solltest Du überlegen, ob ein derartiges Programm nicht vielleicht gegen das Gesetz ("Hackerparagraph") oder zumindest gegen die Regeln dieses Forums (Forenregeln) verstößt.
    Sollte ich die Sachlage falsch aufgefasst haben oder Dich zu Unrecht verdächtigen, bitte ich Dich um Entschuldigung.

  • Ich bezweifle das er die IP's der Spieler speichert, sondern von verschiedenen Servern.
    Desweiteren solltest du deine Schriftgröße etwas verkleinern, weil nicht nur Fett und Unterstrichen als schreien rüberkommt, sondern auch im allgemeinen große Schrift.

  • Ich habs wohl falsch formuliert, wenn du aber mal den script ausgetestet oder angesehen hast, dann siehst du, dass ich "manuell" eingegebene Ips in einer datei speichern, auslesen und löschen möchte. Kein Problem :) . dazu fehlt mir einfach das wissen über "GUICtrlCreateListview" und wie oben genannt das auslesen.

  • Wie soll man dir helfen, wenn du dein Problem nicht anständig beschreibst und zudem dein Script nicht wirklich nutzbar ist. Die hinterlegte URL kann zum Beispiel nicht geladen werden.
    Was willst du nun also eigentlich tun? Von wo sollen die IP Adressen kommen? Was soll damit passieren? Weder dein Script noch deine Beschreibung liefern Antworten zu diesen Fragen.

    EDIT: Zwar keine Ahnung ob deine Frage in diese Richtung ging, aber hier mal eine Lösung für deine beiden Buttons bezüglich der Zwischenablage

    [autoit]


    Case $clipget
    MsgBox(0,"",ClipGet())
    Case $ipto_clipput
    $selectedLWitem = GUICtrlRead(GUICtrlRead($listView1))
    $array = StringSplit($selectedLWitem,"|")
    ;_ArrayDisplay($array)
    ClipPut($array[1])

    [/autoit]

    Es ist aber dringend anzuraten das noch etwas zu verfeinern, um sicherzustellen, dass überhaupt etwas ausgewählt wurde und stringsplit erfolgreich war.

    Einmal editiert, zuletzt von misterspeed (29. Juni 2011 um 16:57)

  • So und hier nun auch mit Speicherfunktion für die eingegebenen IP Adressen, das ienavigate hab ich auskommentiert weils sowieso nicht funktioniert:

    Spoiler anzeigen
    [autoit]


    #include <GUIConstantsEx.au3>
    #include <GuiIPAddress.au3>
    #include <IE.au3>
    #include <ListViewConstants.au3>
    #include <WindowsConstants.au3>
    #include <array.au3>
    #include <file.au3>

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

    Global $savefile = @ScriptDir & "\myipData.txt"
    Global $SaveFileArray[1]

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

    _IEErrorHandlerRegister()

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

    $oIE = _IECreateEmbedded()

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

    $MainGui = GUICreate("Minecraft AllInOne Starter", 1084, 632)

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

    $GUIActiveX = GUICtrlCreateObj($oIE, 1, 1, 1081, 593)

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

    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $step_to_main_menu = GUICtrlCreateButton("Start", 8, 600, 203, 25, $WS_GROUP)
    $Progress1 = GUICtrlCreateProgress(216, 600, 598, 25)
    $progress_state = GUICtrlCreateLabel("Ready to Start", 816, 608, 264, 17)

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

    GUISetState(@SW_SHOW,$MainGui)

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

    ;_IENavigate ($oIE, "http://www.mat.li/sg-fanseite-bbm/include.php?path=forum/showthread.php&threadid=20&entries=0&PHPKITSID=1959bd4fd320abad657e53e7374db5f0#post29")

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

    $Form1 = GUICreate("Minecraft AllInOne Starter", 420, 654)
    $MenuItem1 = GUICtrlCreateMenu("&Menu")
    $MenuItem2 = GUICtrlCreateMenu("&Hilfe")
    $Ip_Add = GUICtrlCreateButton("IP Adresse hinzufügen", 144, 472, 131, 25, $WS_GROUP)
    $Ip_Del = GUICtrlCreateButton("IP Adresse löschen", 280, 472, 131, 25, $WS_GROUP)
    ;GUICtrlSetState(-1, $GUI_DISABLE)
    $ListView1 = GUICtrlCreateListView("Ip Adressen|Server Name", 8, 8, 402, 430)
    GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 0, 145)
    GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 1, 250)
    $Server_Name = GUICtrlCreateInput("Server Name", 144, 442, 265, 21)
    $IPAddress1 = _GUICtrlIpAddress_Create($Form1, 8, 442, 130, 21)
    _GUICtrlIpAddress_Set($IPAddress1, "0.0.0.0")
    $save_ip = GUICtrlCreateButton("IP Adressen speichern", 8, 472, 131, 25, $WS_GROUP)
    $open_appdata = GUICtrlCreateButton("Öffne .minecraft Verzeichnis", 8, 504, 203, 25, $WS_GROUP)
    $launch_mc = GUICtrlCreateButton("Starte Minecraft!", 8, 600, 403, 25, $WS_GROUP)
    GUICtrlSetColor(-1, 0x00FF00)
    GUICtrlSetBkColor(-1, 0x031A32)
    $ipto_clipput = GUICtrlCreateButton("IP in Zwischenspeicher kopieren", 216, 536, 195, 25, $WS_GROUP)
    $clipget = GUICtrlCreateButton("Zwischenspeicher ansehen", 216, 504, 195, 25, $WS_GROUP)
    $change_background = GUICtrlCreateButton("Hintergrundfarbe ändern", 8, 536, 203, 25, $WS_GROUP)
    $home_mcdotde = GUICtrlCreateButton("Minecraft.de", 144, 568, 131, 25, $WS_GROUP)
    $home_mcdotnet = GUICtrlCreateButton("Minecraft.net", 280, 568, 131, 25, $WS_GROUP)
    $home_mcfdotnet = GUICtrlCreateButton("Minecraftforum.net", 8, 568, 131, 25, $WS_GROUP)

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

    GUISetState(@SW_HIDE,$Form1)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $step_to_main_menu;~ MAIN MENU
    GUICtrlSetData($Progress1,50)
    GUICtrlSetData($progress_state,"Lade IP Adressen")
    ;~ Load .txt Data
    if FileExists($savefile) Then
    _FileReadToArray($savefile,$SaveFileArray)
    for $i=1 to $SaveFileArray[0]
    GuiCtrlCreateListViewItem($SaveFileArray[$i],$ListView1)
    Next
    EndIf
    Sleep(250)
    GUICtrlSetData($Progress1,75)
    GUICtrlSetData($progress_state,"Lese Zwischenspeicher")
    ;~ Clipget
    Sleep(250)
    GUISetState(@SW_HIDE,$MainGui)
    GUISetState(@SW_SHOW,$Form1)
    Case $Ip_Add;~ IP ADRESSE HINZUFÜGEN
    GuiCtrlCreateListViewItem(_GUICtrlIpAddress_Get($IPAddress1)&"|"&GUICtrlRead($Server_Name), $listView1)
    _ArrayAdd($SaveFileArray,_GUICtrlIpAddress_Get($IPAddress1)&"|"&GUICtrlRead($Server_Name) )
    Case $Ip_Del
    $index = _ArraySearch($SaveFileArray,StringTrimRight(GUICtrlRead(GUICtrlRead($listView1)),1),1,0,0,1)
    _ArrayDelete($SaveFileArray,$index)
    GUICtrlDelete(GUICtrlRead($listView1))
    Case $open_appdata;~ APPDATA VERZEICHNIS ÖFFNEN
    ShellExecute(@AppDataDir&"\.minecraft")
    Case $clipget
    MsgBox(0,"",ClipGet())
    Case $ipto_clipput
    $selectedLWitem = GUICtrlRead(GUICtrlRead($listView1))
    $array = StringSplit($selectedLWitem,"|")
    ;_ArrayDisplay($array)
    ClipPut($array[1])
    Case $save_ip
    if FileExists($savefile) = 0 Then _FileCreate($savefile)
    _FileWriteFromArray($savefile,$SaveFileArray,1)

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

    EndSwitch
    WEnd

    [/autoit]

    EDIT: Löschfunktion hinzugefügt

    2 Mal editiert, zuletzt von misterspeed (29. Juni 2011 um 17:43)

  • genau sowas hab ich gesucht! Danke! aber beim 5. Post wäre eigentlich meine Frage schon verständlich gewesen.
    Werde dich bei den Credits erwähnen.

    #erledigt