Linkmanager

  • Hallo Forum,

    habe dieses Script im Internet gefunden und würde jetzt gerne einen Button einfügen der eingefügte Links aus der URL.ini löscht.

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>

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

    Const $sElect = "Bitte eine URL auswählen"
    Global $URL

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

    If Not FileExists(@ScriptDir & "\URL.INI") Then
    $sData = "Adminsoft HP" & @LF & ""
    IniWriteSection(@ScriptDir & "\URL.INI", "URLs", $sData)
    EndIf

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

    $hGui = GUICreate("Link Manager", 300, 160, 302, 218)
    $hcboProg = GUICtrlCreateCombo($sElect, 8, 8, 200, 25)
    $hbtnAdd = GUICtrlCreateButton("&Hinzufügen", 213, 8)
    $hlblURL = GUICtrlCreateLabel("Ein Button zum löschen der Links folgt noch", 8, 35, 200, 50)
    $list1 = IniReadSection(@ScriptDir & "\URL.INI", "URLs")
    ConsoleWrite($list1 & @CRLF)
    For $i = 1 To $list1[0][0]
    GUICtrlSetData($hcboProg, $list1[$i][0])
    Next
    $hbtnOpen = GUICtrlCreateButton("&Öffnen", 8, 85)
    GUICtrlSetState($hbtnOpen, $GUI_DISABLE)
    GUISetState(@SW_SHOW)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $hbtnAdd
    $write1 = InputBox("URL", "Geben Sie hier ihre URL ein. Mit http://www.")
    If $write1 <> "" Then
    $write2 = InputBox("URL Name", "Gebem Sie hier einen Kurzbegriff ein, der im Auswahlfenster erscheinen soll")
    If $write2 <> "" Then IniWrite(@ScriptDir & "\URL.INI", "URLs", $write2, $write1)
    GUICtrlSetData($hcboProg, $write2, $write2)
    EndIf
    show_Selection()
    Case $hcboProg
    show_Selection()
    Case $hbtnOpen
    ShellExecute($url)

    EndSwitch
    WEnd

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

    Func show_Selection()
    If GUICtrlRead($hcboProg) = $sElect Then
    GUICtrlSetState($hbtnOpen, $GUI_DISABLE)
    GUICtrlSetData($hlblURL, "")
    Else
    GUICtrlSetState($hbtnOpen, $GUI_ENABLE)
    $Prog = GUICtrlRead($hcboProg)
    ConsoleWrite("ausgewählt: " & $Prog & @CRLF)
    $URL = IniRead(@ScriptDir & "\URL.INI", "URLs", $Prog, "")
    GUICtrlSetData($hlblURL, $URL)
    EndIf
    EndFunc

    [/autoit]

    Bitte um schnelle Hilfe

    Einmal editiert, zuletzt von Masterking1996 (5. Mai 2010 um 19:21)

  • [autoit]

    IniDelete ; löscht den Inieintrag
    GUICtrlCreateButton ;Damit kannst du den Button erstellen
    GUICtrlRead ; damit kannst du den ausgewählten Link auslesen

    [/autoit]

    Damit solltest du es hinbekommen

    21 is only half the truth.

  • Wie jetzt? Ich wollte doch das man auswählen kann, welcher gelöscht wird und nicht alle gelöscht werden

  • Du kannst doch die bereits in der Ini vorhandenen in der Combo auswählen...
    Du wählst den link aus ... liest den Wert mit Guictrlread aus und löscht ihn mit Inidelete.. ich sehe da kein Problem?
    Ansonsten schau dir mal das Tutorial im Wiki an ;)

    21 is only half the truth.

  • so z.B.

    das ganze script ist aber nicht unbedingt gut gebaut

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>

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

    Const $sElect = "Bitte eine URL auswählen"
    Global $URL

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

    If Not FileExists(@ScriptDir & "\URL.INI") Then
    $sData = "Adminsoft HP" & @LF & ""
    IniWriteSection(@ScriptDir & "\URL.INI", "URLs", $sData)
    EndIf

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

    $hGui = GUICreate("Link Manager", 300, 160, 302, 218)
    $hcboProg = GUICtrlCreateCombo($sElect, 8, 8, 200, 25)
    $hbtnAdd = GUICtrlCreateButton("&Hinzufügen", 213, 8)
    $hlblURL = GUICtrlCreateLabel("Ein Button zum löschen der Links folgt noch", 8, 35, 200, 50)
    $list1 = IniReadSection(@ScriptDir & "\URL.INI", "URLs")
    ConsoleWrite($list1 & @CRLF)
    For $i = 1 To $list1[0][0]
    GUICtrlSetData($hcboProg, $list1[$i][0])
    Next
    $hbtnOpen = GUICtrlCreateButton("&Öffnen", 8, 85)
    $hbtnDel = GUICtrlCreateButton("Löschen", 100, 85)
    GUICtrlSetState($hbtnOpen, $GUI_DISABLE)
    GUISetState(@SW_SHOW)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $hbtnAdd
    $write1 = InputBox("URL", "Geben Sie hier ihre URL ein. Mit http://www.")
    If $write1 <> "" Then
    $write2 = InputBox("URL Name", "Gebem Sie hier einen Kurzbegriff ein, der im Auswahlfenster erscheinen soll")
    If $write2 <> "" Then IniWrite(@ScriptDir & "\URL.INI", "URLs", $write2, $write1)
    GUICtrlSetData($hcboProg, $write2, $write2)
    EndIf
    show_Selection()
    Case $hcboProg
    show_Selection()
    Case $hbtnOpen
    ShellExecute($URL)
    Case $hbtnDel
    IniDelete(@ScriptDir & "\URL.INI", "URLs", Guictrlread($hcboProg))
    EndSwitch
    WEnd

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

    Func show_Selection()
    If GUICtrlRead($hcboProg) = $sElect Then
    GUICtrlSetState($hbtnOpen, $GUI_DISABLE)
    GUICtrlSetData($hlblURL, "")
    Else
    GUICtrlSetState($hbtnOpen, $GUI_ENABLE)
    $Prog = GUICtrlRead($hcboProg)
    ConsoleWrite("ausgewählt: " & $Prog & @CRLF)
    $URL = IniRead(@ScriptDir & "\URL.INI", "URLs", $Prog, "")
    GUICtrlSetData($hlblURL, $URL)
    EndIf
    EndFunc ;==>show_Selection

    [/autoit]
  • Du könntest dir auch mal AutoIt Tutorials vornehmen und es selber machen.
    Oder du bietest etwas für die Leistung in der Jobbörse
    Es heißt hier Hilfe und Unterstützung nicht Wünsch dir was

    21 is only half the truth.

    • Offizieller Beitrag

    Da ich gerade Langeweile habe und ich nicht so bin:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>
    #include <GuiComboBox.au3>

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

    Const $sElect = "Bitte eine URL auswählen"
    Global $URL

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

    If Not FileExists(@ScriptDir & "\URL.INI") Then
    $sData = "Adminsoft HP" & @LF & ""
    IniWriteSection(@ScriptDir & "\URL.INI", "URLs", $sData)
    EndIf

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

    $hGui = GUICreate("Link Manager", 300, 160, 302, 218)
    $hcboProg = GUICtrlCreateCombo($sElect, 8, 8, 200, 25)
    $hbtnAdd = GUICtrlCreateButton("&Hinzufügen", 213, 8)
    $hlblURL = GUICtrlCreateLabel("", 8, 35, 200, 21)
    $list1 = IniReadSection(@ScriptDir & "\URL.INI", "URLs")
    If IsArray($list1) Then
    For $i = 1 To $list1[0][0]
    GUICtrlSetData($hcboProg, $list1[$i][0])
    Next
    EndIf
    $hbtnSub = GUICtrlCreateButton("&Löschen", 8, 60)
    GUICtrlSetState($hbtnSub, $GUI_DISABLE)
    $hbtnOpen = GUICtrlCreateButton("&Öffnen", 8, 85)
    GUICtrlSetState($hbtnOpen, $GUI_DISABLE)
    GUISetState(@SW_SHOW)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $hbtnAdd
    $write1 = InputBox("URL", "Geben Sie hier ihre URL ein. Mit http://www.")
    If $write1 <> "" Then
    $write2 = InputBox("URL Name", "Gebem Sie hier einen Kurzbegriff ein, der im Auswahlfenster erscheinen soll")
    If $write2 <> "" Then IniWrite(@ScriptDir & "\URL.INI", "URLs", $write2, $write1)
    GUICtrlSetData($hcboProg, $write2, $write2)
    EndIf
    show_Selection()
    Case $hbtnSub
    IniDelete(@ScriptDir & "\URL.INI", "URLs", GUICtrlRead($hcboProg))
    Local $iSel = _GUICtrlComboBox_GetCurSel($hcboProg)
    _GUICtrlComboBox_DeleteString($hcboProg, $iSel)
    show_Selection()
    Case $hcboProg
    show_Selection()
    Case $hbtnOpen
    ShellExecute($URL)

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

    EndSwitch
    WEnd

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

    Func show_Selection()
    If GUICtrlRead($hcboProg) = $sElect Or GUICtrlRead($hcboProg) = "" Then
    GUICtrlSetState($hbtnOpen, $GUI_DISABLE)
    GUICtrlSetState($hbtnSub, $GUI_DISABLE)

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

    GUICtrlSetData($hlblURL, "")
    Else
    GUICtrlSetState($hbtnOpen, $GUI_ENABLE)
    GUICtrlSetState($hbtnSub, $GUI_ENABLE)
    $Prog = GUICtrlRead($hcboProg)
    ConsoleWrite("ausgewählt: " & $Prog & @CRLF)
    $URL = IniRead(@ScriptDir & "\URL.INI", "URLs", $Prog, "")
    GUICtrlSetData($hlblURL, $URL)
    EndIf
    EndFunc ;==>show_Selection

    [/autoit]
  • Hallo Masterking1996,

    das Ursprungsskript ist ein Beispiel-Skript von mir. Ich würde es folgendermassen abändern, damit man auch wieder einzelne Einträge löschen kann:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>
    #Include <GuiComboBox.au3>

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

    Const $sElect = "bitte eine URL auswählen"
    Global $URL

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

    If Not FileExists(@ScriptDir & "\URL.INI") Then
    $sData = "AutoIt=http://www.autoit.de" & @LF & "Dein Thread=http://www.autoit.de/index.php?page=Thread&postID=156685#post156685" & @LF & "AutoIt V3=http://www.autoitscript.com/cgi-bin/getfile.pl?autoit3/autoit-v3-setup.exe"
    IniWriteSection(@ScriptDir & "\URL.INI", "URLs", $sData)
    EndIf

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

    $hGui = GUICreate("Combobox mit INI für URL-Aufruf", 300, 160, 302, 218)
    $hcboProg = GUICtrlCreateCombo("", 8, 8, 200, 25)
    $hbtnAdd = GUICtrlCreateButton("&Hinzufügen", 213, 8)
    $hbtnDel = GUICtrlCreateButton("&Löschen", 213, 33)
    $hlblURL = GUICtrlCreateLabel("", 8, 35, 200, 50)
    $hbtnOpen = GUICtrlCreateButton("&Öffnen", 8, 85)
    read_INI()
    GUICtrlSetState($hbtnOpen, $GUI_DISABLE)
    GUISetState(@SW_SHOW)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $hbtnAdd
    $write1 = InputBox("URL", "Bitte eine gültige URL eingeben")
    If $write1 <> "" Then
    $write2 = InputBox("URL verwalten unter", "Bitte Kurzbegriff eingeben")
    If $write2 <> "" Then IniWrite(@ScriptDir & "\URL.INI", "URLs", $write2, $write1)
    GUICtrlSetData($hcboProg, $write2, $write2)
    EndIf
    show_Selection()
    Case $hbtnDel
    $sDel = GUICtrlRead($hcboProg)
    IniDelete(@ScriptDir & "\URL.INI", "URLs", $sDel)
    GUICtrlSetData($hcboProg,"")
    read_INI()
    Case $hcboProg
    show_Selection()
    Case $hbtnOpen
    ShellExecute($URL)
    ;ConsoleWrite($URL & @CRLF)
    EndSwitch
    WEnd

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

    Func read_INI()
    $list1 = IniReadSection(@ScriptDir & "\URL.INI", "URLs")
    ConsoleWrite($list1 & @CRLF)
    For $i = 1 To $list1[0][0]
    GUICtrlSetData($hcboProg, $list1[$i][0])
    Next
    _GUICtrlComboBox_InsertString ($hcboProg,$sElect,0)
    _GUICtrlComboBox_SetCurSel($hcboProg,0)
    EndFunc ;==>read_INI

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

    Func show_Selection()
    If GUICtrlRead($hcboProg) = $sElect Then
    GUICtrlSetState($hbtnOpen, $GUI_DISABLE)
    GUICtrlSetData($hlblURL, "")
    Else
    GUICtrlSetState($hbtnOpen, $GUI_ENABLE)
    $Prog = GUICtrlRead($hcboProg)
    ConsoleWrite("ausgewählt: " & $Prog & @CRLF)
    $URL = IniRead(@ScriptDir & "\URL.INI", "URLs", $Prog, "")
    GUICtrlSetData($hlblURL, $URL)
    EndIf
    EndFunc ;==>show_Selection

    [/autoit]

    mfg (Auto)Bert

    • Offizieller Beitrag

    autoBert, du mußt noch If IsArray($list1) in deine Funktion read_INI einfügen, sonst stürzt das Script mit einem ArrayFehler ab, sobald alle URL´s gelöscht sind. ;)