1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. sc4ry

Beiträge von sc4ry

  • WhoIsOn

    • sc4ry
    • 29. Juli 2007 um 16:11

    Update 20.10.08

    WhoIsOn hilft euch dabei, beliebig viele Internet-Adressen auf deren Online-Status hin zu überprüfen.
    Nach über 1 Jahr habe ich das Teil endlich mal fertig gestellt (habe nicht so lange dran gearbeitet, sondern es nun einfach vollendet. Viel Code stammt noch aus meiner Anfangszeit, sieht nicht toll aus, funzt aber soweit *g*).

    Wenn ein Host On oder Off geht, wird man, sofern gewünscht, per SplashScreen informiert, ansonsten sieht man den Status auch immer in einem eigenen Fenster. Zusätzlich können verschiedene Einstellungen vorgenommen werden, unter anderem in welchen Intervall gepingt werden soll, und mit welchem Timeout.

    Das Tray-Menü wird teils mit Verzögerung aufgerufen, wenn ein Ping-Prozess im Gange ist. Könnte man sicher beheben, aber in meinen Augen scheint es so in Ordnung zu sein, da die Hauptfunktion ja das "Pingen" ist.

    Ideen, Anregungen, Kommentare oder Fehler gefunfen ... dann bitte berichten ;)

    Spoiler anzeigen
    [autoit]


    #include <GuiListView.au3>
    #include <WinAPI.au3>
    #include <Constants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <ListViewConstants.au3>
    #include <SliderConstants.au3>
    #include <WindowsConstants.au3>
    #include <GuiImageList.au3>

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

    Opt("TrayIconHide", 0)
    Opt("TrayIconDebug", 1)
    Opt("TrayOnEventMode",1)
    Opt("TrayMenuMode",1)
    Opt("GuiOnEventMode",1)

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

    DirCreate(@ScriptDir & "\Icons")
    FileInstall("No.ico", @ScriptDir & "\Icons\No.ico")
    FileInstall("Yes.ico", @ScriptDir & "\Icons\Yes.ico")

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

    $no = @ScriptDir & "\Icons\No.ico"
    $yes = @ScriptDir & "\Icons\Yes.ico"

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

    Global $addip, $addname, $anz, $badd, $bclear, $bexit, $BL, $bok, $BR, $bremove, $bsave, $bstandard, $cbtooltip, $cbwindow, $corner, $cornerBL, $cornerBR, $cornerTL, $cornerTR, $count, $DeskX, $DeskY, $error1, $error2, $gui, $GuiIP, $GuiSettings, $h, $i, $Ih, $Iintervall, $ini, $Intervall, $ips, $ips2, $Itimeout, $Iw, $lineIndex, $list, $list2, $pathIPs, $Paused, $ping, $pingip, $SaveIPs, $script, $SectionIP, $Sections, $slider, $state, $timeout, $TL, $tool, $ToolTipEnabled, $TR, $trans, $urllist, $varIP, $w, $WinEnabled, $x, $y, $Splash

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

    $pathIPs = @ScriptDir & "\Destiny.ini"
    $script = "WhoIsOn RelOadEd"
    $ini = @ScriptDir & "\Settings.ini"
    $intervall = 10000
    $timeout = 4000
    $corner = 3
    $WinEnabled = 1
    $ToolTipEnabled = 1
    $trans = 40
    $w = 300
    $h = 200
    $error1 = 0
    $error2 = 0

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

    HttpSetProxy(1)

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

    $DeskX = @DesktopWidth
    $DeskY = @DesktopHeight

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

    TrayCreateItem("Settings")
    TrayItemSetOnEvent(-1,"_Settings")
    TrayCreateItem("Change IPs")
    TrayItemSetOnEvent(-1,"_Change")
    TrayCreateItem("")
    TrayCreateItem("Hide/Show")
    TrayItemSetOnEvent(-1,"_ShowGUI")
    TrayCreateItem("Exit")
    TrayItemSetOnEvent(-1,"_OnExitFunc")

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

    If FileExists($ini) Then
    $intervall = IniRead($ini, "Ping", "Intervall", $intervall)
    $timeout = IniRead($ini, "Position", "Timeout", $timeout)
    $corner = IniRead($ini, "Position", "Corner", $corner)
    $WinEnabled = IniRead($ini, "Window", "Enabled", $WinEnabled)
    $w = IniRead($ini, "Window", "Weight", $w)
    $h = IniRead($ini, "Window", "Height", $h)
    $trans = IniRead($ini, "Window", "Transparency", $trans)
    $ToolTipEnabled = IniRead($ini, "ToolTip", "Enabled", $ToolTipEnabled)
    $ProxyEnable = IniRead($ini, "Proxy", "Enable", 0)
    $ProxyMode = IniRead($ini, "Proxy", "Mode", 1)
    $ProxyAddress = IniRead($ini, "Proxy", "Adress", "")
    $ProxyPort = IniRead($ini, "Proxy", "Port", "")
    $ProxyUser = IniRead($ini, "Proxy", "User", "")
    $ProxyPass = IniRead($ini, "Proxy", "Pass", "")
    Else
    IniWrite($ini, "Ping", "Intervall", $intervall)
    IniWrite($ini, "Ping", "Timeout", $timeout)
    IniWrite($ini, "Position", "Corner", $corner)
    IniWrite($ini, "Window", "Enabled", $WinEnabled)
    IniWrite($ini, "Window", "Weight", $w)
    IniWrite($ini, "Window", "Height", $h)
    IniWrite($ini, "Window", "Transparency", $trans)
    IniWrite($ini, "ToolTip", "Enabled", $ToolTipEnabled)
    EndIf

    If $corner = 1 Then
    $x = 5
    $y = 5
    ElseIf $corner = 2 Then
    $x = $DeskX - $w - 5
    $y = 5
    ElseIf $corner = 3 Then
    $x = $DeskX - $w - 5
    $y = $DeskY - $h - 35
    ElseIf $corner = 4 Then
    $x = 5
    $y = $DeskY -$h - 35
    EndIf

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

    $gui = GUICreate($script, $w, $h, $x, $y, $WS_POPUPWINDOW, $WS_EX_TRANSPARENT + $WS_EX_TOOLWINDOW )
    WinSetOnTop($script,'',1)
    WinSetTrans($script,'', (100 - $trans) * 2.55)
    $list2 = _GUICtrlListView_Create($gui,"||", 5, 5, $w - 10, $h - 10)
    _GUICtrlListView_SetExtendedListViewStyle($list2, $LVS_EX_SUBITEMIMAGES)
    $hImage = _GUIImageList_Create(16, 16, 5, 3)
    _GUICtrlListView_SetImageList($list2, $hImage, 1)
    _GUIImageList_AddIcon($hImage, @SystemDir & "\shell32.dll", -14) ;world icon = 0
    _GUIImageList_AddIcon($hImage, @SystemDir & "\shell32.dll", 24) ;adress icon = 1
    _GUIImageList_AddIcon($hImage, $yes) ;yes icon = 2
    _GUIImageList_AddIcon($hImage, $no) ;no icon = 3
    _GUICtrlListView_SetColumn($list2, 0, "Name", ($w / 2) - 30, 2)
    _GUICtrlListView_SetColumn($list2, 1, "IP", ($w / 2) - 30, 2)
    _GUICtrlListView_SetColumn($list2, 2, "Status", 50, 2)

    If FileExists($pathIPs) Then
    $Sections = IniReadSectionNames($pathIPs)
    If $Sections = 0 Then
    Else
    $lineIndex = 0
    For $i = 1 To $Sections[0]
    $varIP = IniReadSection($pathIPs, $Sections[$i])
    _GUICtrlListView_AddItem($list2, $Sections[$i])
    _GUICtrlListView_AddSubItem($list2, $lineIndex, $varIP[1][0], 1, 1)
    _GUICtrlListView_AddSubItem($list2, $lineIndex, "-", 2)
    IniWrite($pathIPs, $Sections[$i], $varIP[1][0], "-")
    $lineIndex += 1
    Next
    EndIf
    Else
    EndIf

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

    GUISetState(@SW_SHOW, $gui)

    $GuiIP = GUICreate($script & " Destiny IPs", 345, 310)
    GUISetOnEvent($GUI_EVENT_CLOSE, "_ExitIPs")

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

    $listhandle = GUICtrlCreateListView("Name|IP|Status", 5, 5, 250, 300, BitOR($LVS_REPORT, $LVS_SINGLESEL, $LVS_SHOWSELALWAYS), BitOR($WS_EX_CLIENTEDGE,$LVS_EX_GRIDLINES,$LVS_EX_HEADERDRAGDROP,$LVS_EX_FULLROWSELECT))
    $list = GUICtrlGetHandle($listhandle);_GUICtrlListView_Create($GuiIP,"|", 5, 5, 250, 300)
    _GUICtrlListView_SetColumn($list, 0, "Name", 120, 2)
    _GUICtrlListView_SetColumn($list, 1, "IP", 125, 2)
    _GUICtrlListView_SetColumn($list, 2, "Status", 0, 2)

    $badd = GUICtrlCreateButton("&add", 260, 10, 80)
    GUICtrlSetOnEvent(-1, "_AddIP")
    $bremove = GUICtrlCreateButton("&remove", 260, 50, 80)
    GUICtrlSetOnEvent(-1, "_RemoveIP")
    $bclear = GUICtrlCreateButton("&clear", 260, 90, 80)
    GUICtrlSetOnEvent(-1, "_ClearIP")
    $bok = GUICtrlCreateButton("&ok", 260, 280, 80)
    GUICtrlSetOnEvent(-1, "_SaveIP")

    $GuiSettings = GUICreate($script & " Settings", 450, 200)
    GUISetOnEvent($GUI_EVENT_CLOSE, "_ExitSettings")

    ;ToolTip
    GUICtrlCreateGroup("Tooltip", 5, 5, 135, 60)
    $cbtooltip = GUICtrlCreateCheckbox("Enable ToolTip", 25, 30, 100)
    GUICtrlSetTip(-1, "Enables the ToolTip-Information")
    GUICtrlSetState($cbtooltip, IniRead($ini, "ToolTip", "Enabled", $ToolTipEnabled))

    ;ping
    GUICtrlCreateGroup("Ping", 5, 70, 135, 120)
    GUICtrlCreateLabel("Intervall:", 15, 90, 40)
    GUICtrlSetTip(-1, "Time between pings in miliseconds")
    $Iintervall = GUICtrlCreateInput(IniRead($ini, "Ping", "Intervall", $intervall), 60, 85, 50)
    GUICtrlCreateLabel("ms", 115, 90, 20)
    GUICtrlCreateLabel("Timeout:", 15, 125, 40)
    GUICtrlSetTip(-1, "Timeout after no response in miliseconds")
    $Itimeout = GUICtrlCreateInput(IniRead($ini, "Ping", "Timeout", $timeout), 60, 120, 50)
    GUICtrlCreateLabel("ms", 115, 125, 20)
    $ProxyButton = GUICtrlCreateButton("Proxy Settings", 15, 150, 115)
    GUICtrlSetState(-1, $GUI_DISABLE)
    GUICtrlSetOnEvent(-1, "_ProxyButton")

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

    ;weight & height
    GUICtrlCreateGroup("Window", 150, 5, 200, 100)
    $cbwindow = GUICtrlCreateCheckbox("Enable Info-Window", 160, 20, 120)
    GUICtrlSetTip(-1, "Enables the Information-Window on startup")
    GUICtrlSetState($cbwindow, IniRead($ini, "Window", "Enabled", $WinEnabled))
    GUICtrlSetOnEvent($cbwindow, "_DisabelWindow")
    GUICtrlCreateLabel("Weight:", 180, 50, 40)
    GUICtrlSetTip(-1, "Wight of the Information-Window")
    $Iw = GUICtrlCreateInput(IniRead($ini, "Window", "Weight", $w), 220, 45, 50)
    GUICtrlCreateLabel("mm", 275, 50, 20)
    GUICtrlCreateLabel("Height:", 180, 80, 40)
    GUICtrlSetTip(-1, "Hight of the Information-Window")
    $Ih = GUICtrlCreateInput(IniRead($ini, "Window", "Height", $h), 220, 75, 50)
    GUICtrlCreateLabel("mm", 275, 80, 20)
    $slider = GUICtrlCreateSlider(300, 15, 25, 85, $TBS_VERT + $TBS_AUTOTICKS)
    GUICtrlSetTip(-1, "Transparency of the Information-Window")
    GUICtrlSetLimit($slider,100,0)
    GUICtrlSetData($slider,IniRead($ini, "Window", "Transparency", $trans))
    GUICtrlCreateLabel("0", 335, 15, 10, 15)
    GUICtrlCreateLabel("100", 327, 85, 20, 15)

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

    ;corner
    GUICtrlCreateGroup("Corner Position", 150, 110, 200, 80)
    $TL = GUICtrlCreateRadio("Top Left", 160, 125, 60)
    GUICtrlSetTip(-1, "Position the Information-Window appears")
    $TR = GUICtrlCreateRadio("Top Right", 255, 125, 65)
    GUICtrlSetTip(-1, "Position the Information-Window appears")
    $BR = GUICtrlCreateRadio("Bottom Right", 255, 160, 80)
    GUICtrlSetTip(-1, "Position the Information-Window appears")
    $BL = GUICtrlCreateRadio("Bottom Left", 160, 160, 80)
    GUICtrlSetTip(-1, "Position the Information-Window appears")

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

    $corner = IniRead($ini, "Position", "Corner", $corner)
    If $corner = 1 Then
    GUICtrlSetState($TL, 1)
    ElseIf $corner = 2 Then
    GUICtrlSetState($TR, 1)
    ElseIf $corner = 3 Then
    GUICtrlSetState($BR, 1)
    ElseIf $corner = 4 Then
    GUICtrlSetState($BL, 1)
    EndIf

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

    ;buttons
    $bsave = GUICtrlCreateButton("save", 360, 10, 80)
    GUICtrlSetOnEvent(-1, "_SaveSettings")
    $bstandard = GUICtrlCreateButton("standard", 360, 45, 80)
    GUICtrlSetOnEvent(-1, "_StandardSettings")
    $bexit = GUICtrlCreateButton("exit", 360, 160, 80)
    GUICtrlSetOnEvent(-1, "_ExitSettings")

    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Proxy Settings", 219, 214)
    $Checkbox1 = GUICtrlCreateCheckbox("Enable Proxy", 60, 4, 129, 17)
    GUICtrlSetOnEvent(-1, "_EnableProxyMode")
    GUICtrlSetState(-1, $ProxyEnable)
    $Group1 = GUICtrlCreateGroup("Mode", 0, 24, 217, 49)
    $Radio1 = GUICtrlCreateRadio("none", 10, 45, 57, 17)
    GUICtrlSetState(-1, $GUI_CHECKED)
    GUICtrlSetState(-1, $GUI_DISABLE)
    GUICtrlSetOnEvent(-1, "_EnableProxySettings")
    $Radio2 = GUICtrlCreateRadio("IE-Proxy", 68, 45, 57, 17)
    GUICtrlSetState(-1, $GUI_DISABLE)
    GUICtrlSetOnEvent(-1, "_EnableProxySettings")
    $Radio3 = GUICtrlCreateRadio("specified", 141, 45, 65, 17)
    GUICtrlSetState(-1, $GUI_DISABLE)
    GUICtrlSetOnEvent(-1, "_EnableProxySettings")
    If $ProxyMode = 1 Then
    GUICtrlSetState($Radio1, 1)
    ElseIf $ProxyMode = 0 Then
    GUICtrlSetState($Radio2, 1)
    ElseIf $ProxyMode = 2 Then
    GUICtrlSetState($Radio3, 1)
    Else
    GUICtrlSetState($Radio1, 1)
    EndIf
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $Group2 = GUICtrlCreateGroup("Group2", 0, 80, 217, 113)
    $Input1 = GUICtrlCreateInput("", 56, 96, 153, 21)
    GUICtrlSetData(-1, $ProxyAddress)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $Input2 = GUICtrlCreateInput("", 56, 120, 153, 21)
    GUICtrlSetData(-1, $ProxyPort)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $Input3 = GUICtrlCreateInput("", 56, 144, 153, 21)
    GUICtrlSetData(-1, $ProxyUser)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $Input4 = GUICtrlCreateInput("", 56, 168, 153, 21, BitOR($ES_PASSWORD,$ES_AUTOHSCROLL))
    GUICtrlSetData(-1, $ProxyPass)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $Label1 = GUICtrlCreateLabel("Adress", 11, 100, 36, 17)
    $Label2 = GUICtrlCreateLabel("User", 11, 145, 26, 17)
    $Label3 = GUICtrlCreateLabel("Pass", 11, 169, 27, 17)
    $Label4 = GUICtrlCreateLabel("Port", 11, 121, 23, 17)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Button1 = GUICtrlCreateButton("OK", 0, 195, 65, 17, 0)
    GUICtrlSetOnEvent(-1, "_ProxyOK")
    $Button2 = GUICtrlCreateButton("Cancel", 152, 195, 65, 17, 0)
    GUICtrlSetOnEvent(-1, "_ProxyCancel")
    #EndRegion ### END Koda GUI section ###

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

    _EnableProxySettings()
    _EnableProxyMode()
    _ProxyOK()

    AdlibEnable("_PingProc", $intervall)

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

    While 1
    Sleep(100)
    WEnd

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

    Func _PingProc()
    $count = _GUICtrlListView_GetItemCount($list2)
    For $i = 1 To $count
    $GetItem0 = _GUICtrlListView_GetItem($list2, $i -1, 0)
    $GetItem = _GUICtrlListView_GetItem($list2, $i -1, 1)
    $ping = Ping($GetItem[3], $timeout)
    $Error = @error
    $OldStat = IniRead($pathIPs, $GetItem0[3], $GetItem[3], "")
    If $ping = 0 Then
    IniWrite($pathIPs, $GetItem0[3], $GetItem[3], "Off")
    Else
    IniWrite($pathIPs, $GetItem0[3], $GetItem[3], "On")
    EndIf
    $NewStat = IniRead($pathIPs, $GetItem0[3], $GetItem[3], "")
    If $OldStat <> $NewStat Then
    Select
    Case $NewStat = "On"
    TraySetIcon($yes)
    _guictrllistview_AddSubItem($list2, $i - 1, "On", 2, 2)
    If $ToolTipEnabled = 1 Then $Splash = SplashTextOn("", $GetItem0[3] & " is now Online", 500, 30, -1, -1, 1 + 32, "Lucida Console", 10)
    WinSetOnTop($Splash, "", 1)
    _Win_SetClickThrough($Splash, "", True)
    WinSetTrans($Splash, "", 180)
    TraySetState(4)
    Sleep(3000)
    SplashOff()
    TraySetState(8)
    TraySetIcon( )
    Case $NewStat = "Off"
    Select
    Case $Error = "1"
    $Error = "Host is offline"
    Case $Error = "2"
    $Error = "Host is unreachable"
    Case $Error = "3"
    $Error = "Bad destination"
    Case $Error = "4"
    $Error = "Other errors"
    Case Else
    $Error = "n/a"
    EndSelect
    TraySetIcon($no)
    _guictrllistview_AddSubItem($list2, $i - 1, "Off", 2, 3)
    If $ToolTipEnabled = 1 Then $Splash = SplashTextOn("", $GetItem0[3] & " is now Offline. Error: " & $Error, 600, 30, -1, -1, 1 + 32, "Lucida Console", 10)
    WinSetOnTop($Splash, "", 1)
    _Win_SetClickThrough($Splash, "", True)
    WinSetTrans($Splash, "", 180)
    TraySetState(4)
    Sleep(3000)
    SplashOff()
    TraySetState(8)
    TraySetIcon( )
    EndSelect
    EndIf
    Next
    EndFunc

    Func _Change()
    AdlibDisable( )
    _GUICtrlListView_DeleteAllItems($list)
    If FileExists($pathIPs) Then
    $Sections = IniReadSectionNames($pathIPs)
    If $Sections = 0 Then
    Else
    $lineIndex = 0
    For $i = 1 To $Sections[0]
    $varIP = IniReadSection($pathIPs, $Sections[$i])
    $1 = _GUICtrlListView_AddItem($list, $Sections[$i])
    $2 = _GUICtrlListView_AddSubItem($list, $lineIndex, $varIP[1][0], 1)
    $3 = _GUICtrlListView_AddSubItem($list, $lineIndex, $varIP[1][1], 2)
    $lineIndex += 1
    Next
    EndIf
    Else
    EndIf
    GUISetState(@SW_SHOW, $GuiIP)
    EndFunc

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

    Func _AddIP()
    Do
    $addname = InputBox("Name", "Please enter a name", "", "", 100, 130)
    If @error = 1 Then
    $error1 = 1
    ExitLoop
    Else
    EndIf
    until $addname <> ""
    If $error1 = 1 Then
    Else
    Do
    $addip = InputBox("IP", "Please enter the IP", "", "", 100, 130)
    If @error = 1 Then
    $error2 = 1
    ExitLoop
    Else
    EndIf
    Until $addip <> ""
    If $error2 <> 1 Then
    _GUICtrlListView_AddItem($list, $addname)
    _guictrllistview_AddSubItem($list, _GUICtrlListView_GetItemCount($list) - 1, $addip, 1)
    Else
    EndIf
    EndIf
    $error1 = 0
    $error2 = 0
    EndFunc

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

    Func _RemoveIP()
    _GUICtrlListView_DeleteItemsSelected($list)
    EndFunc

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

    Func _ClearIP()
    _GUICtrlListView_DeleteAllItems($list)
    EndFunc

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

    Func _SaveIP()
    FileDelete($pathIPs)
    $anz = _GUICtrlListView_GetItemCount($list)
    If $anz = 0 Then
    Else
    For $i = 1 To $anz
    IniWrite($pathIPs, _GUICtrlListView_GetItemText($list, $i - 1), _GUICtrlListView_GetItemText($list, $i - 1, 1), _GUICtrlListView_GetItemText($list, $i - 1, 2))
    Next
    EndIf

    GUISetState(@SW_HIDE, $GuiIP)

    If FileExists($pathIPs) Then
    _GUICtrlListView_DeleteAllItems($list2)
    $Sections = IniReadSectionNames($pathIPs)
    $lineIndex = 0
    For $i = 1 To $Sections[0]
    $varIP = IniReadSection($pathIPs, $Sections[$i])
    _GUICtrlListView_AddItem($list2, $Sections[$i])
    _GUICtrlListView_AddSubItem($list2, $lineIndex, $varIP[1][0], 1, 1)
    If $varIP[1][1] = "On" Then
    _GUICtrlListView_AddSubItem($list2, $lineIndex, $varIP[1][1], 2, 2)
    ElseIf $varIP[1][1] = "Off" Then
    _GUICtrlListView_AddSubItem($list2, $lineIndex, $varIP[1][1], 2, 3)
    Else
    _GUICtrlListView_AddSubItem($list2, $lineIndex, $varIP[1][1], 2)
    EndIf
    $lineIndex += 1
    Next
    Else
    _GUICtrlListView_DeleteAllItems($list2)
    EndIf

    AdlibEnable("_PingProc", $intervall)

    EndFunc

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

    Func _ExitIPs()
    _GUICtrlListView_DeleteAllItems($list)
    GUISetState(@SW_HIDE, $GuiIP)
    EndFunc

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

    Func _Settings()
    AdlibDisable( )
    GUISetState(@SW_SHOW, $GuiSettings)
    EndFunc

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

    Func _SaveSettings()
    IniWrite($ini, "Ping", "Intervall", GUICtrlRead($Iintervall))
    IniWrite($ini, "Ping", "Timeout", GUICtrlRead($Itimeout))
    IniWrite($ini, "Window", "Enabled", GUICtrlRead($cbwindow))
    IniWrite($ini, "Window", "Weight", GUICtrlRead($Iw))
    IniWrite($ini, "Window", "Height", GUICtrlRead($Ih))
    IniWrite($ini, "Window", "Transparency", GUICtrlRead($slider))
    IniWrite($ini, "ToolTip", "Enabled", GUICtrlRead($cbtooltip))
    $cornerTL = GUICtrlRead($TL)
    $cornerTR = GUICtrlRead($TR)
    $cornerBR = GUICtrlRead($BR)
    $cornerBL = GUICtrlRead($BL)
    If $cornerTL = 1 Then
    IniWrite($ini, "Position", "Corner", "1")
    ElseIf $cornerTR = 1 Then
    IniWrite($ini, "Position", "Corner", "2")
    ElseIf $cornerBR = 1 Then
    IniWrite($ini, "Position", "Corner", "3")
    ElseIf $cornerBL = 1 Then
    IniWrite($ini, "Position", "Corner", "4")
    EndIf
    $intervall = IniRead($ini, "Ping", "Intervall", $intervall)
    $timeout = IniRead($ini, "Position", "Timeout", $timeout)
    $corner = IniRead($ini, "Position", "Corner", $corner)
    $WinEnabled = IniRead($ini, "Window", "Enabled", $WinEnabled)
    $w = IniRead($ini, "Window", "Weight", $w)
    $h = IniRead($ini, "Window", "Height", $h)
    $trans = IniRead($ini, "Window", "Transparency", $trans)
    $ToolTipEnabled = IniRead($ini, "ToolTip", "Enabled", $ToolTipEnabled)

    If $corner = 1 Then
    $x = 5
    $y = 5
    ElseIf $corner = 2 Then
    $x = $DeskX - $w - 5
    $y = 5
    ElseIf $corner = 3 Then
    $x = $DeskX - $w - 5
    $y = $DeskY - $h - 35
    ElseIf $corner = 4 Then
    $x = 5
    $y = $DeskY -$h - 35
    EndIf

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

    WinMove($script, "", $x, $y, $w, $h)
    WinSetTrans($script,'', (100 - $trans) * 2.55)
    _WinAPI_SetWindowPos($list2, 0, 5, 5, $w - 10, $h - 10, $SWP_SHOWWINDOW)
    _GUICtrlListView_SetColumn($list2, 0, "Name", ($w / 2) - 30, 2)
    _GUICtrlListView_SetColumn($list2, 1, "IP", ($w / 2) - 30, 2)
    _GUICtrlListView_SetColumn($list2, 2, "Status", 50, 2)

    If $WinEnabled <> 1 Then
    GUISetState(@SW_HIDE, $gui)
    Else
    GUISetState(@SW_SHOW, $gui)
    EndIf
    EndFunc

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

    Func _StandardSettings()
    GUICtrlSetData($Iintervall, "10000")
    GUICtrlSetData($Itimeout, "4000")
    GUICtrlSetState($cbwindow, 1)
    GUICtrlSetData($Iw, 300)
    GUICtrlSetData($Ih, 200)
    GUICtrlSetData($slider, 40)
    GUICtrlSetState($cbtooltip, 1)
    GUICtrlSetState($TL, 0)
    GUICtrlSetState($TR, 0)
    GUICtrlSetState($BR, 1)
    GUICtrlSetState($BL, 0)
    GUICtrlSetState($Iw, $GUI_ENABLE)
    GUICtrlSetState($Ih, $GUI_ENABLE)
    GUICtrlSetState($slider, $GUI_ENABLE)
    EndFunc

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

    Func _ExitSettings()
    GUISetState(@SW_HIDE, $GuiSettings)
    AdlibEnable("_PingProc", $intervall)
    EndFunc

    Func _DisabelWindow()
    If GUICtrlRead($cbwindow) = 1 Then
    GUICtrlSetState($Iw, $GUI_ENABLE)
    GUICtrlSetState($Ih, $GUI_ENABLE)
    GUICtrlSetState($slider, $GUI_ENABLE)
    Else
    GUICtrlSetState($Iw, $GUI_DISABLE)
    GUICtrlSetState($Ih, $GUI_DISABLE)
    GUICtrlSetState($slider, $GUI_DISABLE)
    EndIf
    EndFunc

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

    Func _ProxyButton()
    GUISetState(@SW_SHOW, $Form1)
    EndFunc

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

    Func _ProxyCancel()
    GUISetState(@SW_HIDE, $Form1)
    EndFunc

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

    Func _ProxyOK()
    GUISetState(@SW_HIDE, $Form1)
    $GuiCtrlRead = GUICtrlRead($Checkbox1)
    If $GuiCtrlRead = 1 Then
    IniWrite($ini, "Proxy", "Enable", 1)
    $GuiCtrlRead = GUICtrlRead($Radio2)
    $GuiCtrlRead2 = GUICtrlRead($Radio3)
    If $GuiCtrlRead = 1 Then
    IniWrite($ini, "Proxy", "Mode", 0)
    HttpSetProxy(0)
    ElseIf $GuiCtrlRead2 = 1 Then
    IniWrite($ini, "Proxy", "Mode", 2)
    $adress = GUICtrlRead($Input1)
    $port = GUICtrlRead($Input2)
    $user = GUICtrlRead($Input3)
    $pass = GUICtrlRead($Input4)
    IniWrite($ini, "Proxy", "Adress", $adress)
    IniWrite($ini, "Proxy", "Port", $port)
    IniWrite($ini, "Proxy", "User", $user)
    IniWrite($ini, "Proxy", "Pass", $pass)
    HttpSetProxy(2, $adress & ":" & $port, $user, $pass)
    Else
    IniWrite($ini, "Proxy", "Mode", 1)
    HttpSetProxy(1)
    EndIf
    Else
    IniWrite($ini, "Proxy", "Enable", 0)
    HttpSetProxy(1)
    EndIf
    EndFunc

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

    Func _EnableProxySettings()
    $GuiCtrlRead = GUICtrlRead($Radio3)
    If $GuiCtrlRead = 1 Then
    GUICtrlSetState($Input1, $GUI_ENABLE)
    GUICtrlSetState($Input2, $GUI_ENABLE)
    GUICtrlSetState($Input3, $GUI_ENABLE)
    GUICtrlSetState($Input4, $GUI_ENABLE)
    Else
    GUICtrlSetState($Input1, $GUI_DISABLE)
    GUICtrlSetState($Input2, $GUI_DISABLE)
    GUICtrlSetState($Input3, $GUI_DISABLE)
    GUICtrlSetState($Input4, $GUI_DISABLE)
    EndIf
    EndFunc

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

    Func _EnableProxyMode()
    $GuiCtrlRead = GUICtrlRead($Checkbox1)
    If $GuiCtrlRead = 1 Then
    GUICtrlSetState($Radio1, $GUI_ENABLE)
    GUICtrlSetState($Radio2, $GUI_ENABLE)
    GUICtrlSetState($Radio3, $GUI_ENABLE)
    $GuiCtrlRead = GUICtrlRead($Radio3)
    If $GuiCtrlRead = 1 Then
    GUICtrlSetState($Input1, $GUI_ENABLE)
    GUICtrlSetState($Input2, $GUI_ENABLE)
    GUICtrlSetState($Input3, $GUI_ENABLE)
    GUICtrlSetState($Input4, $GUI_ENABLE)
    EndIf
    Else
    GUICtrlSetState($Radio1, $GUI_DISABLE)
    GUICtrlSetState($Radio2, $GUI_DISABLE)
    GUICtrlSetState($Radio3, $GUI_DISABLE)
    GUICtrlSetState($Input1, $GUI_DISABLE)
    GUICtrlSetState($Input2, $GUI_DISABLE)
    GUICtrlSetState($Input3, $GUI_DISABLE)
    GUICtrlSetState($Input4, $GUI_DISABLE)
    EndIf
    EndFunc

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

    Func _OnExitFunc()
    FileDelete(@ScriptDir & "\IP.ini")
    Exit
    EndFunc

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

    ;Tray-Icon
    Func TrayIcon()
    Opt("TrayIconHide", Not Opt("TrayIconHide", "Default"))
    EndFunc

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

    ;Pause
    Func TogglePause()
    $Paused = NOT $Paused
    While $Paused
    sleep(100)
    ToolTip(@ScriptName & ' is paused')
    WEnd
    ToolTip("")
    EndFunc

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

    Func _ShowGUI()
    $state = WinGetState('WhoIsOn','')
    If BitAnd($state, 2) Then
    WinSetState('WhoIsOn','',@SW_HIDE)
    ToolTip('',-1,-1,'','',2)
    $tool = 1
    Else
    WinSetState('WhoIsOn','',@SW_SHOW)
    $tool = 0
    EndIf
    EndFunc

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

    ;set window "immun"
    Func _Win_SetClickThrough($title,$text = "",$noclic = True)
    Local $hWnd = WinGetHandle($title,$text)
    If @error Then Return SetError(1,0,0)
    If $noclic Then
    _WinAPI_SetWindowLong($hWnd,$GWL_EXSTYLE,BitOR(_WinAPI_GetWindowLong($hWnd,$GWL_EXSTYLE),$WS_EX_TRANSPARENT))
    If @error Then Return SetError(2,0,0)
    Else
    _WinAPI_SetWindowLong($hWnd,$GWL_EXSTYLE,BitAND(_WinAPI_GetWindowLong($hWnd,$GWL_EXSTYLE),BitNOT($WS_EX_TRANSPARENT)))
    If @error Then Return SetError(2,0,0)
    EndIf
    Return 1
    EndFunc ; Author(s): Prog@ndy

    [/autoit]

    PS: Die Icons zum komplettieren ... sind nicht als RAR gepackt, sondern die Endung muss nur entfernt werden.

  • _FileWriteToLine & Anzahl der Zeichen löschen

    • sc4ry
    • 24. Juli 2007 um 14:23

    hallo,

    leider bin ich immer noch nicht weitergekommen.
    so sieht zZ mein script aus

    Spoiler anzeigen
    [autoit]

    ;
    ; NFastO
    ;
    ; © sc4ry

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

    #include <guiconstants.au3>
    #include <date.au3>
    #include <File.au3>
    #Include <GuiEdit.au3>

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

    Global $z = 0
    Global $flag
    Global $nfo

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

    DirCreate(@scriptdir & "\savings")
    DirCreate(@scriptdir & "\NFOs")

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

    $maingui = GUICreate("NFastO", 800, 400)
    $build = GUICtrlCreateButton("&Build", 710, 5, 80)
    $save = GUICtrlCreateButton("&save", 725, 60, 50, 20)
    $openbutton = GUICtrlCreateButton("&open", 725, 80, 50, 20)
    $exit = GUICtrlCreateButton("&Exit", 710, 135, 80)

    GUICtrlCreateGroup("general Release Infos", 10, 0, 460, 100)
    GUICtrlCreateLabel("Release", 20, 23)
    $rel = GUICtrlCreateInput("", 70, 20, 230, 20)
    GUICtrlCreateLabel("Type", 320, 23)
    $type = GUICtrlCreateCombo("", 360, 20, 100, 20)
    GUICtrlSetData(-1, "Software|Movie|Game|Music|Else", "Software")
    $ltoday = GUICtrlCreateLabel("Date", 20, 50)
    $today = GUICtrlCreateInput(_NowCalcDate(), 20, 70, 70)
    $llang = GUICtrlCreateLabel("Language", 110, 50)
    $lang = GUICtrlCreateInput("", 110, 70, 170)
    $lsize = GUICtrlCreateLabel("Size (MB)", 300, 50)
    $size = GUICtrlCreateInput("", 300, 70, 90)
    $search = GUICtrlCreateButton("from File", 400, 68, 60)

    GUICtrlCreateGroup("Group Infos", 480, 0, 220, 100)
    GUICtrlCreateLabel("Group", 490, 20)
    $group = GUICtrlCreateInput("", 490, 35, 200, 20)
    $authlabel = GUICtrlCreateLabel("Author", 490, 60)
    $author = GUICtrlCreateInput("", 490, 75, 200, 20)

    GUICtrlCreateGroup("further Infos", 10, 100, 690, 60)
    $label1 = GUICtrlCreateLabel("Version", 20, 120, 80, 20)
    $input1 = GUICtrlCreateInput("", 100, 118, 100, 18)
    $label2 = GUICtrlCreateLabel("OS", 20, 140, 80, 15)
    $input2 = GUICtrlCreateInput("", 100, 138, 100, 18)
    $label3 = GUICtrlCreateLabel("", 270, 120, 80, 20)
    GUICtrlSetState(-1, $GUI_HIDE)
    $input3 = GUICtrlCreateInput("", 350, 118, 100, 18)
    GUICtrlSetState(-1, $GUI_HIDE)
    $label4 = GUICtrlCreateLabel("", 270, 140, 80, 15)
    GUICtrlSetState(-1, $GUI_HIDE)
    $input4 = GUICtrlCreateInput("", 350, 138, 100, 18)
    GUICtrlSetState(-1, $GUI_HIDE)
    $label5 = GUICtrlCreateLabel("", 520, 120, 60, 20)
    GUICtrlSetState(-1, $GUI_HIDE)
    $input5 = GUICtrlCreateInput("", 580, 118, 100, 18)
    GUICtrlSetState(-1, $GUI_HIDE)
    $label6 = GUICtrlCreateLabel("", 520, 140, 60, 15)
    GUICtrlSetState(-1, $GUI_HIDE)
    $input6 = GUICtrlCreateInput("", 580, 138, 100, 18)
    GUICtrlSetState(-1, $GUI_HIDE)

    GUICtrlCreateGroup("Description", 10, 160, 390, 230)
    $desc = GUICtrlCreateEdit("", 30, 180, 350, 200)
    GUICtrlSetData($desc, @CRLF & @CRLF & "Install Notes:" & @CRLF & @CRLF & "1) " & @CRLF & "2) ")

    GUICtrlCreateGroup("Notes", 410, 160, 380, 230)
    $notes = GUICtrlCreateEdit("Website: " & @CRLF & @CRLF & "Mail: " & @CRLF & @CRLF & "IRC: " & @CRLF & @CRLF & "We are looking for: "& @CRLF & @CRLF & "Group-Info: "& @CRLF & @CRLF & "Greetings: ", 430, 180, 350, 200)

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

    GUISetState(@SW_SHOW, $maingui)

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

    While 1
    $msg = GUIGetMsg()
    Select
    case $msg = $type
    $switch = GUICtrlRead($type)
    Switch $switch
    case "Software"
    GUICtrlSetData($authlabel, "Author")
    GUICtrlSetData($label1, "Version")
    GUICtrlSetData($label2, "OS")
    GUICtrlSetData($label3, "")
    GUICtrlSetData($label4, "")
    GUICtrlSetData($label5, "")
    GUICtrlSetData($label6, "")
    GUICtrlSetState($label1, $GUI_SHOW)
    GUICtrlSetState($label2, $GUI_SHOW)
    GUICtrlSetState($label3, $GUI_HIDE)
    GUICtrlSetState($label4, $GUI_HIDE)
    GUICtrlSetState($label5, $GUI_HIDE)
    GUICtrlSetState($label6, $GUI_HIDE)
    GUICtrlSetData($input1, "")
    GUICtrlSetData($input2, "")
    GUICtrlSetData($input3, "")
    GUICtrlSetData($input4, "")
    GUICtrlSetData($input5, "")
    GUICtrlSetData($input6, "")
    GUICtrlSetState($input1, $GUI_SHOW)
    GUICtrlSetState($input2, $GUI_SHOW)
    GUICtrlSetState($input3, $GUI_HIDE)
    GUICtrlSetState($input4, $GUI_HIDE)
    GUICtrlSetState($input5, $GUI_HIDE)
    GUICtrlSetState($input6, $GUI_HIDE)
    GUICtrlSetData($desc, @CRLF & @CRLF & "Install Notes:" & @CRLF & @CRLF & "1) " & @CRLF & "2) ")
    case "Movie"
    GUICtrlSetData($authlabel, "Ripper")
    GUICtrlSetData($label1, "V-Codec")
    GUICtrlSetData($label2, "A-Codec")
    GUICtrlSetData($label3, "V-Bitrate")
    GUICtrlSetData($label4, "A-Bitrate")
    GUICtrlSetData($label5, "Runtime")
    GUICtrlSetData($label6, "Genre")
    GUICtrlSetState($label1, $GUI_SHOW)
    GUICtrlSetState($label2, $GUI_SHOW)
    GUICtrlSetState($label3, $GUI_SHOW)
    GUICtrlSetState($label4, $GUI_SHOW)
    GUICtrlSetState($label5, $GUI_SHOW)
    GUICtrlSetState($label6, $GUI_SHOW)
    GUICtrlSetData($input1, "")
    GUICtrlSetData($input2, "")
    GUICtrlSetData($input3, "")
    GUICtrlSetData($input4, "")
    GUICtrlSetData($input5, "")
    GUICtrlSetData($input6, "")
    GUICtrlSetState($input1, $GUI_SHOW)
    GUICtrlSetState($input2, $GUI_SHOW)
    GUICtrlSetState($input3, $GUI_SHOW)
    GUICtrlSetState($input4, $GUI_SHOW)
    GUICtrlSetState($input5, $GUI_SHOW)
    GUICtrlSetState($input6, $GUI_SHOW)
    GUICtrlSetData($desc, @CRLF & @CRLF & "IMDB: ")
    case "Game"
    GUICtrlSetData($authlabel, "Cracker")
    GUICtrlSetData($label1, "Secure")
    GUICtrlSetData($label2, "Genre")
    GUICtrlSetData($label3, "Serial")
    GUICtrlSetData($label4, "")
    GUICtrlSetData($label5, "")
    GUICtrlSetData($label6, "")
    GUICtrlSetState($label1, $GUI_SHOW)
    GUICtrlSetState($label2, $GUI_SHOW)
    GUICtrlSetState($label3, $GUI_SHOW)
    GUICtrlSetState($label4, $GUI_HIDE)
    GUICtrlSetState($label5, $GUI_HIDE)
    GUICtrlSetState($label6, $GUI_HIDE)
    GUICtrlSetData($input1, "")
    GUICtrlSetData($input2, "")
    GUICtrlSetData($input3, "")
    GUICtrlSetData($input4, "")
    GUICtrlSetData($input5, "")
    GUICtrlSetData($input6, "")
    GUICtrlSetState($input1, $GUI_SHOW)
    GUICtrlSetState($input2, $GUI_SHOW)
    GUICtrlSetState($input3, $GUI_SHOW)
    GUICtrlSetState($input4, $GUI_HIDE)
    GUICtrlSetState($input5, $GUI_HIDE)
    GUICtrlSetState($input6, $GUI_HIDE)
    GUICtrlSetData($desc, @CRLF & @CRLF & "Install Notes:" & @CRLF & @CRLF & "1) " & @CRLF & "2) ")
    case "Music"
    GUICtrlSetData($authlabel, "Ripper")
    GUICtrlSetData($label1, "Genre")
    GUICtrlSetData($label2, "Codec")
    GUICtrlSetData($label3, "Songs")
    GUICtrlSetData($label4, "Bitrate")
    GUICtrlSetData($label5, "")
    GUICtrlSetData($label6, "")
    GUICtrlSetState($label1, $GUI_SHOW)
    GUICtrlSetState($label2, $GUI_SHOW)
    GUICtrlSetState($label3, $GUI_SHOW)
    GUICtrlSetState($label4, $GUI_SHOW)
    GUICtrlSetState($label5, $GUI_HIDE)
    GUICtrlSetState($label6, $GUI_HIDE)
    GUICtrlSetData($input1, "")
    GUICtrlSetData($input2, "")
    GUICtrlSetData($input3, "")
    GUICtrlSetData($input4, "")
    GUICtrlSetData($input5, "")
    GUICtrlSetData($input6, "")
    GUICtrlSetState($input1, $GUI_SHOW)
    GUICtrlSetState($input2, $GUI_SHOW)
    GUICtrlSetState($input3, $GUI_SHOW)
    GUICtrlSetState($input4, $GUI_SHOW)
    GUICtrlSetState($input5, $GUI_HIDE)
    GUICtrlSetState($input6, $GUI_HIDE)
    GUICtrlSetData($desc, "")
    case "Else"
    GUICtrlSetData($authlabel, "Author")
    GUICtrlSetState($label1, $GUI_HIDE)
    GUICtrlSetState($label2, $GUI_HIDE)
    GUICtrlSetState($label3, $GUI_HIDE)
    GUICtrlSetState($label4, $GUI_HIDE)
    GUICtrlSetState($label5, $GUI_HIDE)
    GUICtrlSetState($label6, $GUI_HIDE)
    GUICtrlSetState($input1, $GUI_SHOW)
    GUICtrlSetData($input1, "")
    GUICtrlSetState($input2, $GUI_SHOW)
    GUICtrlSetData($input2, "")
    GUICtrlSetState($input3, $GUI_SHOW)
    GUICtrlSetData($input3, "")
    GUICtrlSetState($input4, $GUI_SHOW)
    GUICtrlSetData($input4, "")
    GUICtrlSetState($input5, $GUI_SHOW)
    GUICtrlSetData($input5, "")
    GUICtrlSetState($input6, $GUI_SHOW)
    GUICtrlSetData($input6, "")
    GUICtrlSetData($desc, "")
    EndSwitch
    case $msg = $gui_event_close
    Exit
    case $msg = $exit
    Exit
    case $msg = $save
    $ini = FileSaveDialog("Save your Settings", @scriptdir & "\savings\", "All (*.*)", 16, GUICtrlRead($rel) & ".ini")
    If @error Then
    Else
    IniWrite($ini, "Settings", "Release", GUICtrlRead($rel))
    IniWrite($ini, "Settings", "Type", GUICtrlRead($type))
    IniWrite($ini, "Settings", "Date", GUICtrlRead($today))
    IniWrite($ini, "Settings", "Language", GUICtrlRead($lang))
    IniWrite($ini, "Settings", "Size", GUICtrlRead($size))
    IniWrite($ini, "Settings", "Group", GUICtrlRead($group))
    IniWrite($ini, "Settings", "Author", GUICtrlRead($author))
    IniWrite($ini, "Settings", "Description", StringReplace(GUICtrlRead($desc), @CRLF, "[CRLF]"))
    IniWrite($ini, "Settings", "Notes", StringReplace(GUICtrlRead($notes), @CRLF, "[CRLF]"))
    IniWrite($ini, "Settings", "Input1", GUICtrlRead($input1))
    IniWrite($ini, "Settings", "Input2", GUICtrlRead($input2))
    IniWrite($ini, "Settings", "Input3", GUICtrlRead($input3))
    IniWrite($ini, "Settings", "Input4", GUICtrlRead($input4))
    IniWrite($ini, "Settings", "Input5", GUICtrlRead($input5))
    IniWrite($ini, "Settings", "Input6", GUICtrlRead($input6))
    MsgBox(64, "Settings saved", $ini, 3)
    EndIf
    case $msg = $openbutton
    $openfile = FileOpenDialog("Open existing NFO", @scriptdir & "\savings", "All (*.*)")
    If @error Then
    Else
    $open = IniReadSection($openfile, "Settings")
    If $open[2][1] = "Software" Then
    GUICtrlSetData($authlabel, "Author")
    GUICtrlSetData($label1, "Version")
    GUICtrlSetData($label2, "OS")
    GUICtrlSetData($label3, "")
    GUICtrlSetData($label4, "")
    GUICtrlSetData($label5, "")
    GUICtrlSetData($label6, "")
    GUICtrlSetState($label1, $GUI_SHOW)
    GUICtrlSetState($label2, $GUI_SHOW)
    GUICtrlSetState($label3, $GUI_HIDE)
    GUICtrlSetState($label4, $GUI_HIDE)
    GUICtrlSetState($label5, $GUI_HIDE)
    GUICtrlSetState($label6, $GUI_HIDE)
    GUICtrlSetState($input1, $GUI_SHOW)
    GUICtrlSetState($input2, $GUI_SHOW)
    GUICtrlSetState($input3, $GUI_HIDE)
    GUICtrlSetState($input4, $GUI_HIDE)
    GUICtrlSetState($input5, $GUI_HIDE)
    GUICtrlSetState($input6, $GUI_HIDE)
    ElseIf $open[2][1] = "Movie" Then
    GUICtrlSetData($authlabel, "Ripper")
    GUICtrlSetData($label1, "Video Codec")
    GUICtrlSetData($label2, "Audio Codec")
    GUICtrlSetData($label3, "Video Bitrate")
    GUICtrlSetData($label4, "Audio Bitrate")
    GUICtrlSetData($label5, "Runtime")
    GUICtrlSetData($label6, "Genre")
    GUICtrlSetState($label1, $GUI_SHOW)
    GUICtrlSetState($label2, $GUI_SHOW)
    GUICtrlSetState($label3, $GUI_SHOW)
    GUICtrlSetState($label4, $GUI_SHOW)
    GUICtrlSetState($label5, $GUI_SHOW)
    GUICtrlSetState($label6, $GUI_SHOW)
    GUICtrlSetState($input1, $GUI_SHOW)
    GUICtrlSetState($input2, $GUI_SHOW)
    GUICtrlSetState($input3, $GUI_SHOW)
    GUICtrlSetState($input4, $GUI_SHOW)
    GUICtrlSetState($input5, $GUI_SHOW)
    GUICtrlSetState($input6, $GUI_SHOW)
    ElseIf $open[2][1] = "Game" Then
    GUICtrlSetData($authlabel, "Cracker")
    GUICtrlSetData($label1, "Protection")
    GUICtrlSetData($label2, "Gametype")
    GUICtrlSetData($label3, "Serial")
    GUICtrlSetData($label4, "")
    GUICtrlSetData($label5, "")
    GUICtrlSetData($label6, "")
    GUICtrlSetState($label1, $GUI_SHOW)
    GUICtrlSetState($label2, $GUI_SHOW)
    GUICtrlSetState($label3, $GUI_SHOW)
    GUICtrlSetState($label4, $GUI_HIDE)
    GUICtrlSetState($label5, $GUI_HIDE)
    GUICtrlSetState($label6, $GUI_HIDE)
    GUICtrlSetState($input1, $GUI_SHOW)
    GUICtrlSetState($input2, $GUI_SHOW)
    GUICtrlSetState($input3, $GUI_SHOW)
    GUICtrlSetState($input4, $GUI_HIDE)
    GUICtrlSetState($input5, $GUI_HIDE)
    GUICtrlSetState($input6, $GUI_HIDE)
    ElseIf $open[2][1] = "Music" Then
    GUICtrlSetData($authlabel, "Ripper")
    GUICtrlSetData($label1, "Genre")
    GUICtrlSetData($label2, "Audio Codec")
    GUICtrlSetData($label3, "Songs")
    GUICtrlSetData($label4, "Audio Bitrate")
    GUICtrlSetData($label5, "")
    GUICtrlSetData($label6, "")
    GUICtrlSetState($label1, $GUI_SHOW)
    GUICtrlSetState($label2, $GUI_SHOW)
    GUICtrlSetState($label3, $GUI_SHOW)
    GUICtrlSetState($label4, $GUI_SHOW)
    GUICtrlSetState($label5, $GUI_HIDE)
    GUICtrlSetState($label6, $GUI_HIDE)
    GUICtrlSetState($input1, $GUI_SHOW)
    GUICtrlSetState($input2, $GUI_SHOW)
    GUICtrlSetState($input3, $GUI_SHOW)
    GUICtrlSetState($input4, $GUI_SHOW)
    GUICtrlSetState($input5, $GUI_HIDE)
    GUICtrlSetState($input6, $GUI_HIDE)
    ElseIf $open[2][1] = "Else" Then
    GUICtrlSetData($authlabel, "Author")
    GUICtrlSetData($label1, "")
    GUICtrlSetData($label2, "")
    GUICtrlSetData($label3, "")
    GUICtrlSetData($label4, "")
    GUICtrlSetData($label5, "")
    GUICtrlSetData($label6, "")
    GUICtrlSetState($label1, $GUI_HIDE)
    GUICtrlSetState($label2, $GUI_HIDE)
    GUICtrlSetState($label3, $GUI_HIDE)
    GUICtrlSetState($label4, $GUI_HIDE)
    GUICtrlSetState($label5, $GUI_HIDE)
    GUICtrlSetState($label6, $GUI_HIDE)
    GUICtrlSetState($input1, $GUI_SHOW)
    GUICtrlSetState($input2, $GUI_SHOW)
    GUICtrlSetState($input3, $GUI_SHOW)
    GUICtrlSetState($input4, $GUI_SHOW)
    GUICtrlSetState($input5, $GUI_SHOW)
    GUICtrlSetState($input6, $GUI_SHOW)
    EndIf
    GUICtrlSetData($rel, $open[1][1])
    GUICtrlSetData($type, $open[2][1])
    GUICtrlSetData($today, $open[3][1])
    GUICtrlSetData($lang, $open[4][1])
    GUICtrlSetData($size, $open[5][1])
    GUICtrlSetData($group, $open[6][1])
    GUICtrlSetData($author, $open[7][1])
    GUICtrlSetData($desc, StringReplace($open[8][1], "[CRLF]", @CRLF))
    GUICtrlSetData($notes, StringReplace($open[9][1], "[CRLF]", @CRLF))
    GUICtrlSetData($input1, $open[10][1])
    GUICtrlSetData($input2, $open[11][1])
    GUICtrlSetData($input3, $open[12][1])
    GUICtrlSetData($input4, $open[13][1])
    GUICtrlSetData($input5, $open[14][1])
    GUICtrlSetData($input6, $open[15][1])
    EndIf
    case $msg = $search
    $filesize = FileGetSize(FileOpenDialog("Search for your file", -1, "All (*.*)" , 1))
    GUICtrlSetData($size, Round($filesize / 1024 / 1024, 2))
    case $msg = $build
    _build()
    If $flag = True Then
    Else
    MsgBox(64, "NFO saved", GUICtrlRead($rel) & ".nfo", 3)
    EndIf
    EndSelect
    WEnd

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

    Func _build()
    $guistyle = GUICreate("NFO-Style", 300, 150)
    $Ok2 = GUICtrlCreateButton("&Ok", 10, 125, 80, 20)
    $Cancel2 = GUICtrlCreateButton("&Cancel", 210, 125, 80, 20)
    $combo = GUICtrlCreateCombo("", 10, 15)
    GUICtrlSetData($combo, "Tribal|Tribal 2|Dragon|Dragon 2|Tigerdragon|Horny|Pluto|Pluto 2", "")
    $pluto2 = GUICtrlCreatePic(@scriptdir & "\Templates\Pluto2.JPG", 135, 15, 155, 100, $SS_CENTERIMAGE)
    $pluto = GUICtrlCreatePic(@scriptdir & "\Templates\Pluto.jpg", 135, 15, 155, 100, $SS_CENTERIMAGE)
    $horny = GUICtrlCreatePic(@scriptdir & "\Templates\Horny.jpg", 135, 15, 155, 100, $SS_CENTERIMAGE)
    $tigerdragon = GUICtrlCreatePic(@scriptdir & "\Templates\Tigerdragon.jpg", 135, 15, 155, 100, $SS_CENTERIMAGE)
    $dragon2 = GUICtrlCreatePic(@scriptdir & "\Templates\Dragon2.jpg", 135, 15, 155, 100, $SS_CENTERIMAGE)
    $dragon = GUICtrlCreatePic(@scriptdir & "\Templates\Dragon.jpg", 135, 15, 155, 100, $SS_CENTERIMAGE)
    $tribal2 = GUICtrlCreatePic(@scriptdir & "\Templates\Tribal2.jpg", 135, 15, 155, 100, $SS_CENTERIMAGE)
    $tribal = GUICtrlCreatePic(@scriptdir & "\Templates\Tribal.jpg", 135, 15, 155, 100, $SS_CENTERIMAGE)
    GUICtrlSetState($pluto2, $GUI_HIDE)
    GUICtrlSetState($pluto, $GUI_HIDE)
    GUICtrlSetState($horny, $GUI_HIDE)
    GUICtrlSetState($tigerdragon, $GUI_HIDE)
    GUICtrlSetState($dragon2, $GUI_HIDE)
    GUICtrlSetState($dragon, $GUI_HIDE)
    GUICtrlSetState($tribal2, $GUI_HIDE)
    GUICtrlSetState($tribal, $GUI_HIDE)

    GUISetState(@sw_show)

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

    While 1
    $msg = GUIGetMsg()
    Select
    case $msg = $gui_event_close Or $msg = $Cancel2
    $flag = True
    GUIDelete($guistyle)
    ExitLoop
    case $msg = $combo
    $switch2 = GUICtrlRead($combo)
    Switch $switch2
    case "Tribal"
    GUICtrlSetState($pluto2, $GUI_HIDE)
    GUICtrlSetState($pluto, $GUI_HIDE)
    GUICtrlSetState($horny, $GUI_HIDE)
    GUICtrlSetState($tigerdragon, $GUI_HIDE)
    GUICtrlSetState($dragon2, $GUI_HIDE)
    GUICtrlSetState($dragon, $GUI_HIDE)
    GUICtrlSetState($tribal2, $GUI_HIDE)
    GUICtrlSetState($tribal, $GUI_SHOW)
    case "Tribal 2"
    GUICtrlSetState($pluto2, $GUI_HIDE)
    GUICtrlSetState($pluto, $GUI_HIDE)
    GUICtrlSetState($horny, $GUI_HIDE)
    GUICtrlSetState($tigerdragon, $GUI_HIDE)
    GUICtrlSetState($dragon2, $GUI_HIDE)
    GUICtrlSetState($dragon, $GUI_HIDE)
    GUICtrlSetState($tribal, $GUI_HIDE)
    GUICtrlSetState($tribal2, $GUI_SHOW)
    case "Dragon"
    GUICtrlSetState($pluto2, $GUI_HIDE)
    GUICtrlSetState($pluto, $GUI_HIDE)
    GUICtrlSetState($horny, $GUI_HIDE)
    GUICtrlSetState($tigerdragon, $GUI_HIDE)
    GUICtrlSetState($dragon2, $GUI_HIDE)
    GUICtrlSetState($tribal2, $GUI_HIDE)
    GUICtrlSetState($tribal, $GUI_HIDE)
    GUICtrlSetState($dragon, $GUI_SHOW)
    case "Dragon 2"
    GUICtrlSetState($pluto2, $GUI_HIDE)
    GUICtrlSetState($pluto, $GUI_HIDE)
    GUICtrlSetState($horny, $GUI_HIDE)
    GUICtrlSetState($tigerdragon, $GUI_HIDE)
    GUICtrlSetState($dragon, $GUI_HIDE)
    GUICtrlSetState($tribal2, $GUI_HIDE)
    GUICtrlSetState($tribal, $GUI_HIDE)
    GUICtrlSetState($dragon2, $GUI_SHOW)
    case "Tigerdragon"
    GUICtrlSetState($pluto2, $GUI_HIDE)
    GUICtrlSetState($pluto, $GUI_HIDE)
    GUICtrlSetState($horny, $GUI_HIDE)
    GUICtrlSetState($dragon2, $GUI_HIDE)
    GUICtrlSetState($dragon, $GUI_HIDE)
    GUICtrlSetState($tribal2, $GUI_HIDE)
    GUICtrlSetState($tribal, $GUI_HIDE)
    GUICtrlSetState($tigerdragon, $GUI_SHOW)
    case "Horny"
    GUICtrlSetState($pluto2, $GUI_HIDE)
    GUICtrlSetState($pluto, $GUI_HIDE)
    GUICtrlSetState($tigerdragon, $GUI_HIDE)
    GUICtrlSetState($dragon2, $GUI_HIDE)
    GUICtrlSetState($dragon, $GUI_HIDE)
    GUICtrlSetState($tribal2, $GUI_HIDE)
    GUICtrlSetState($tribal, $GUI_HIDE)
    GUICtrlSetState($horny, $GUI_SHOW)
    case "Pluto"
    GUICtrlSetState($pluto2, $GUI_HIDE)
    GUICtrlSetState($horny, $GUI_HIDE)
    GUICtrlSetState($tigerdragon, $GUI_HIDE)
    GUICtrlSetState($dragon2, $GUI_HIDE)
    GUICtrlSetState($dragon, $GUI_HIDE)
    GUICtrlSetState($tribal2, $GUI_HIDE)
    GUICtrlSetState($tribal, $GUI_HIDE)
    GUICtrlSetState($pluto, $GUI_SHOW)
    case "Pluto 2"
    GUICtrlSetState($pluto, $GUI_HIDE)
    GUICtrlSetState($horny, $GUI_HIDE)
    GUICtrlSetState($tigerdragon, $GUI_HIDE)
    GUICtrlSetState($dragon2, $GUI_HIDE)
    GUICtrlSetState($dragon, $GUI_HIDE)
    GUICtrlSetState($tribal2, $GUI_HIDE)
    GUICtrlSetState($tribal, $GUI_HIDE)
    GUICtrlSetState($pluto2, $GUI_SHOW)
    EndSwitch
    case $msg = $ok2
    $nfo = FileSaveDialog("Save your NFO", @scriptdir & "\NFOs\", "All (*.*)", 16, GUICtrlRead($rel) & ".nfo")
    If @error Then
    Else
    $switch2 = GUICtrlRead($combo)
    Switch $switch2
    case "Tribal"
    FileCopy(@ScriptDir & "\Templates\Tribal.txt", $nfo, 1)
    ;group
    If GUICtrlRead($group) = "" Then
    Else
    $strInsert = GUICtrlRead($group)
    $pos = 80
    $line = 3
    _Insert($strInsert, $pos, $line)
    EndIf
    ;release
    If GUICtrlRead($rel) = "" Then
    Else
    $strInsert = GUICtrlRead($rel)
    $pos = 80
    $line = 14
    _Insert($strInsert, $pos, $line)
    EndIf
    ;today
    If GUICtrlRead($today) = "" Then
    $z = -1
    Else
    $strInsert = GUICtrlRead($ltoday) & ": " & GUICtrlRead($today)
    $pos = 85
    $line = 59
    _Insert($strInsert, $pos, $line)
    EndIf
    ;lang
    If GUICtrlRead($lang) = "" Then
    $z = $z -1
    Else
    $strInsert = GUICtrlRead($llang) & ": " & GUICtrlRead($lang)
    $pos = 85
    $line = 60 + $z
    _Insert($strInsert, $pos, $line)
    EndIf
    ;size
    If GUICtrlRead($size) = "" Then
    $z = $z -1
    Else
    $strInsert = GUICtrlRead($lsize) & ": " & GUICtrlRead($size)
    $pos = 85
    $line = 61 + $z
    _Insert($strInsert, $pos, $line)
    EndIf
    ;author
    If GUICtrlRead($author) = "" Then
    $z = $z -1
    Else
    $strInsert = GUICtrlRead($authlabel) & ": " & GUICtrlRead($author)
    $pos = 85
    $line = 62 + $z
    _Insert($strInsert, $pos, $line)
    EndIf
    ;input
    If GUICtrlRead($input1) = "" Then
    $z = $z -1
    Else
    $strInsert = GUICtrlRead($label1) & ": " & GUICtrlRead($input1)
    $pos = 85
    $line = 64 + $z
    _Insert($strInsert, $pos, $line)
    EndIf
    If GUICtrlRead($input2) = "" Then
    $z = $z -1
    Else
    $strInsert = GUICtrlRead($label2) & ": " & GUICtrlRead($input2)
    $pos = 85
    $line = 65 + $z
    _Insert($strInsert, $pos, $line)
    EndIf
    If GUICtrlRead($input3) = "" Then
    $z = $z -1
    Else
    $strInsert = GUICtrlRead($label3) & ": " & GUICtrlRead($input3)
    $pos = 85
    $line = 66 + $z
    _Insert($strInsert, $pos, $line)
    EndIf
    If GUICtrlRead($input4) = "" Then
    $z = $z -1
    Else
    $strInsert = GUICtrlRead($label4) & ": " & GUICtrlRead($input4)
    $pos = 85
    $line = 67 + $z
    _Insert($strInsert, $pos, $line)
    EndIf
    If GUICtrlRead($input5) = "" Then
    $z = $z -1
    Else
    $strInsert = GUICtrlRead($label5) & ": " & GUICtrlRead($input5)
    $pos = 85
    $line = 68 + $z
    _Insert($strInsert, $pos, $line)
    EndIf
    If GUICtrlRead($input6) = "" Then
    $z = $z -1
    Else
    $strInsert = GUICtrlRead($label6) & ": " & GUICtrlRead($input6)
    $pos = 85
    $line = 69 + $z
    _Insert($strInsert, $pos, $line)
    EndIf
    If GUICtrlRead($desc) = "" Then
    $z = $z -1
    Else
    Dim $Pfad = $nfo
    Dim $line = 73 ; Zeile festlegen, ab der Inhalt aus Editbox geschrieben werden soll
    Dim $posX = 73 ; Spalte ab der der Text eingefügt werden soll innerhalb der Zeile
    Dim $arNFO ; hier wird nfo-Datei eingelesen
    Dim $lineCount = 1
    If IsArray(_FileReadToArray($Pfad, $arNFO)) Then
    For $i = $line To ($line + _GUICtrlEditGetLineCount($desc))-1
    _StrOverwrite($arNFO[$i], _GUICtrlEditGetLine($desc, $lineCount))
    $lineCount += 1
    Next
    _ArrayDelete($arNFO, 0)
    FileMove($Pfad, $Pfad & '.BAK', 1)
    _FileWriteFromArray($Pfad, $arNFO)
    EndIf
    $z = 0
    EndIf
    EndSwitch
    EndIf
    GUIDelete($guistyle)
    ExitLoop
    EndSelect
    WEnd
    EndFunc

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

    Func _StrOverwrite(ByRef $STR, $TXT2OVERWRITE, $STARTPOS)
    Local $strTmp = ''
    Local $arAlt = StringSplit($STR, '')
    Local $arInsert = StringSplit($TXT2OVERWRITE, '')
    $pos = 7
    For $i = 1 To UBound($arInsert) -1
    $arAlt[$STARTPOS+$i] = $arInsert[$i]
    Next
    For $i = 1 To UBound($arAlt) -1
    $strTmp &= $arAlt[$i]
    Next
    $STR = $strTmp
    EndFunc ;==>_StrOverwrite

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

    Func _Insert($strInsert, $pos, $line)
    $strAlt = FileReadLine($nfo, $line)
    $arAlt = StringSplit($strAlt, '')
    $arInsert = StringSplit($strInsert, '')
    For $i = 1 To UBound($arInsert) -1
    $arAlt[$pos+$i] = $arInsert[$i]
    Next
    $strOut = ''
    For $i = 1 To UBound($arAlt) -1
    $strOut &= $arAlt[$i]
    Next
    _FileWriteToLine($nfo, $line, $strOut, 1)
    EndFunc

    [/autoit]

    bei zeile 587 versuche ich, den text aus der editbox auszulesen und zeile für zeile in die neue datei zu schreiben. leider funktioniert das nicht ... was mache ich falsch?

  • _FileWriteToLine & Anzahl der Zeichen löschen

    • sc4ry
    • 24. Juli 2007 um 13:33

    Hey Bugfix, i need your help ...

    leider macht das script (noch) garnix, aber habe auch noch nen fehler gefunden.

    _StrOverwrite($arNFO[$i], _GUICtrlEditGetLine($hEdit, $lineCount)

    da fehlt noch was (neben der klammer) =)

    $posx hab ich probiert, das script macht dann aber auch nix, ka was dahin kommt *g*

  • _FileWriteToLine & Anzahl der Zeichen löschen

    • sc4ry
    • 23. Juli 2007 um 21:43

    hey, dank dir, ich bin ja mal gespannt, ob ich es hinbekomme ...
    werd es morgen mal testen, sieht kompliziert aus =/

  • GuiCtrlRead mit For-Schleife

    • sc4ry
    • 23. Juli 2007 um 13:55

    mach ich doch gerne *g*

    und wenn du magst, kannst dir noch ein post mehr holen ;)
    irgendwie will das nicht, weiss auch net, wo mein fehler jetzt wieder liegt

    [autoit]


    For $j = 1 To 6
    If GUICtrlRead($input[$j]) = "" Then
    $z = $z -1
    Else
    $strInsert = GUICtrlRead($input[$j])
    $pos = 85
    $line = 63 + $j + $z
    _Insert($strInsert, $pos, $line)
    EndIf
    Next

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

    J:\AutoScrIpTs\NFastO\NFastO.au3 (526) : ==> Subscript used with non-Array variable.:
    If GUICtrlRead($input[$i]) = "" Then
    If GUICtrlRead($input^ ERROR

    [/autoit]
  • GuiCtrlRead mit For-Schleife

    • sc4ry
    • 23. Juli 2007 um 13:06

    ach verdammt, vllt sollte ich mit dem trinken aufhören *g*

    ja, dank dir ... manchmal sieht man vor lauter bäumen den wald nicht mehr =)

  • leere zeilen in txt löschen

    • sc4ry
    • 23. Juli 2007 um 13:03

    danke, klappt =)

  • GuiCtrlRead mit For-Schleife

    • sc4ry
    • 23. Juli 2007 um 12:55

    Hallo,

    irgendwie bekomme ich es nicht in.
    ich würde gerne GuiCtrlRead für 6 inputboxen ausführen, das ganze getätigt von einer For-Schleife (damit ich das selbe nicht 6 mal schreiben muss). leider bekomme ich es nicht hin ... wer kann mir helfen?

    [autoit]


    For $j = 1 To 6
    If GUICtrlRead($input & $j) = "" Then
    $z = $z -1
    Else
    $strInsert = GUICtrlRead($input & $j)
    $pos = 85
    $line = 63 + $j + $z
    _Insert($strInsert, $pos, $line)
    EndIf

    [/autoit]

    oder

    [autoit]


    For $j = 1 To 6
    $input = "$input" & $j
    If GUICtrlRead($input) = "" Then
    $z = $z -1
    Else
    $strInsert = GUICtrlRead($input)
    $pos = 85
    $line = 63 + $j + $z
    _Insert($strInsert, $pos, $line)
    EndIf

    [/autoit]

    gehen beiden nicht ... why?

  • Kontextmenüeintrag in mehrfacher Form

    • sc4ry
    • 22. Juli 2007 um 00:42

    hat jmd nen tip, wie man in das kontextmenü einen eintrag mit untermenüs zufügen kann?

    also Defragmentieren - C:
    D:
    Alle

  • _FileWriteToLine & Anzahl der Zeichen löschen

    • sc4ry
    • 22. Juli 2007 um 00:39

    nein, sollen sie nicht

  • _FileWriteToLine & Anzahl der Zeichen löschen

    • sc4ry
    • 21. Juli 2007 um 23:16

    es geht um NFastO aus der Script-Abteilung.
    wie es jetzt steht, kann ich alle oberen combo bzw inputboxen so in die neuen nfos einbringen, dass die bilder nicht zerstört werden (da sich die zeilen sonst nach links verschoben hätten).

    jetzt muss ich aber noch die "description" sowie die "notes" editboxen in die neuen nfos schreiben. die enthalten aber zeilenumbrüche. würde ich jetzt das gleiche verfahren wie oben anwenden, würden die ganzen zeilenumbrüche die nfo wiederum zerstören (zeilen nach unten verschieben, die eine lücke in das bild reissen würden) ... also müsste pro zeilenumbruch die nächste zeile ausgelesen werden und der neue teil dort hinzugefügt werden.

    hoffe das beantwortet deine frage *g*

  • _FileWriteToLine & Anzahl der Zeichen löschen

    • sc4ry
    • 21. Juli 2007 um 22:26

    ay caramba ... klappt wunderbar *g*

    aber leider hab ich dazu noch ein ähnliches prob, was mir gerade aufgefallen ist.
    ich habe input & combo boxen, wo das ganze prächtig funktioniert, aber mit ner editbox geht das leider nicht.

    in der editbox sind zeilenumbrüche drin, da darf natürlich dann nicht einfach ein zeilenumbruch geschrieben werden, sondern es muss die nächste zeile ausgelesen werden und darein dann der text ... wäre das auch noch machbar?

  • _FileWriteToLine & Anzahl der Zeichen löschen

    • sc4ry
    • 21. Juli 2007 um 21:04

    die datei stellt ein bild da, genauer eine nfo.
    per _FileWriteToLine schreibe ich 1 Zeile dieser datei neu, wobei ich dann mittenrein einen text dazu schreiben will. dabei verschiebt sich aber diese zeile und "zerstört" das bild.

    darum müsste ich die anzahl der zeichen, die ich hinzufüge, an leerzeichen wieder löschen ...

  • _FileWriteToLine & Anzahl der Zeichen löschen

    • sc4ry
    • 21. Juli 2007 um 20:09

    Hallo,

    ich habe folgendes Prob.
    ich würde gerne in eine bestehende Datei was hinzufügen, wofür ich _FileWriteToLine benutze. was in das File geschrieben wird, wird aus einer GUI gelesen. jedoch soll die anzahl der zeichen, nach dem geschriebenen text auch wieder gelöscht werden, damit die textdatei quasi nacher genau so aussieht, wie vorher, ausser dass dort leerzeichen durch zeichen ersetz wurden (also keine zeichen nur HINZUGEFÜGT werden).

    eine art überschreibmodus. hat jmd ne ahnung wie man das anstellen kann?

  • WinGetKey

    • sc4ry
    • 19. Juli 2007 um 20:30

    sowas wie dein script, nur kleiner

    WinGetKey

  • WinGetKey

    • sc4ry
    • 19. Juli 2007 um 20:29

    Hi,

    hier ein miniscript, was die win-id und den win-key ausliest.

    [autoit]

    ;
    ; WinGetKey
    ;
    ; © sc4ry

    #include <guiconstants.au3>
    #include <string.au3>

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

    Opt("TrayMenuMode",1)
    TraySetToolTip("sc4ry´s " & @ScriptName & @CRLF & @UserName & " \\ " & @ComputerName & @CRLF & @OSVersion & " " & @OSServicePack & " \\ " & @OSBuild & @CRLF & @IPAddress1)

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

    $flag = 0
    Global $menu, $copyid, $copykey

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

    $ID = RegRead("HKLM\Software\Microsoft\Windows NT\CurrentVersion", "ProductId")
    $Bin = RegRead("HKLM\Software\Microsoft\Windows NT\CurrentVersion", "DigitalProductId")

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

    If $flag = 0 Then GUICreate("WinGetKey", 300, 120, -1, -1, $WS_POPUP + $WS_DLGFRAME, $WS_EX_TOPMOST) ;normal(bild + buttons, kein menu)
    If $flag = 1 Then GUICreate("WinGetKey", 300, 120, -1, -1, $WS_POPUP + $WS_DLGFRAME, $WS_EX_TOPMOST) ;picless(ohne bild + menu, mit buttons)
    If $flag = 2 Then GUICreate("WinGetKey", 260, 140, -1, -1, $WS_POPUP + $WS_DLGFRAME, $WS_EX_TOPMOST) ;buttonless (mit bild + menu, ohne buttons)

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

    If $flag <> 1 Then GUICtrlCreatePic("C:\Dokumente und Einstellungen\Administrator\Lokale Einstellungen\Anwendungsdaten\Microsoft\Wallpaper1.bmp", 0, 0, 370, 190)
    If $flag <> 1 Then GUICtrlSetState(-1, $GUI_DISABLE)
    If $flag = 2 Then $menu = GUICtrlCreateMenu("&copy...")
    If $flag = 2 Then $copyid = GUICtrlCreateMenuItem("&ID (ALT+C+I)", $menu)
    If $flag = 2 Then $copykey = GUICtrlCreateMenuItem("&Key (ALT+C+K)", $menu)
    If $flag <> 2 Then $copyid = GUICtrlCreateButton("copy &ID", 245, 30, 50, 20)
    If $flag <> 2 Then $copykey = GUICtrlCreateButton("copy &Key", 245, 80, 50, 20)
    GUICtrlCreateLabel("Product ID", 10, 10, 53, 15)
    GUICtrlCreateLabel("Product Key", 10, 60, 60, 15)
    $IID = GUICtrlCreateInput("", 10, 30, 230, 20, $ES_READONLY)
    GUICtrlSetData($IID, $ID)
    $IKey = GUICtrlCreateInput("", 10, 80, 230, 20, $ES_READONLY)
    GUICtrlSetData($IKey, DecodeProductKey($Bin))

    GUISetState(@sw_show)

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

    While 1
    $msg = GUIGetMsg()
    Select
    case $msg = $gui_event_close
    Exit
    case $msg = $copyid
    ClipPut(guictrlread($IID))
    case $msg = $copykey
    ClipPut(guictrlread($IKey))
    EndSelect
    WEnd

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

    Func DecodeProductKey($BinaryDPID)
    Local $bKey[15]
    Local $sKey[29]
    Local $Digits[24]
    Local $Value = 0
    Local $hi = 0
    Local $n = 0
    Local $i = 0
    Local $dlen = 29
    Local $slen = 15
    Local $Result

    $Digits = StringSplit("BCDFGHJKMPQRTVWXY2346789", "")
    $BinaryDPID = StringMid($BinaryDPID, 105, 30)
    For $i = 1 To 29 Step 2
    $bKey[Int($i / 2) ] = Dec(StringMid($BinaryDPID, $i, 2))
    Next
    For $i = $dlen - 1 To 0 Step - 1
    If Mod(($i + 1), 6) = 0 Then
    $sKey[$i] = "-"
    Else
    $hi = 0
    For $n = $slen - 1 To 0 Step - 1
    $Value = BitOR(BitShift($hi, -8), $bKey[$n])
    $bKey[$n] = Int($Value / 24)
    $hi = Mod($Value, 24)
    Next
    $sKey[$i] = $Digits[$hi + 1]
    EndIf
    Next
    For $i = 0 To 28
    $Result = $Result & $sKey[$i]
    Next
    Return $Result
    EndFunc ;==>DecodeProductKey

    [/autoit]
  • WinGetKey

    • sc4ry
    • 19. Juli 2007 um 20:12

    ah, das ist also der trick, dank dir, klappt natürlich =)

  • WinGetKey

    • sc4ry
    • 19. Juli 2007 um 19:56

    man kann ruhig den code aus dem ersten post nehmen, die paar änderungen bzgl des keys, die ich gemacht habe, haben keine auswirkung auf dieses pic/button prob ...

  • leere zeilen in txt löschen

    • sc4ry
    • 19. Juli 2007 um 19:47

    dank euch für die antworten, klappt alles =)

    ich suche nun aber noch ne möglichkeit, doppelte einträge zu löschen ... mitm umschreiben harperts noch, dachte es wäre einfacher *g*

    hat wer nen ansatz?

  • WinGetKey

    • sc4ry
    • 19. Juli 2007 um 19:41

    danke, klappt wunderbar

    jetzt habe ich nur noch das prob, dass, sobald ich $flag = 0 setze und das bild angezeigt wird, die buttons nicht auf klicks reagieren ... wie kann man das noch beheben ?

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™