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. autoBert

Beiträge von autoBert

  • Citrix Xen Server Zeit messen zwischen Doppelklick und vollständiger Verfügbarkeit der Anwendung

    • autoBert
    • 3. Februar 2011 um 23:14

    Hallo dicker2503,

    herzlich willkommen im Forum und viel Spass mit AutoIt.

    Hier kannst du dir die deutsche Hilfe herunterladen.
    Hier gibt es ein AutoIt-Tutorial: http://wiki.autoit.de/wiki/index.php/TutorialSehr hilfreich ist auch das Buch von peethebee

    und jetzt zu

    Zitat von dicker2503

    hat denn keiner einen rat?


    Was soll das pushen nach noch nicht einmal 7 Stunden. In dieser Zeit hättest du bequem die entsprechenden Funktionen:

    [autoit]

    While ... Wend;bzw.
    Do ... Until;oder
    For ... Next;zum bilden der Schleife
    FileWriteLine;in Textdatei schreiben
    WinWaitClose;warten bis Fenster geschlossen

    [/autoit]

    nachschlagen können.

    [autoit]

    TimerInit;und
    TimerDiff

    [/autoit]

    hast du ja schon kennengelernt

    Zitat von dicker2503

    ist dies möglich?

    natürlich ist es möglich oder werden bei euch nur unmögliche Aufgaben gestellt.

    mfg autoBert

  • DownSync - Download Manager - v.0.3

    • autoBert
    • 3. Februar 2011 um 22:09

    Hallo Jautois,

    ja hier:

    Spoiler anzeigen
    [autoit]

    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GuiImageList.au3>
    #include <GuiStatusBar.au3>
    #include <ImageListConstants.au3>
    #include <ListViewConstants.au3>
    #include <TreeViewConstants.au3>
    #include <WindowsConstants.au3>
    #include <GuiButton.au3>
    #include <GuiListView.au3>
    #include <Array.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <ComboConstants.au3>
    #include <File.au3>
    #include <Misc.au3>
    #include <Constants.au3>
    #include <ProgressConstants.au3>
    #include <HeaderConstants.au3>
    #include <WinAPI.au3>

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

    Opt('GUIOnEventMode', 1)

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

    If Not _CheckInet() Then
    MsgBox(16, "Error", "Es besteht keine Verbindung zum Internet!")
    Exit
    EndIf

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

    Global Const $DLM_Name = "DownSync"
    Global Const $DLM_Version = "0.2"
    Global Const $DLM_Author = "Johannes K."
    Global Const $DLM_Title = $DLM_Name & " v." & $DLM_Version
    Global Const $DLM_ServerUrl = "johannes-log.de"
    Global Const $DLM_FilePathOnServer = "http://" & $DLM_ServerUrl & "/" & $DLM_Name & "/version/"
    Global Const $DLM_DataTextPathOnServer = "http://" & $DLM_ServerUrl & "/" & $DLM_Name & "/data.txt"
    Global Const $DLM_Icon_Path = @ScriptDir & "\icon.dll"
    Global Const $DLM_HistoryFile = @ScriptDir & "\history.ini"
    Global Const $DLM_SystemFile = @ScriptDir & "\system.ini"
    Global $DLM_ListView_LastIndexX = -1

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

    Global $pListView_Up, $hWindow_Update
    Global $sOutputLog = ""
    Global $sFileSavePath = ""
    Global $hProgress[100]
    Global $ListViewItem[100]
    Global $aActions[4][2] = [["Download-Ordner öffnen", 1],["Herunterfahren", 2],["Standby", 3],["Nichts", 4]]

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

    Global Const $SW_HIDE = 0
    Global Const $SW_SHOW = 5

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

    Global $aProgress[1][4]

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

    GUIRegisterMsg($WM_NOTIFY, "_ListView_Notify")
    GUIRegisterMsg($WM_SIZE, "_ListView_Notify")

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

    If _Singleton($DLM_Name, 0) = 0 Then
    MsgBox(16, "Error", "Eine Instanz des Skripts wird bereits ausgeführt!")
    Exit
    EndIf

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

    ;- Main Gui
    $hWindo_Main = GUICreate($DLM_Title, 634, 563)
    GUISetOnEvent(-3, "_Exit")
    GUISetIcon($DLM_Icon_Path, 4)
    $ListView = GUICtrlCreateListView("Dateiname|Größe|Geschwindigkeit|Fortschritt|Zeit", 8, 56, 617, 353, -1, BitOR($WS_EX_CLIENTEDGE, $LVS_EX_FULLROWSELECT, $LVS_EX_GRIDLINES))
    GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 0, 200)
    GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 1, 110)
    GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 2, 100)
    GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 3, 100)
    GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 4, 102)
    Global $pEdit_Log = GUICtrlCreateEdit("", 8, 416, 617, 113, BitOR($ES_AUTOVSCROLL, $ES_AUTOHSCROLL, $ES_READONLY, $ES_WANTRETURN, $WS_VSCROLL))
    GUICtrlSetBkColor(-1, 0xA0A0A4)
    $StatusBar = _GUICtrlStatusBar_Create($hWindo_Main)
    _GUICtrlStatusBar_SetMinHeight($StatusBar, 25)
    GUICtrlCreateButton("", 8, 8, 41, 41, BitOR($BS_ICON, $WS_GROUP))
    GUICtrlSetOnEvent(-1, "_ShowAddDl")
    _GUICtrlButton_SetImage(-1, $DLM_Icon_Path, 1, True)
    GUICtrlCreateButton("", 56, 8, 41, 41, BitOR($BS_ICON, $WS_GROUP))
    _GUICtrlButton_SetImage(-1, $DLM_Icon_Path, 2, True)
    GUICtrlSetState(-1, $GUI_DISABLE)
    GUICtrlCreateButton("", 488, 8, 41, 41, BitOR($BS_ICON, $WS_GROUP))
    _GUICtrlButton_SetImage(-1, $DLM_Icon_Path, 11, True)
    GUICtrlSetState(-1, $GUI_DISABLE)
    GUICtrlCreateButton("", 440, 8, 41, 41, BitOR($BS_ICON, $WS_GROUP))
    _GUICtrlButton_SetImage(-1, $DLM_Icon_Path, 9, True)
    GUICtrlSetOnEvent(-1, "_ShowHistory")
    GUICtrlCreateButton("", 104, 8, 41, 41, BitOR($BS_ICON, $WS_GROUP))
    GUICtrlSetState(-1, $GUI_DISABLE)
    _GUICtrlButton_SetImage(-1, $DLM_Icon_Path, 5, True)
    GUICtrlCreateButton("", 584, 8, 41, 41, BitOR($BS_ICON, $WS_GROUP))
    _GUICtrlButton_SetImage(-1, $DLM_Icon_Path, 13, True)
    GUICtrlSetOnEvent(-1, "_ShowInfo")
    GUICtrlCreateButton("", 536, 8, 41, 41, BitOR($BS_ICON, $WS_GROUP))
    _GUICtrlButton_SetImage(-1, $DLM_Icon_Path, 12, True)
    GUICtrlSetOnEvent(-1, "_ShowSettings")
    GUICtrlCreateButton("", 392, 8, 41, 41, BitOR($BS_ICON, $WS_GROUP))
    _GUICtrlButton_SetImage(-1, $DLM_Icon_Path, 3, True)
    GUICtrlSetState(-1, $GUI_DISABLE)
    GUISetState(@SW_SHOW)

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

    ;- Download hinzufügen
    $hWindow_AddDl = GUICreate("Download hinzufügen", 409, 322)
    GUISetOnEvent(-3, "_ExitDL")
    GUIRegisterMsg($WM_COMMAND, "MY_COMMAND")
    GUISetIcon($DLM_Icon_Path, 4)
    $pInput_AddDL_Url = GUICtrlCreateInput("", 110, 21, 273, 21)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    GUICtrlCreateLabel("__________________________________________________________________________", 16, 104, 378, 17)
    $pLabel_AddDL_FileSize = GUICtrlCreateLabel("Größe:", 64, 72, 200, 17)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    GUICtrlCreateIcon($DLM_Icon_Path, 6, 16, 16, 33, 33, BitOR($SS_NOTIFY, $WS_GROUP))
    GUICtrlSetTip(-1, " ", "Die Url zur Datei, die heruntergeladen werden soll.", 1)
    GUICtrlCreateIcon($DLM_Icon_Path, 8, 16, 64, 33, 33, BitOR($SS_NOTIFY, $WS_GROUP))
    GUICtrlSetTip(-1, " ", "Die Größe der Datei", 1)
    GUICtrlCreateIcon($DLM_Icon_Path, 10, 16, 136, 33, 33, BitOR($SS_NOTIFY, $WS_GROUP))
    GUICtrlSetTip(-1, " ", "Unter diesem Namen wird die Datei auf dem Pc gespeichert.", 1)
    $pInput_AddDL_NewFileName = GUICtrlCreateInput("", 134, 141, 249, 21)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    GUICtrlCreateIcon($DLM_Icon_Path, 0, 16, 184, 33, 33, BitOR($SS_NOTIFY, $WS_GROUP))
    GUICtrlSetTip(-1, " ", "Die Datei wird in dieses Verzeichnis gedownloadet.", 1)
    $pInput_AddDL_FilePath = GUICtrlCreateInput("", 110, 189, 225, 21)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $pButton_AddDL_SearchPath = GUICtrlCreateButton("...", 344, 187, 41, 24, $WS_GROUP)
    GUICtrlSetOnEvent(-1, "_SelectFilePath")
    $pButton_AddDL_Download = GUICtrlCreateButton("Download", 64, 280, 185, 33, $WS_GROUP)
    GUICtrlSetOnEvent(-1, "_AddDownload")
    $pButton_AddDl_Exit = GUICtrlCreateButton("Abbruch", 256, 280, 129, 33, $WS_GROUP)
    GUICtrlSetOnEvent(-1, "_ExitDl")
    GUICtrlCreateLabel("Url:", 80, 24, 24, 17)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    GUICtrlCreateLabel("Dateiname:", 64, 144, 68, 17)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    GUICtrlCreateIcon($DLM_Icon_Path, 7, 16, 232, 33, 33, BitOR($SS_NOTIFY, $WS_GROUP))
    GUICtrlSetTip(-1, " ", "Noch freier Speicherplatz auf der Festplatte", 1)
    $pLabel_AddDL_DataSize = GUICtrlCreateLabel("Datenträger:", 64, 240, 400, 17)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    GUICtrlCreateLabel("Ziel:", 80, 192, 29, 17)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    GUISetState(@SW_HIDE, $hWindow_AddDl)

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

    ;- Verlauf
    $hWindow_History = GUICreate("Verlauf", 506, 370)
    GUISetOnEvent(-3, "_ExitHistory")
    GUISetIcon($DLM_Icon_Path, 9)
    $pListView_History = GUICtrlCreateListView("Datum|Uhrzeit|Dateiname|Größe", 0, 0, 505, 353)
    GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 0, 100)
    GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 1, 80)
    GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 2, 220)
    GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 3, 100)
    $pButton_ClearHistory = GUICtrlCreateButton("Leeren", 0, 352, 506, 19, $WS_GROUP)
    GUICtrlSetOnEvent(-1, "_ClearHistory")
    GUISetState(@SW_HIDE, $hWindow_History)

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

    ;- Einstellungen
    $hWindow_Settings = GUICreate("Einstellungen", 419, 162)
    GUISetOnEvent(-3, "_ExitSet")
    GUISetIcon($DLM_Icon_Path, 12)
    $pIconDLF = GUICtrlCreateIcon($DLM_Icon_Path, 5, 16, 16, 32, 32, BitOR($SS_NOTIFY, $WS_GROUP))
    GUICtrlSetTip($pIconDLF, " ", "Der standardmäßig verwendete Download-Ordner.", 1)
    GUICtrlCreateLabel("Download-Ordner:", 56, 24, 106, 17)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $bFR = False
    If Not FileExists($DLM_SystemFile) Then
    IniWrite($DLM_SystemFile, "Einstellungen", "Download-Ordner", @DesktopDir)
    IniWrite($DLM_SystemFile, "Einstellungen", "AfterDLActionID", 4)
    $bFR = True
    EndIf
    $aRead = IniReadSection($DLM_SystemFile, "Einstellungen")
    If @error Then
    MsgBox(64, "Error", "Es ist ein Fehler aufgetreten. Fehlercode: 0x" & @ScriptLineNumber & "-" & @error)
    EndIf
    $pInput_DownloadFolder = GUICtrlCreateInput($aRead[1][1], 168, 21, 185, 21)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $pButton_SelectFolder = GUICtrlCreateButton("...", 360, 21, 49, 21, $WS_GROUP)
    GUICtrlSetOnEvent(-1, "_SelectDLFolder")
    $pIconADL = GUICtrlCreateIcon($DLM_Icon_Path, 8, 16, 72, 32, 32, BitOR($SS_NOTIFY, $WS_GROUP))
    GUICtrlSetTip($pIconADL, " ", "Welche Aktion soll nach einem fertigen Download ausgeführt werden?", 1)
    GUICtrlCreateLabel("Download abgeschlossen, dann:", 56, 80, 188, 17)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $pActionCombo = GUICtrlCreateCombo($aActions[$aRead[2][1] - 1][0], 248, 77, 161, 25, BitOR($CBS_DROPDOWNLIST, $CBS_AUTOHSCROLL))
    $sActions = ""
    For $i = 1 To UBound($aActions)
    If $aActions[$aRead[2][1] - 1][1] <> $i Then $sActions &= $aActions[$i - 1][0] & "|"
    Next
    GUICtrlSetData(-1, $sActions)
    $pButton_SaveSet = GUICtrlCreateButton("Speichern", 56, 120, 161, 33, $WS_GROUP)
    GUICtrlSetOnEvent(-1, "_SaveSettings")
    GUISetState(@SW_HIDE, $hWindow_Settings)

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

    ;- Informationen
    $hWindow_Info = GUICreate("Informationen", 378, 370)
    GUISetOnEvent(-3, "_ExitInfo")
    GUISetIcon($DLM_Icon_Path, 13)
    GUICtrlCreateIcon($DLM_Icon_Path, 13, 16, 16, 96, 96, BitOR($SS_NOTIFY, $WS_GROUP))
    GUICtrlCreateLabel("Name:", 128, 24, 40, 17)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    GUICtrlCreateLabel("Version:", 128, 48, 50, 17)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    GUICtrlCreateLabel("Author:", 128, 72, 45, 17)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    GUICtrlCreateLabel($DLM_Name, 184, 24, 64, 17)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    GUICtrlSetColor(-1, 0xFF0000)
    GUICtrlCreateLabel($DLM_Version, 184, 48, 22, 17)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    GUICtrlSetColor(-1, 0xFF0000)
    GUICtrlCreateLabel($DLM_Author, 184, 72, 74, 17)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    GUICtrlSetColor(-1, 0xFF0000)
    GUICtrlCreateGroup("Lizenz GPLv3", 8, 120, 361, 193)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    GUICtrlCreateEdit(FileRead(@ScriptDir & "\license.txt"), 24, 144, 329, 153, BitOR($ES_AUTOVSCROLL, $ES_AUTOHSCROLL, $ES_WANTRETURN, $WS_VSCROLL))
    GUICtrlSetBkColor(-1, 0xC8C8C8)
    $pButton_LoadSource = GUICtrlCreateButton("Source-Code laden", 8, 320, 161, 41, $WS_GROUP)
    GUICtrlSetOnEvent(-1, "_LoadSourceCode")
    $pButton_CheckForUpdates = GUICtrlCreateButton("Auf Updates prüfen", 176, 320, 193, 41, $WS_GROUP)
    GUICtrlSetOnEvent(-1, "_CheckForUpdates")
    GUICtrlCreateLabel("Bugs?:", 128, 96, 43, 17)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    GUICtrlCreateLabel("autoit.report@web.de", 184, 96, 126, 17)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    GUICtrlSetColor(-1, 0xFF0000)
    If Not $bFR Then
    GUISetState(@SW_HIDE, $hWindow_Info)
    Else
    GUISetState(@SW_SHOW, $hWindow_Info)
    EndIf

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

    _AddLog("Programm gestartet!")

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

    While 1
    Sleep(2000)
    WEnd

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

    Func _AddDownload()
    Local $aCurData
    Local $sFunc_URL = GUICtrlRead($pInput_AddDL_Url)
    Local $sFunc_FilePath = GUICtrlRead($pInput_AddDL_FilePath)
    Local $sFunc_FileName = GUICtrlRead($pInput_AddDL_NewFileName)

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

    If $sFunc_URL <> "" And StringLeft($sFunc_URL, 7) = "http://" Then
    If $sFunc_FileName <> "" Then
    If $sFunc_FilePath <> "" Then
    $aCurData = _GetFileInfo($sFunc_URL)
    If IsArray($aCurData) Then
    GUISetState(@SW_HIDE, $hWindow_AddDl)
    GUISetState(@SW_SHOW, $hWindo_Main)
    $iFileSize = _FormatFileSize(InetGetSize($sFunc_URL))
    GUICtrlSetData($pLabel_AddDL_FileSize, "Größe: " & $iFileSize)
    _AddLog("Dowload von " & $aCurData[0] & " startet!")
    $DLM_ListView_LastIndexX += 1
    $ListViewItem[$DLM_ListView_LastIndexX] = GUICtrlCreateListViewItem($aCurData[0] & "|" & $iFileSize & "|0 KB/s|0 %|0 Sek.", $ListView)
    $hProgress[$DLM_ListView_LastIndexX] = _ListView_InsertProgressBar($ListView, $DLM_ListView_LastIndexX, 3)
    $hDownload = InetGet($sFunc_URL, $sFunc_FilePath & "\" & $aCurData[0], 1, 1)
    Do
    Sleep(10)
    Until InetGetInfo($hDownload, 0) Or InetGetInfo($hDownload, 2)
    $hDateiGroese = InetGetInfo($hDownload, 1)
    If Not $hDateiGroese And Not InetGetInfo($hDownload, 2) Then $hDateiGroese = InetGetSize($sFunc_URL)
    $iDLTimer = TimerInit()
    $iMaxSpeed = 0
    Do
    Sleep(100)
    _Progress_SetPos($hProgress[$DLM_ListView_LastIndexX], (InetGetInfo($hDownload, 0) / $hDateiGroese) * 100)
    $iSpeed = Round(InetGetInfo($hDownload, 0) / (TimerDiff($iDLTimer)), 2)
    _GUICtrlListView_SetItem($ListView, $iSpeed & " KB/s", $DLM_ListView_LastIndexX, 2)
    If $iSpeed > $iMaxSpeed Then $iMaxSpeed = $iSpeed
    _GUICtrlListView_SetItem($ListView, Round(TimerDiff($iDLTimer) / 1000, 1) & " Sek.", $DLM_ListView_LastIndexX, 4)
    Until InetGetInfo($hDownload, 2)
    Local $aInfo = InetGetInfo($hDownload)
    _AddLog("Maximale Geschwindigkeit: " & $iSpeed & " KB/s")
    _AddLog("Download wurde erfolgreich abgeschlossen!")
    _Progress_SetPos($hProgress[$DLM_ListView_LastIndexX], 100)
    InetClose($hDownload)
    $aIniRead = IniReadSection($DLM_HistoryFile, "Downloads")
    If IsArray($aIniRead) Then
    If UBound($aIniRead) = 1 Then
    $iLastID = 0
    Else
    $iLastID = UBound($aIniRead) - 1
    EndIf
    Else
    $iLastID = 0
    EndIf
    IniWrite($DLM_HistoryFile, "Downloads", $iLastID, @MDAY & "." & @MON & "." & @YEAR & "|" & @HOUR & ":" & @MIN & "|" & $aCurData[0] & "|" & $iFileSize)
    _AddLog($aCurData[0] & " im Verlauf hinzugefügt!")
    WinFlash($DLM_Title, Default, 2)

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

    $iActID = IniRead($DLM_SystemFile, "Einstellungen", "AfterDLActionID", -1)
    If $iActID <> -1 Then
    Switch $iActID
    Case 1 ;Download-Ordner öffnen
    ShellExecute(IniRead($DLM_SystemFile, "Einstellungen", "Download-Ordner", @DesktopDir))
    Case 2 ;Herunterfahren
    Shutdown(1)
    Case 3;Standby
    Shutdown(32)
    Case 4;Nichts
    ;->
    EndSwitch
    EndIf
    Else
    _AddLog("Download kann nicht starten! Fehler: 0x" & @ScriptLineNumber)
    EndIf
    Else
    MsgBox(16, "Error", "Dateipfad fehlt!")
    EndIf
    Else
    MsgBox(16, "Error", "Dateiname fehlt!")
    EndIf
    Else
    MsgBox(16, "Error", "Download-Url fehlt oder beginnt nicht mit http://")
    EndIf
    EndFunc ;==>_AddDownload

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

    Func _GetFileInfo($sFunc_URL = "")
    Local $aData[2]
    Local $aRawData_F = StringSplit($sFunc_URL, "/")
    If IsArray($aRawData_F) Then
    $aRawData_S = StringSplit($aRawData_F[UBound($aRawData_F) - 1], ".")
    If IsArray($aRawData_S) Then
    $aData[0] = $aRawData_F[UBound($aRawData_F) - 1]
    $aData[1] = $aRawData_S[UBound($aRawData_S) - 1]
    Return $aData
    Else
    Return 0
    EndIf
    Else
    Return 0
    EndIf
    EndFunc ;==>_GetFileInfo

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

    Func _AddLog($sFunc_String = "")
    Local $sCurTag = "[ " & @HOUR & ":" & @MIN & ":" & @SEC & " ] - " & $sFunc_String & @CRLF
    $sOutputLog &= $sCurTag
    GUICtrlSetData($pEdit_Log, $sOutputLog)
    FileWrite(@ScriptDir & "\log.txt", $sCurTag)
    EndFunc ;==>_AddLog

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

    ;- OnEvent Funktionen
    Func _Exit()
    Exit
    EndFunc ;==>_Exit

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

    Func _ExitDL()
    GUISetState(@SW_HIDE, $hWindow_AddDl)
    GUICtrlSetData($pInput_AddDL_Url, "")
    GUICtrlSetData($pInput_AddDL_NewFileName, "")
    EndFunc ;==>_ExitDL

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

    Func _ExitHistory()
    GUISetState(@SW_HIDE, $hWindow_History)
    EndFunc ;==>_ExitHistory

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

    Func _ExitInfo()
    GUISetState(@SW_HIDE, $hWindow_Info)
    EndFunc ;==>_ExitInfo

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

    Func _ExitSet()
    GUISetState(@SW_HIDE, $hWindow_Settings)
    EndFunc ;==>_ExitSet

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

    Func _ExitUpdate()
    GUISetState(@SW_HIDE, $hWindow_Update)
    EndFunc ;==>_ExitUpdate

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

    Func _SelectDLFolder()
    $sFileSavePath = FileSelectFolder("Download-Ordner wählen ...", @HomeDrive, 7)
    If Not @error Then
    GUICtrlSetData($pInput_DownloadFolder, $sFileSavePath)
    Else
    GUICtrlSetData($pInput_DownloadFolder, "")
    EndIf
    EndFunc ;==>_SelectDLFolder

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

    Func _CheckInet()
    $iPing = Ping("www.google.de")
    If $iPing Then
    Return True
    Else
    Return False
    EndIf
    EndFunc ;==>_CheckInet

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

    Func _SelectFilePath()
    $sFileSavePath = FileSelectFolder("Datei herunterladen nach ...", @HomeDrive, 7)
    If Not @error Then
    GUICtrlSetData($pInput_AddDL_FilePath, $sFileSavePath)
    Else
    GUICtrlSetData($pInput_AddDL_FilePath, "<Dateipfad>")
    EndIf
    EndFunc ;==>_SelectFilePath

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

    Func _LoadSourceCode()
    $sFileName = "SourceCode_" & $DLM_Name & "_" & $DLM_Version & ".au3"
    $sCurUrl = "http://" & $DLM_ServerUrl & "/" & $DLM_Name & "/version/" & $sFileName
    GUICtrlSetData($pInput_AddDL_Url, $sCurUrl)
    GUICtrlSetData($pLabel_AddDL_FileSize, "Größe: " & _FormatFileSize(InetGetSize($sCurUrl)))
    GUICtrlSetData($pInput_AddDL_NewFileName, $sFileName)
    GUISetState(@SW_SHOW, $hWindow_AddDl)
    EndFunc ;==>_LoadSourceCode

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

    Func _UpdateDownload()
    $iTempIndex = _GUICtrlListView_GetSelectedIndices($pListView_Up, True)
    $sSelectedVer = _GUICtrlListView_GetItemText($pListView_Up, $iTempIndex[1])
    GUICtrlSetData($pInput_AddDL_Url, "http://johannes-log.de/" & $DLM_Name & "/version/" & $sSelectedVer)
    GUICtrlSetData($pInput_AddDL_NewFileName, $sSelectedVer)
    GUISetState(@SW_HIDE, $hWindow_Update)
    GUISetState(@SW_SHOW, $hWindow_AddDl)
    EndFunc ;==>_UpdateDownload

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

    Func _CheckForUpdates()
    Local $sSysIconP = @SystemDir & "\shell32.dll"
    $hWindow_Update = GUICreate($DLM_Name & " Updater", 472, 330)
    GUISetOnEvent(-3, "_ExitUpdate")
    GUISetBkColor(0xBFCDDB)
    GUISetIcon($sSysIconP, -14)
    $pDlProgress = GUICtrlCreateProgress(72, 24, 390, 25)
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    $pInternetIcon = GUICtrlCreateIcon($sSysIconP, -136, 20, 20)
    $pInternetErrorIcon = GUICtrlCreateIcon($sSysIconP, -220, 20, 20)
    GUICtrlSetState($pInternetErrorIcon, $GUI_HIDE)
    $pArrIcon = GUICtrlCreateIcon($sSysIconP, -268, 74, 50)
    $pListView_Up = GUICtrlCreateListView("Dateiname|Version|Größe|Autor", 8, 80, 455, 201)
    GUICtrlSendMsg(-1, 0x101E, 0, 150)
    GUICtrlSendMsg(-1, 0x101E, 1, 100)
    GUICtrlSendMsg(-1, 0x101E, 2, 100)
    GUICtrlSendMsg(-1, 0x101E, 3, 100)
    $pButtonDl = GUICtrlCreateButton("Download", 334, 288, 129, 33, 0)
    GUICtrlSetOnEvent(-1, "_UpdateDownload")
    $pLabelInfo = GUICtrlCreateLabel("", 100, 60, 340, 17)
    GUISetState(@SW_SHOW, $hWindow_Update)

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

    Ping("www.google.de")
    If @error Then
    GUICtrlSetState($pInternetErrorIcon, $GUI_SHOW)
    GUICtrlSetData($pLabelInfo, "Keine Internetverbindung!")
    SetError(-2)
    Else
    Ping($DLM_ServerUrl)
    If @error Then
    GUICtrlSetState($pInternetErrorIcon, $GUI_SHOW)
    GUICtrlSetData($pLabelInfo, "Server nicht erreichbar!")
    SetError(-1)
    Else
    GUISetState(@SW_HIDE, $hWindow_Info)
    Local $sTempData, $iPercent = 0
    InetGet($DLM_DataTextPathOnServer, @TempDir & "\data.txt", 1)
    _FileReadToArray(@TempDir & "\data.txt", $sTempData)
    GUICtrlSetData($pLabelInfo, "Informationen werden heruntergeladen ...")
    Local $iDataFileSize[$sTempData[0] + 1], $bNew = False
    For $i = 1 To $sTempData[0]
    $iPercent = $iPercent + (100 / $sTempData[0])
    $sTempDataForRow = StringSplit($sTempData[$i], ",")
    If Int(StringRight($sTempDataForRow[2], 1)) > Int(StringRight($DLM_Version, 1)) Then $bNew = True
    $iDataFileSize[$i] = Round(InetGetSize($DLM_FilePathOnServer & $sTempDataForRow[1]) / 1000)
    $ListView_ItemUp = GUICtrlCreateListViewItem($sTempDataForRow[1] & "|" & $sTempDataForRow[2] & "|" & $iDataFileSize[$i] & " KB|" & $sTempDataForRow[3], $pListView_Up)
    GUICtrlSetData($pDlProgress, $iPercent)
    Next
    $iPercent = 0
    GUICtrlSetData($pDlProgress, $iPercent)
    GUICtrlSetData($pLabelInfo, "Informationen heruntergeladen!")
    If $bNew Then MsgBox(64, "Info", "Es ist eine neue Version verfügbar!")
    EndIf
    EndIf
    EndFunc ;==>_CheckForUpdates

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

    Func _ClearHistory()
    If Not FileExists($DLM_HistoryFile) Then
    MsgBox(4096, "Error", "Der Verlauf kann nicht geöffnet werden, da keine Verlaufsdatei vorhanden ist!")
    Else
    If Not FileDelete($DLM_HistoryFile) = 1 Then
    MsgBox(4096, "Error", "Die Verlaufsdatei kann nicht gelöscht werden!")
    Else
    _GUICtrlListView_DeleteAllItems($pListView_History)
    If Not _FileCreate($DLM_HistoryFile) Then
    MsgBox(4096, "Fehler", "Fehler beim Erstellen der Verlaufsdatei!")
    Else
    IniWrite($DLM_HistoryFile, "Downloads", "%", "%%%")
    EndIf
    EndIf
    EndIf
    EndFunc ;==>_ClearHistory

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

    Func _SaveSettings()
    IniWrite($DLM_SystemFile, "Einstellungen", "Download-Ordner", GUICtrlRead($pInput_DownloadFolder))
    $iAction = GUICtrlRead($pActionCombo)
    For $i = 1 To UBound($aActions)
    If $aActions[$i - 1][0] == $iAction Then $iAction = $i
    Next
    IniWrite($DLM_SystemFile, "Einstellungen", "AfterDLActionID", $iAction)
    GUISetState(@SW_HIDE, $hWindow_Settings)
    EndFunc ;==>_SaveSettings

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

    Func _ShowInfo()
    GUISetState(@SW_SHOW, $hWindow_Info)
    EndFunc ;==>_ShowInfo

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

    Func _ShowSettings()
    GUISetState(@SW_SHOW, $hWindow_Settings)
    EndFunc ;==>_ShowSettings

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

    Func _ShowHistory()
    If Not FileExists($DLM_HistoryFile) Then IniWrite($DLM_HistoryFile, "Downloads", "%", "%%%")

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

    $aRawData = IniReadSection($DLM_HistoryFile, "Downloads")
    If @error Then
    MsgBox(4096, "Error", "Es ist ein Fehler aufgetreten!")
    Else
    _GUICtrlListView_DeleteAllItems($pListView_History)
    Local $ListView_Items[$aRawData[0][0]]
    For $i = 1 To $aRawData[0][0]
    If $aRawData[$i][0] <> "%" Then $ListView_Items[$i - 1] = GUICtrlCreateListViewItem($aRawData[$i][1], $pListView_History)
    Next
    GUISetState(@SW_SHOW, $hWindow_History)
    EndIf
    EndFunc ;==>_ShowHistory

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

    Func _ShowAddDl()
    $aDrive = DriveGetDrive("fixed")
    If IsArray($aDrive) Then
    $iFreeSpace = Round(DriveSpaceFree($aDrive[1]), 1)
    If $iFreeSpace > 1000 Then
    $sFreeSpace = $iFreeSpace / 1000 & " GB"
    Else
    $sFreeSpace = $iFreeSpace & " MB"
    EndIf
    GUICtrlSetData($pLabel_AddDL_DataSize, "Datenträger " & StringUpper($aDrive[1]) & " " & $sFreeSpace & " frei")
    EndIf
    GUICtrlSetData($pInput_AddDL_FilePath, IniRead($DLM_SystemFile, "Einstellungen", "Download-Ordner", "<Bitte wählen>"))
    GUISetState(@SW_SHOW, $hWindow_AddDl)
    EndFunc ;==>_ShowAddDl

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

    Func MY_COMMAND($hWnd, $iMsg, $iwParam, $ilParam)
    Local $hWndFrom, $iIDFrom, $iCode, $hwndInput = $pInput_AddDL_Url
    If Not IsHWnd($pInput_AddDL_Url) Then $hwndInput = GUICtrlGetHandle($pInput_AddDL_Url)
    $hWndFrom = $ilParam
    $iIDFrom = BitAND($iwParam, 0xFFFF)
    $iCode = BitShift($iwParam, 16)
    Switch $hWndFrom
    Case $hwndInput
    Switch $iCode
    Case $EN_CHANGE
    $aCurData = _GetFileInfo(GUICtrlRead($pInput_AddDL_Url))
    If IsArray($aCurData) Then
    $sFName = StringSplit($aCurData[0], ".")
    If IsArray($sFName) And $sFName[0] = 2 Then
    GUICtrlSetData($pInput_AddDL_NewFileName, $aCurData[0])
    EndIf
    $iFileSize = _FormatFileSize(InetGetSize(GUICtrlRead($pInput_AddDL_Url)))
    If StringLeft($iFileSize, 1) = 0 Then $iFileSize &= " - Link prüfen!"
    GUICtrlSetData($pLabel_AddDL_FileSize, "Größe: " & $iFileSize)
    EndIf
    EndSwitch
    EndSwitch
    EndFunc ;==>MY_COMMAND

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

    Func _FormatFileSize($sFunc_Size = 0)
    Local $sFS = ""
    If $sFunc_Size < 1000 Then
    $sFS = $sFunc_Size & " B"
    ElseIf $sFunc_Size > 100000000 Then
    $sFS = Round($sFunc_Size / 100000000, 2) & " GB"
    ElseIf $sFunc_Size > 1000000 Then
    $sFS = Round($sFunc_Size / 1000000, 2) & " MB"
    ElseIf $sFunc_Size > 1000 Then
    $sFS = Round($sFunc_Size / 1000, 2) & " KB"
    EndIf
    Return $sFS
    EndFunc ;==>_FormatFileSize

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

    ; #FUNCTION# ======================================================================================
    ; Function Name: _ListView_InsertProgressBar()
    ; Description: Inserts a progressbar control in the ListView control.
    ; Syntax.........: _ListView_InsertProgressBar($sHwnd, $sItemIndex[, $sSubItemIndex])
    ; Parameter(s): $sHwnd - Handle to the ListView control.
    ; $sItemIndex - Zero based index of the item at which the progressbar should be inserted.
    ; $sSubItemIndex - [Optional] One based index of the subitem where progressbar should be placed, default is 1.
    ;
    ; Return Value(s): Returns the identifier (controlID) of the new progressbar control.
    ; Requirement(s): AutoIt 3.2.10.0 and above
    ; Note(s): Optimal amount of progressbar controls is 5-10. Don`t abuse with many amount of progressbar controls.
    ;
    ; Author(s): R.Gilman (a.k.a rasim), arcker
    ;==================================================================================================
    Func _ListView_InsertProgressBar($sHwnd, $sItemIndex, $sSubItemIndex = 0)
    If Not IsHWnd($sHwnd) Then $sHwnd = GUICtrlGetHandle($sHwnd)

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

    Local $iStyle = _WinAPI_GetWindowLong($sHwnd, $GWL_STYLE)

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

    If BitAND($iStyle, $WS_CLIPCHILDREN) <> $WS_CLIPCHILDREN Then
    _WinAPI_SetWindowLong($sHwnd, $GWL_STYLE, BitOR($iStyle, $WS_CLIPCHILDREN))
    EndIf

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

    Local $aRect

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

    If $sSubItemIndex = 0 Then
    $aRect = _GUICtrlListView_GetItemRect($sHwnd, $sItemIndex, 2)
    Else
    $aRect = _GUICtrlListView_GetSubItemRect($sHwnd, $sItemIndex, $sSubItemIndex)
    EndIf

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

    $aProgress[0][0] += 1
    ReDim $aProgress[$aProgress[0][0] + 1][4]
    $aProgress[$aProgress[0][0]][0] = _Progress_Create($sHwnd, $aRect[0], $aRect[1], $aRect[2] - $aRect[0], $aRect[3] - $aRect[1])

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

    $aProgress[$aProgress[0][0]][1] = $sItemIndex
    $aProgress[$aProgress[0][0]][2] = $sSubItemIndex
    $aProgress[$aProgress[0][0]][3] = $sHwnd

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

    Return $aProgress[$aProgress[0][0]][0]
    EndFunc ;==>_ListView_InsertProgressBar

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

    Func _Progress_Create($hWnd, $iX, $iY, $iWidth = -1, $iHeight = -1, $iStyle = 0, $iExStyle = 0)
    $iStyle = BitOR($iStyle, $WS_CHILD, $WS_VISIBLE)
    Return _WinAPI_CreateWindowEx($iExStyle, "msctls_progress32", "", $iStyle, $iX, $iY, $iWidth, $iHeight, $hWnd)
    EndFunc ;==>_Progress_Create

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

    Func _ListView_Notify($hWnd, $Msg, $wParam, $lParam)
    If $Msg = $WM_SIZE Then
    _WinAPI_InvalidateRect($hWnd)
    Return $GUI_RUNDEFMSG
    EndIf

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

    Local $tNMHEADER, $hWndFrom, $iCode, $i

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

    $tNMHEADER = DllStructCreate($tagNMHEADER, $lParam)
    $hWndFrom = DllStructGetData($tNMHEADER, "hwndFrom")
    $iCode = DllStructGetData($tNMHEADER, "Code")

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

    Switch $iCode
    Case $HDN_ITEMCHANGED, $HDN_ITEMCHANGEDW, $LVN_ENDSCROLL
    If $iCode <> $LVN_ENDSCROLL Then $hWndFrom = _WinAPI_GetParent($hWndFrom)

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

    For $i = 1 To $aProgress[0][0]
    If $aProgress[$i][3] = $hWndFrom Then _
    _MoveProgress($hWndFrom, $aProgress[$i][0], $aProgress[$i][1], $aProgress[$i][2])
    Next

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

    _WinAPI_InvalidateRect($hWndFrom)
    EndSwitch

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

    Return $GUI_RUNDEFMSG
    EndFunc ;==>_ListView_Notify

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

    Func _MoveProgress($hListView, $hProgress, $sItemIndex, $sSubItemIndex)
    Local $aRect

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

    If $sSubItemIndex = 0 Then
    $aRect = _GUICtrlListView_GetItemRect($hListView, $sItemIndex, 2)
    Else
    $aRect = _GUICtrlListView_GetSubItemRect($hListView, $sItemIndex, $sSubItemIndex)
    EndIf

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

    If $aRect[1] < 10 Then
    _WinAPI_ShowWindow($hProgress, $SW_HIDE)
    ElseIf $aRect[1] >= 10 Then
    _WinAPI_ShowWindow($hProgress, $SW_SHOW)
    EndIf

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

    _WinAPI_MoveWindow($hProgress, $aRect[0], $aRect[1], $aRect[2] - $aRect[0], $aRect[3] - $aRect[1], True)
    EndFunc ;==>_MoveProgress

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

    ; #FUNCTION# ====================================================================================================
    ; Description ...: Sets the color of the indicator bar
    ; Parameters ....: $hWnd - Handle to the control
    ; $iColor - The new progress indicator bar color. Specify the CLR_DEFAULT value to cause the progress bar
    ; +to use its default progress indicator bar color.
    ; Return values .: Success - The previous progress indicator bar color, or CLR_DEFAULT if the progress indicator bar color
    ; +is the default color.
    ; Author ........: Paul Campbell (PaulIA), Updated By Arcker
    ; Remarks .......: This message is supported only in the Windows Classic theme
    ; Related .......:
    ; ====================================================================================================
    Func _Progress_SetBarColor($hWnd, $iColor)
    Return _SendMessage($hWnd, $PBM_SETBARCOLOR, 0, $iColor)
    EndFunc

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

    ; #FUNCTION# ====================================================================================================
    ; Description ...: Sets the current position
    ; Parameters ....: $hWnd - Handle to the control
    ; $iPos - The new position
    ; Return values .: Success - The previous position
    ; Author ........: Paul Campbell (PaulIA), Updated By Arcker
    ; Remarks .......:
    ; Related .......: _Progress_GetPos
    ; ====================================================================================================
    Func _Progress_SetPos($hWnd, $iPos)
    Return _SendMessage($hWnd, $PBM_SETPOS, $iPos, 0)
    EndFunc

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

    ; #FUNCTION# ====================================================================================================
    ; Description ...: Sets the background color in the progress bar
    ; Parameters ....: $hWnd - Handle to the control
    ; $iColor - The new background color. Specify the CLR_DEFAULT value to cause the progress bar to use its
    ; +default background color.
    ; Return values .: Success - The previous background color, or CLR_DEFAULT if the background color is the default color.
    ; Author ........: Paul Campbell (PaulIA), Updated By Arcker
    ; Remarks .......: This message is supported only in the Windows Classic theme
    ; Related .......:
    ; ====================================================================================================
    Func _Progress_SetBkColor($hWnd, $iColor)
    Return _SendMessage($hWnd, $PBM_SETBKCOLOR, 0, $iColor)
    EndFunc

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

    ; #FUNCTION# ====================================================================================================

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

    ; Description ...: Specifies the step increment
    ; Parameters ....: $hWnd - Handle to the control
    ; $iStep - Step increment.
    ; Return values .: Success - The previous step increment
    ; Author ........: Paul Campbell (PaulIA)
    ; Remarks .......: The step increment is the amount by which the progress bar increases its current position whenever you use the
    ; _Progress_StepIt function. By default, the step increment is set to 10.
    ; Related .......: _Progress_StepIt
    ; ====================================================================================================
    Func _Progress_SetStep($hWnd, $iStep=10)
    Return _SendMessage($hWnd, $PBM_SETSTEP, $iStep, 0)
    EndFunc

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

    ; #FUNCTION# ====================================================================================================
    ; Description ...: Advances the current position by the step increment
    ; Parameters ....: $hWnd - Handle to the control
    ; Return values .: Success - The previous position
    ; Author ........: Paul Campbell (PaulIA), Updated By Arcker
    ; Remarks .......:
    ; Related .......: _Progress_SetStep
    ; ====================================================================================================
    Func _Progress_StepIt($hWnd)
    Return _SendMessage($hWnd, $PBM_STEPIT, 0, 0)
    EndFunc

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

    ; #FUNCTION# ====================================================================================================
    ; Description ...: Delete the progressbar control
    ; Parameters ....: $hWnd - Handle to the control
    ; Return values .: Success - True
    ; Failure - False
    ; Author ........: G. Sandler (MrCreatoR), Updated by rasim
    ; Remarks .......:
    ; Related .......: _Progress_SetStep
    ; ====================================================================================================
    Func _Progress_Delete($hWnd)
    Local $aTmpArr[1][3]

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

    For $i = 1 To $aProgress[0][0]
    If $aProgress[$i][0] <> $hWnd Then
    $aTmpArr[0][0] += 1
    ReDim $aTmpArr[$aTmpArr[0][0]+1][4]

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

    $aTmpArr[$aTmpArr[0][0]][0] = $aProgress[$i][0]
    $aTmpArr[$aTmpArr[0][0]][1] = $aProgress[$i][1]
    $aTmpArr[$aTmpArr[0][0]][2] = $aProgress[$i][2]
    $aTmpArr[$aTmpArr[0][0]][3] = $aProgress[$i][3]
    EndIf
    Next

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

    $aProgress = $aTmpArr

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

    Local $aResult = DllCall("User32.dll", "int", "DestroyWindow", "hwnd", $hWnd)
    If @error Then Return SetError(1, 0, 0)

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

    Return $aResult[0] <> 0
    EndFunc

    [/autoit]

    dies ist die Version v.0.2

    mfg autoBert

  • dateigröße von 2 datein prozentual darstellen

    • autoBert
    • 3. Februar 2011 um 21:32
    Zitat von Xyron

    Hey Autoitter,
    mein heutiges Problem ist mir peinlich, weil ich selber als Mathe-Profi-Schüler nicht auf die Lösung komme!

    Noch peinlicher ist, dass du obwohl du nach 1,5 Std auf die Lösung gekommen bist auch die gute Sitte vergessen hast den Thread auf gelöst zu stellen. Einfach 1. Beitrag bearbeiten, Präfix (nähe Überschrift) ändern und speichern (absenden)

    mfg autoBert

  • Passwortfeld

    • autoBert
    • 3. Februar 2011 um 21:17

    Raupi : ich denke er wollte eigentlich zwischen Passwort sichtbar und unsichtbar (=***) umschalten können.

    pretrojaner: Falls dem so ist solltest du dir die Login-Box von Oscar anschauen,

    mfg autoBert

  • Linie begrenzen m

    • autoBert
    • 3. Februar 2011 um 20:39

    Hallo Omasgehstock,

    herzlich willkommen im Forum und viel Spass mit AutoIt.

    Hier kannst du dir die deutsche Hilfe herunterladen.
    Hier gibt es ein AutoIt-Tutorial: http://wiki.autoit.de/wiki/index.php/TutorialSehr hilfreich ist auch das Buch von peethebee .
    Das Gdi+ Tutorial von @Ubuntu sollte wohl auch zu deinen Pflichtlektüren gehören.
    Das Board hat auch eine Suchfunktionm, die üblichen Verdächtigen für GDI+ sind UEZ, Eukalyptus, Ubuntu und Marsi. Schau dich einfach einmal in ihren Beiträgen um. Stellvertretend hier: GDI+: Fussball Chronograph v1.4 Build 2010-03-09 damit du siehst was alles mit GDI+ möglich ist,

    mfg autoBert

  • XP Rechner per Mailboxabfrage den Shutdown Befehl zugeben

    • autoBert
    • 3. Februar 2011 um 19:52

    Die nötige Info _POP3-UDF (V1.02) hast du ja schon, dann ist nur hierzu

    Zitat von firewalldevil

    Wenn das System nicht belastet wird, kann es auch öfter als alle 5min prüfen.

    anzumerken: es gibt Provider (z.B. Web.de) die um ihr System nicht zu überlasten einen Mindestabstand zwischen 2 Anmeldungen beim Postfach haben. Wenn du dir @Oscars Pop-Show anschaust hast du die m.E. beste Vorlage wie man die POP3.UDF einsetzt,

    mfg autoBert

  • GUID erzeugen

    • autoBert
    • 3. Februar 2011 um 16:02

    Soweit ich weis wird die unter anderem die Mac-Adresse der 1. Netzwerkkarte dazu benutzt.

    Zitat

    Das sind 128-Bit breite Zahlen, deren Generierung auf einer Konvention der "Open Software Foundation (OSF)" beruht. Die dafür verwendeten Algorithmen sollen garantieren, dass diese Zahlen "in Raum und Zeit", wie Microsoft immer wieder betont, absolut eindeutig sind.
    ...
    Kraig Brockschmidt (Autor des Buches "Inside OLE", Microsoft Press) mit einem recht eindrucksvollen Rechenexempel anschaulich:

    Würde jeder derzeitige Erdenbewohner, das sind etwa 6 Milliarden Menschen (Größenordnung 109), rund um die Uhr 100 Billionen (1014) GUIDs pro Sekunde erzeugen, würde es knapp 20 Millionen Jahre dauern, bis der mögliche Vorrat von 3,4 x 1038 Zahlen ausgeschöpft wäre!

    Quelle: http://www.aboutvb.de/khw/artikel/khwcreateguid.htm

    mfg autoBert

  • Zeicheneditor

    • autoBert
    • 3. Februar 2011 um 15:53
    Zitat von name22


    Und dann kommt sowas dabei raus?! 8| Er braucht eindeutig ein (besseres) GDI+ Tutorial...


    in diesem Zusamenhang sehe ich darin nur eine Kritik für den Fall dass GDI+ benutzt wurde,

    mfg autoBert

  • Zeicheneditor

    • autoBert
    • 3. Februar 2011 um 15:41
    Zitat von manuel6000

    Zitat von »name22«Und dann kommt sowas dabei raus?! 8|das ist aber schon keine feedback mehr


    Doch auch dass ist Feedback, wenn du das Zitat nicht aus dem Zusammenhang reisst, erkennt man dass name22 bezweifelt (wie ich auch) dass du dafür GDI+ verwendet hast. Dein gestriges Hilfethema ging obwohl für ein Spiel in die gleiche Richtung:

    Zitat von autoBert


    Wie wäre es wenn du ein (Beispiel-)Skript postest in dem dieser Effekt vorkommt,

    mfg autoBert


    bei diesem Beitrag in deinem gestrigen Hilfethema dachte ich eigentlich dass du Source einstellst und nicht eine EXE.

    Edit: [OT]bekommt man eigentlich Geld wenn sich andere Leute soetwas downloaden? Denn leider wird dies in letzter Zeit immer häufiger, zum Teil auch in Hilfethemen gemacht. Ich lade mir in einem solchen Fall das Skript nicht herunter, wer dieses Forum (ge)braucht um sich Helfen zu lassen bzw. seine Programme darüber vertreibt, der sollte auch hier einstellen, aber das ist meine perönliche Meinung[/OT]

    mfg autoBert

  • GUID erzeugen

    • autoBert
    • 3. Februar 2011 um 15:22
    Zitat von name22

    Frage: Was ist ein GUID? Graphical User Interface ... Door? Doll? Dust?


    "Globally Unique IDentifiers" (abgekürzt "GUID"s)

    mfg autoBert

  • Datei in einem "Unbekannten Ordner" löschen

    • autoBert
    • 3. Februar 2011 um 14:43

    Hallo McGangster,

    wenn du die dir angebotenen Hinweise/Hilfen von MatthiasG., Name22, AspirinJunkie, Kleiner eh ignorierst und wenn ich dann (wie alle PU's/Mod's/Admin's) noch sehe dass du von Anfang an mit Themen die gegen die Forenregeln verstossen auffällst frage ich mich wirklich warum man dir helfen sollte eine EXE über alle nur möglichen Laufwerke zu verteilen/auszutauschen.

    @Mod/Admin schlage vor Thema wegen mangelder Mitarbeit zu closen,

    mfg autoBert

  • Array durchsuchen und Zählen

    • autoBert
    • 3. Februar 2011 um 14:21

    Hallo gmmg,

    die letzte Version von _GetUsers_Summary berücksichtigt auch Mitarbeiter ohne Zuordnung in der Summierung
    Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist.
    Um dir diese anzeigen zu lassen musst du nur dein Ausgangsarray nach company sortieren und dies dann mit _ArrayDisplay anzeigen lassen. Die leeren sind am Anfang,

    mfg autoBert

  • Array durchsuchen und Zählen

    • autoBert
    • 3. Februar 2011 um 13:29

    Hallo gmmg,

    hier die abgeänderte Func mit deinen Testdaten:

    Spoiler anzeigen
    [autoit]

    #include <array.au3>
    #include <File.au3>
    Local $aTMP
    _FileReadToArray(@ScriptDir & "\AD.TXT", $aTMP)
    Local $aObjects[$aTMP[0]][3]
    For $i = 1 To $aTMP[0]
    $aSplit = StringSplit($aTMP[$i], "|")
    For $J = 2 To 4
    $aObjects[$i - 1][$J - 2] = $aSplit[$J]
    Next
    Next

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

    _ArrayDisplay($aObjects) ;dies ist das Ausgangsarray mit den Ergebnissen der AD-Funktion

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

    $Array = _GetUsers_Summary($aObjects) ;dieses Array enthält die Ergebnisse
    If Not @error Then _ArrayDisplay($Array)

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

    Func _GetUsers_Summary(ByRef $aObjects)
    If Not IsArray($aObjects) Then SetError(1, 0, 0)
    _ArrayDelete($aObjects, 0)
    If Not IsArray($aObjects) Then SetError(2, 0, 0)
    Local $aCompanies = _ArrayUnique($aObjects, 3)
    _ArrayDelete($aCompanies, 0)
    _ArraySort($aCompanies)
    Local $aResult[UBound($aCompanies)][2]
    For $i = 0 To UBound($aCompanies) - 1
    $aResult[$i][0] = $aCompanies[$i]
    Next
    For $i = 0 To UBound($aResult) - 1
    $aTemp = _ArrayFindAll($aObjects, $aResult[$i][0], 0, 0, 0, 0, 2)
    $aResult[$i][1] = UBound($aTemp)
    Next
    Return $aResult
    EndFunc ;==>_GetUsers_Summary

    [/autoit]

    da das Array die Anzahl der Elemnte enthielt musste ich noch ein ArrayDelete einfügen. Das Ergebniss ist ein Array: Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist.

    mfg autoBert

    Bilder

    • ArrayDisplay.JPG
      • 13,19 kB
      • 260 × 175
  • Array durchsuchen und Zählen

    • autoBert
    • 3. Februar 2011 um 12:30
    Zitat von gmmg

    hab die neue funktion eingebaut und es läuft ohne fehler durch!!!


    Oh, dann scheinst du Einträge in deinem Array zu haben bei dem die Spalte 2 (Company) nicht definiert also leer ist.

    Zitat von gmmg

    ich poste mal das komplette script!


    wäre eigentlich nicht nötig da ich keine AD-Funktion habe (Einelplatz Netbook Win XP) wenn wirklich noch Fehler vorkommen sollten ist es hilfreicher (verfälschte) Daten einzstellen.

    mfg autoBert

  • Fehlermeldung 1.#INF u.a.

    • autoBert
    • 3. Februar 2011 um 12:14
    Zitat von PSblnkd

    Warum soll's nicht eine vernünftige IDE mit Debugger geben? Arbeiten die Jungs von SciTE/Debugger nicht zusammen und wir d da nicht mehr weiterentwickelt? - Mir fehlen z.B. die vielfältigen Möglichkeiten des Step-Betriebes

    - Einzelschritt
    - bis Cursor vorwärts, oder rückwärts
    - über eine ganze Routine (UP)

    nebst Fenster mit aktuellen Variablen-Log - vergleichsweise mit dem MS-Studio.


    Scite ist ein eigenständiges Tool, diverse Hilfsmittel wie Tidy, Koda sind darüber eingebunden. Die Debug-Möglichkeiten in Scite habe ich noch nicht benutzt, behelfe mich mit ConsoleWrite bzw. ArrayDisplay.
    Vielleicht genügt ja dieser Debugger deinen Ansprüchen, aber Achtung: nicht mit dem Original-Skript testen denn u.U. zerschiesst er dir dein Skript (äöüß usw.).
    Bei deinen Ansprüchen solltest du dir eh überlegen ob du nicht mit einem Produkt von der Stange (MS Visual Studio) besser bedient bist,

    mfg autoBert

  • Array durchsuchen und Zählen

    • autoBert
    • 3. Februar 2011 um 11:45

    Hallo gmmg,

    läuft die func bei dir mit den Beispieldaten (siehe Post #9) auch nicht, oder passiert dies nur mit deinen echten Daten?
    Mache einmal bitte direkt hinter deine Auswertung ein _ArrayDisplay($aObjects). Die Daten dieses Arrays kannst du dann ja indem du alle markierst und danach Copy Selected bestätigst kopieren und hier posten.
    Eventuell reicht auch schon ein

    [autoit]

    _ArrayDelete($aObjects,0)

    [/autoit]

    als 1. Zeile in die Func einzufügen, dann hätte dein auszuwertendes Array in Zeile 0 die Anzahl der Elemente,

    Edit: ich habe die func noch einmal umgebaut:

    [autoit]

    Func _GetUsers_Summary(ByRef $aObjects)
    if not IsArray($aObjects) Then SetError(1,0,0)
    Local $aCompanies = _ArrayUnique($aObjects, 3)
    ;_ArrayDisplay($aCompanies)
    _ArrayDelete($aCompanies,0)
    _ArraySort($aCompanies)
    ;_ArrayDisplay($aCompanies)
    Local $aResult[UBound($aCompanies)][2]
    For $i = 0 To UBound($aCompanies) -1
    $aResult[$i][0] = $aCompanies[$i]
    Next
    For $i = 0 To UBound($aResult) - 1
    $aTemp = _ArrayFindAll($aObjects, $aResult[$i][0], 0, 0, 0, 0, 2)
    $aResult[$i][1] = UBound($aTemp)
    Next
    Return $aResult
    EndFunc ;==>_GetAD_Summary

    [/autoit]

    teste doch bitte als 1. damit

    mfg autoBert

  • befehl zur überprüfung

    • autoBert
    • 3. Februar 2011 um 00:34
    Zitat von aflakes

    gibt es einen befehl, der nachschaut, ob etwas einen bestimmten Wert hat, und wenn ja welchen??

    Zitat

    GUICtrlRead

    Liest den Status oder die Daten eines Controls.

    Quelle: dt. Hilfe

    Um genaueres sagen zu können solltest du dein Vorhaben besser beschreiben,

    mfg autoBert

  • Ladebalkenwert per Button erhöhen?!?

    • autoBert
    • 2. Februar 2011 um 23:21

    Hallo aflakes,

    du weist jedesmal den Wert 4 zuweist, sieht man natürlich keinen Unterschied. Mach es so:

    Spoiler anzeigen
    [autoit]

    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <ProgressConstants.au3>
    #include <WindowsConstants.au3>
    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Form1", 625, 445, 192, 124)
    $Progress1 = GUICtrlCreateProgress(32, 336, 473, 97)
    $Button1 = GUICtrlCreateButton("+", 240, 120, 281, 41, $WS_GROUP)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $button1
    set ()

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

    EndSwitch
    WEnd

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

    func set ()
    guictrlsetdata($progress1, GUICtrlRead($progress1)+4)

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

    endfunc

    [/autoit]

    mfg autoBert

  • Datei in einem "Unbekannten Ordner" löschen

    • autoBert
    • 2. Februar 2011 um 21:49

    Hallo McGangster,

    pushen ist verpönnt und wird normalerweise mit Nichtbeachtung des Threades bestraft. Ist in dem Fall zwar schwierig da dir die Lösung schon gepostet wurde.
    Ansonsten könnte ich dir noch die func _Leg_mir_mal_den_Arm_aus_der Sonne() aus der MachMirMal-UDF empfehlen,

    mfg autoBert

  • Text in offenem Word-Dokument suchen und ändern

    • autoBert
    • 2. Februar 2011 um 21:41

    Hallo SmilingStar,

    schau dir die Hilfe zu

    [autoit]

    _WordAttach

    [/autoit]

    an, damit sollte es klappen,

    mfg autoBert

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™