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

  • Process Balken für einen FOR NEXT Loop

    • autoBert
    • 17. September 2010 um 16:46

    Hallo maku83,

    herzlich willkommen im Forum und viel Spass mit AutoIt.

    Hier kannst du dir die 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 maku83

    Aber wie sieht es aus wenn das Array 19 Bilder beinhalten, und eine periodische Zahl rauskommt.
    Wie kann man dies bewerkstelligen?

    das ist der Progressbar egal. Du kannst aber auch vorsichtshalber mit

    [autoit]

    Int($ErreichteProzent)

    [/autoit]

    einen Integerwert erzeugen,

    PS.: du solltest die autoit-TAGs verwenden, dann kann man das Skript leichter überfliegen,
    mfg autoBert

  • Updatefunktion

    • autoBert
    • 17. September 2010 um 16:26

    für bplaced musst du einen HTTPUserAgenten setzen, da bplaced ansonsten blockiert z.B.:

    [autoit]

    HttpSetUserAgent('Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.2.10) Gecko/20100914 Firefox/3.6.10')

    [/autoit]

    Klappi aber auch nicht. Das liegt vielleicht daran:

    Zitat von Seite ([url

    http://www.trap-making.bplaced.net/Update.txt[/url]) manuell aufgerufen] bplaced.net Diese Seite ist leider nicht mehr verfügbar, Fehler 404. Sorry, this page is not available any more, error 404.


    Den zweiten Inetget kann ich nicht testen da die bereitgestellte update.txt nur eine Zeile enthält, du aber

    [autoit]

    $line2 = FileReadLine($file, 2)
    ...
    InetGet("http://www.trap-making.bplaced.net/Test.ini" & $line2, $line2, 1, 0)

    [/autoit]

    denInhalt dieser Zeile mit dem Download verknüpft hast,

    mfg autoBert

  • If und Then und dann dies

    • autoBert
    • 16. September 2010 um 23:49
    Zitat von Goldy

    Also die Datein die geladen werden sollen , sind bei z.B. hier : http://localhost/autoit/download/


    wenn sie sich eh schon auf deinem Rechner befinden nimm einfach Filecopy, da dies ja auch (fast) keine Zeit in Anspruch nimmt kannst du dir die ganze Prüferei auch sparen,

    mfg autoBert

  • If und Then und dann dies

    • autoBert
    • 16. September 2010 um 23:01
    Zitat von Goldy

    Nur nochmal kurz nebenbei.

    Könnte man es nicht so machen :

    Man hat auf dem PC eine .ini
    Und auf dem FTP.
    Wenn man nun den "Update" button drückt, wird eine .ini vom FTP geladem,ausgelesen und wenn die Zahl dadrin größer ist als die , die schon auf dem pc war,
    dann wird geladen.

    natürlich ist das eine Möglichkeit, deshalb auch vorhin:

    Zitat von autoBert

    Stelle den Link der Adresse ein von der du anhand der version.ini downloaden möchtest, vielleicht findet sich dann einer der dir dabei hilft,

    mfg autoBert

  • If und Then und dann dies

    • autoBert
    • 16. September 2010 um 21:58

    Hallo Goldy,

    hier noch ein weiteres Skript (sollte auch auf deiner Festplatte unter ...\AutoIt3\Extras\AutoUpdateIt\AutoUpdateIt.au3 zu finden sein)

    Spoiler anzeigen
    [autoit]

    #AutoIt3Wrapper_AU3Check_Parameters=-d -w 1 -w 2 -w 3 -w 4 -w 5 -w 6
    #AutoIt3Wrapper_AU3Check_Parameters=-d -w 1 -w 2 -w 3 -w 4 -w 5 -w 6
    #NoTrayIcon
    ; =======================================================================
    ; AutoUpdateIt
    ; Original by Rob Saunders
    ; Modifications by JPM/strik3r0475/erebus
    ;
    ; Command Line Options:
    ; - AutoUpdateIt.au3 [/release | /beta | /prebeta] [/silent] [/noproxy]
    ; - /release Download latest release
    ; - /beta Download latest beta
    ; - /prebeta Download latest prebeta
    ; - /silent Silently auto-install (resets all settings)
    ; - /noproxy Use direct internet access (no IE proxy)
    ;
    ; History:
    ; - 1.50 - Rewrote the code to new Inet... functions (InetClose, InetGetInfo) (by Prog@ndy)
    ; - 1.41 - Added error message when dowload is not working (by JPM)
    ; - 1.40 - Fixed a bug where the updater crashed if AU3 was not already installed (by erebus)
    ; - Fixed some display bugs, occured if AU3 was not already installed (by erebus)
    ; - Re-added the installation paths on the GUI; tiny but useful (by erebus)
    ; - Added the /noproxy command line switch to allow direct internet access (by erebus)
    ; - Added a menu option to disable/enable the use of IE's proxy (by erebus)
    ; - 1.37 - Change Alpha to Pre-Beta (by JPM)
    ; - 1.36 - Display current Beta (by strik3r0475)
    ; - 1.35 - Fixed some display bugs
    ; - 1.34 - Display Alpha release if available
    ; - Command line parameters added /alpha to check for latest alpha
    ; - 1.33 - Added Retry/Cancel msgbox when cannot connect to receive update file
    ; - Added Progress bar for non-WinXP users
    ; - 1.32 - Changed _CompareVersions again (integer comparison now)
    ; - 1.31 - Rewrote _ClipPath again
    ; - 1.30 - Rewrote a few UDFs (_CompareVersions, _ClipPath)
    ; - Underscored all UDF names
    ; - Removed a misplaced 'Then' screwing up command line options
    ; - 1.21 - Stupid bug fixed (ignored version check for /beta command)
    ; - CompareVersions function works properly now (was seeing 3.0.103.173 as newer than 3.1.0.1)
    ; - 1.20 - Command line parameters added
    ; - /release to check for latest public release
    ; - /beta to check for latest beta
    ; - /silent to install silently (you will lose your compiler and file settings)
    ; - 1.11 - Starts the download when you press one of the download
    ; buttons, resulting in pre-downloading while you choose
    ; where to save the file
    ; - Default name for Beta download includes full version string
    ; - Deletes "au3_update.dat" from temp files after loading data
    ; - 1.10 - Displays release date
    ; - Changed layout of buttons / groups
    ; - Slightly modified error message when server inaccessible
    ; - 1.00 - "Release" / given a version number
    ;
    ; Forum Threads:
    ; - http://www.autoitscript.com/forum/index.ph...view=getnewpost
    ; - http://www.autoitscript.com/forum/index.ph...view=getnewpost
    ;
    ; =======================================================================
    #Include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <StaticConstants.au3>

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

    ; ========================================
    ; Predefine variables
    ; ========================================
    Global Const $s_Title = 'AutoUpdateIt'
    Global Const $s_Version = '1.41'
    Global Const $s_DatFile = 'http://www.autoitscript.com/autoit3/files/beta/update.dat'
    Global Const $b_Download_UpdateDat = 1
    Global Const $s_DatFile_Local = @TempDir & '\au3_update.dat'
    Global Const $s_Au3UpReg = 'HKCU\Software\AutoIt v3\AutoUpdateIt'
    Global $i_DownSize, $s_DownPath, $s_DownTemp, $s_DownFolder
    Global $i_DatFileLoaded, $i_ValidAu3Path, $i_DnInitiated
    Global $s_AutoUpdate, $i_SilentInstall
    Global $s_CurrDate
    Global $s_ReleaseVer, $s_ReleaseFile, $i_ReleaseSize, $i_ReleaseDate, $s_ReleasePage
    Global $s_LatestBetaVer, $s_BetaFile, $i_BetaSize, $i_BetaDate, $s_BetaPage, $s_CurrBetaVer, $s_CurrBetaDate
    Global $s_PreBetaVer, $s_PreBetaFile, $i_PreBetaSize, $i_PreBetaDate, $s_PreBetaPage
    Global $s_CurrVer, $s_DownSize, $gui_Main, $me_Mn_Help, $me_Mn_Proxy, $me_Mn_VisitSite, $me_Mn_About
    Global $lb_separator, $gr_Instal_Details, $gr_Mn_Release, $lb_Mn_ReleaseVer, $lb_Mn_ReleaseDate
    Global $gr_Mn_Beta, $lb_Mn_BetaVer, $lb_Mn_BetaDate, $gr_Mn_PreBeta, $lb_Mn_PreBetaVer, $lb_Mn_PreBetaDate
    Global $ra_Mn_DoneNotify, $ra_Mn_DoneRun, $bt_Mn_Close, $bt_Mn_ReleaseDl, $lb_Mn_ReleaseSize
    Global $lb_Mn_ReleasePage, $bt_Mn_BetaDl, $lb_Mn_BetaSize, $lb_Mn_BetaPage, $bt_Mn_PreBetaDl
    Global $lb_Mn_PreBetaSize, $lb_Mn_PreBetaPage, $a_DownButtons, $lb_Mn_DwnToTtl
    Global $lb_Mn_DwnToTxt, $pg_Mn_Progress, $bt_Mn_OpenFile, $bt_Mn_OpenFolder, $a_DownDisplay
    Global $lb_Mn_Progress, $gui_About, $lb_Ab_VisitSite, $bt_Ab_Close, $a_GMsg
    Global $i_Res, $pos, $i_ReleaseSizeKB, $i_BetaSizeKB, $i_PreBetaSizeKB, $i_DnPercent
    Global $s_DnBytes, $s_DnSize,$i_Response, $tmp, $s_DefFileName, $len
    Global $i_ProgOn, $i_StatusPercent

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

    Global $i_InetGetHandle

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

    ; ========================================
    ; Read registry settings
    ; ========================================
    Global $s_DefDownDir = RegRead($s_Au3UpReg, 'DownloadDir')
    If @error Then
    $s_DefDownDir = @DesktopDir
    EndIf
    Global $s_Au3Path = RegRead64('HKLM\Software\AutoIt v3\AutoIt', 'InstallDir')
    If Not @error And FileExists($s_Au3Path & '\AutoIt3.exe') Then
    $s_CurrVer = FileGetVersion($s_Au3Path & "\AutoIt3.exe")
    $s_CurrDate = _FriendlyDate(FileGetTime($s_Au3Path & "\AutoIt3.exe", 0, 1))
    Else
    $s_Au3Path = 'Installation not found'
    $s_CurrVer = 'Unavailable'
    $s_CurrDate = 'Unavailable'
    EndIf
    Global $s_BetaPath = RegRead64('HKLM\Software\AutoIt v3\AutoIt', 'betaInstallDir')
    If Not @error And FileExists($s_BetaPath & '\AutoIt3.exe') Then
    $s_CurrBetaVer = FileGetVersion($s_BetaPath & "\AutoIt3.exe")
    $s_CurrBetaDate = _FriendlyDate(FileGetTime($s_BetaPath & "\AutoIt3.exe", 0, 1))
    Else
    $s_BetaPath = 'Installation not found'
    $s_CurrBetaVer = 'Unavailable'
    $s_CurrBetaDate = 'Unavailable'
    EndIf
    ; ========================================
    ; Check for command line parameters
    ; ========================================
    If _StringInArray($CmdLine, '/noproxy') Then HttpSetProxy(1)
    If _StringInArray($CmdLine, '/release') Or _StringInArray($CmdLine, '/beta') Or _StringInArray($CmdLine, '/prebeta') Then
    Opt('TrayIconHide', 0)
    _Status('Checking for updates')
    InetGet($s_DatFile, $s_DatFile_Local, 1 )
    If @error<>0 Then
    _Status('Could not connect to site', 'Please check your connection and try again')
    Sleep(4000)
    Exit
    EndIf
    _LoadUpdateData()
    If _StringInArray($CmdLine, '/release') And _CompareVersions($s_ReleaseVer, $s_CurrVer) Then
    $s_AutoUpdate = $s_ReleaseFile
    $s_DownTemp = @TempDir & '\autoit-v3-setup.exe'
    $i_DownSize = $i_ReleaseSize
    ElseIf _StringInArray($CmdLine, '/beta') And _CompareVersions($s_LatestBetaVer, $s_CurrVer) Then
    $s_AutoUpdate = $s_BetaFile
    $s_DownTemp = @TempDir & '\autoit-v' & $s_LatestBetaVer & '.exe'
    $i_DownSize = $i_BetaSize
    ElseIf _StringInArray($CmdLine, '/prebeta') And _CompareVersions($s_PreBetaVer, $s_CurrVer) Then
    $s_AutoUpdate = $s_PreBetaFile
    $s_DownTemp = @TempDir & '\autoit-v' & $s_PreBetaVer & '.exe'
    $i_DownSize = $i_PreBetaSize
    EndIf
    If $s_AutoUpdate Then
    $i_InetGetHandle = InetGet($s_AutoUpdate, $s_DownTemp, 1, 1)
    $s_DownSize = Round($i_DownSize / 1024) & ' KB'
    Do
    _Status('Downloading update', '', InetGetInfo($i_InetGetHandle, 0), $i_DownSize)
    Until InetGetInfo($i_InetGetHandle, 2)
    _Status('Download Complete', 'Launching install')
    InetClose($i_InetGetHandle)
    $i_InetGetHandle=-1
    Sleep(1000)
    If _StringInArray($CmdLine, '/silent') Then
    _Start('"' & $s_DownTemp & '" /S')
    Else
    _Start('"' & $s_DownTemp & '"')
    EndIf
    Else
    _Status('No new versions available')
    Sleep(1000)
    EndIf
    Exit
    EndIf
    ; ========================================
    ; GUI - Main Application
    ; ========================================
    Opt("GuiResizeMode", $GUI_DOCKALL)
    $gui_Main = GUICreate($s_Title, 350, 310 + 20)
    $me_Mn_Help = GUICtrlCreateMenu('&Help')
    $me_Mn_Proxy = GUICtrlCreateMenuItem('Disable IE''s &proxy server', $me_Mn_Help)
    $me_Mn_VisitSite = GUICtrlCreateMenuItem('&Visit the AutoIt3 Website', $me_Mn_Help)
    $me_Mn_About = GUICtrlCreateMenuItem('&About', $me_Mn_Help)
    $lb_separator = GUICtrlCreateLabel('', 0, 0, 350, 2, $SS_SUNKEN)
    $gr_Instal_Details = GUICtrlCreateGroup('Current Installation Details', 5, 5, 340, 70)
    GUICtrlCreateLabel('Production Version: ' & $s_CurrVer, 15, 25, 160, 15)
    GUICtrlCreateLabel('Date: ' & $s_CurrDate, 15, 40, 160, 15)
    GUICtrlCreateLabel('Path: ' & $s_Au3Path, 15, 55, 160, 15)
    GUICtrlSetFont(-1, 6)
    GUICtrlCreateLabel('Beta Version: ' & $s_CurrBetaVer, 190, 25, 150, 15)
    GUICtrlCreateLabel('Date: ' & $s_CurrBetaDate, 190, 40, 150, 15)
    GUICtrlCreateLabel('Path: ' & $s_BetaPath, 190, 55, 150, 15)
    GUICtrlSetFont(-1, 6)
    $gr_Mn_Release = GUICtrlCreateGroup('Latest Public Release', 5, 85, 165, 60)
    $lb_Mn_ReleaseVer = GUICtrlCreateLabel('Version: Loading...', 15, 105, 145, 15)
    $lb_Mn_ReleaseDate = GUICtrlCreateLabel('Date: Loading...', 15, 120, 145, 15)
    $gr_Mn_Beta = GUICtrlCreateGroup('Latest Beta', 180, 85, 165, 60)
    $lb_Mn_BetaVer = GUICtrlCreateLabel('Version: Loading...', 190, 105, 145, 15)
    $lb_Mn_BetaDate = GUICtrlCreateLabel('Date: Loading...', 190, 120, 145, 15)
    $gr_Mn_PreBeta = GUICtrlCreateGroup('Latest Pre-Beta', 180 + 175, 85, 165, 60)
    $lb_Mn_PreBetaVer = GUICtrlCreateLabel('Version: Loading...', 190 + 175, 105, 145, 15)
    $lb_Mn_PreBetaDate = GUICtrlCreateLabel('Date: Loading...', 190 + 175, 120, 145, 15)
    GUIStartGroup()
    $ra_Mn_DoneNotify = GUICtrlCreateRadio('&Notify when download complete', 5, 155, 340, 15)
    $ra_Mn_DoneRun = GUICtrlCreateRadio('&Autorun install when download complete', 5, 175, 340, 15)
    ; Check default done option
    If RegRead($s_Au3UpReg, 'DoneOption') = 'Run' Then
    GUICtrlSetState($ra_Mn_DoneRun, $GUI_CHECKED)
    Else
    GUICtrlSetState($ra_Mn_DoneNotify, $GUI_CHECKED)
    EndIf
    $bt_Mn_Close = GUICtrlCreateButton('&Close', 10, 275, 330, 25)
    ; ========================================
    ; Control Set - Download Buttons
    ; ========================================
    $bt_Mn_ReleaseDl = GUICtrlCreateButton('Download Public &Release', 5, 195, 165, 30)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $lb_Mn_ReleaseSize = GUICtrlCreateLabel('Size: Loading...', 5, 230, 165, 15, $SS_CENTER)
    $lb_Mn_ReleasePage = GUICtrlCreateLabel('Visit Download Page', 5, 245, 165, 15, $SS_CENTER)
    GUICtrlSetState(-1, $GUI_DISABLE)
    GUICtrlSetFont(-1, 9, 400, 4)
    GUICtrlSetColor(-1, 0x0000ff)
    GUICtrlSetCursor(-1, 0)
    $bt_Mn_BetaDl = GUICtrlCreateButton('Download &Beta', 180, 195, 165, 30)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $lb_Mn_BetaSize = GUICtrlCreateLabel('Size: Loading...', 180, 230, 165, 15, $SS_CENTER)
    $lb_Mn_BetaPage = GUICtrlCreateLabel('Visit Download Page', 180, 245, 165, 15, $SS_CENTER)
    GUICtrlSetState(-1, $GUI_DISABLE)
    GUICtrlSetFont(-1, 9, 400, 4)
    GUICtrlSetColor(-1, 0x0000ff)
    GUICtrlSetCursor(-1, 0)
    $bt_Mn_PreBetaDl = GUICtrlCreateButton('Download &Pre-Beta', 180 + 175, 195, 165, 30)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $lb_Mn_PreBetaSize = GUICtrlCreateLabel('Size: Loading...', 180 + 175, 230, 165, 15, $SS_CENTER)
    $lb_Mn_PreBetaPage = GUICtrlCreateLabel('Visit Download Page', 180 + 175, 245, 165, 15, $SS_CENTER)
    GUICtrlSetState(-1, $GUI_DISABLE)
    GUICtrlSetFont(-1, 9, 400, 4)
    GUICtrlSetColor(-1, 0x0000ff)
    GUICtrlSetCursor(-1, 0)
    $a_DownButtons = StringSplit($bt_Mn_ReleaseDl & '.' & _
    $lb_Mn_ReleaseSize & '.' & _
    $lb_Mn_ReleasePage & '.' & _
    $bt_Mn_BetaDl & '.' & _
    $lb_Mn_BetaSize & '.' & _
    $lb_Mn_BetaPage & '.' & _
    $bt_Mn_PreBetaDl & '.' & _
    $lb_Mn_PreBetaSize & '.' & _
    $lb_Mn_PreBetaPage, '.')
    ; ========================================
    ; Control Set - Download Display
    ; ========================================
    $lb_Mn_DwnToTtl = GUICtrlCreateLabel('Downloading to:', 5, 195, 290, 15, $SS_LEFTNOWORDWRAP)
    $lb_Mn_DwnToTxt = GUICtrlCreateLabel('', 5, 210, 290, 15, $SS_LEFTNOWORDWRAP)
    $pg_Mn_Progress = GUICtrlCreateProgress(5, 225, 340, 20)
    $lb_Mn_Progress = GUICtrlCreateLabel('', 5, 250, 290, 15)
    $bt_Mn_OpenFile = GUICtrlCreateButton('&Open', 105, 275, 75, 25)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $bt_Mn_OpenFolder = GUICtrlCreateButton('Open &Folder', 185, 275, 75, 25)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $a_DownDisplay = StringSplit($lb_Mn_DwnToTtl & '.' & _
    $lb_Mn_DwnToTxt & '.' & _
    $pg_Mn_Progress & '.' & _
    $lb_Mn_Progress & '.' & _
    $bt_Mn_OpenFile & '.' & _
    $bt_Mn_OpenFolder, '.')
    _GuiCtrlGroupSetState($a_DownDisplay, $GUI_HIDE)
    ; ========================================
    ; GUI - About
    ; ========================================
    $gui_About = GUICreate('About', 300, 120, -1, -1, BitOR($WS_CAPTION, $WS_SYSMENU), -1, $gui_Main)
    GUICtrlCreateLabel($s_Title & ' v' & $s_Version & ' - The AutoIt3 Update Utility' & @LF & _
    @LF & _
    'This application is a utility for easily receiving the most ' & _
    'recent public release or beta version of AutoIt3 available. ' & _
    'It was written in AutoIt3 script by Rob Saunders.', 5, 5, 290, 75)
    $lb_Ab_VisitSite = GUICtrlCreateLabel('Visit the AutoIt Website', 5, 100, 145, 15)
    GUICtrlSetFont(-1, 9, 400, 4)
    GUICtrlSetColor(-1, 0x0000ff)
    GUICtrlSetCursor(-1, 0)
    GUICtrlSetTip(-1, 'http://www.autoitscript.com')
    ;$lb_Ab_ContactAuthor = GUICtrlCreateLabel('Contact Rob Saunders', 5, 100, 145, 15)
    ;GUICtrlSetFont(-1, 9, 400, 4)
    ;GUICtrlSetColor(-1, 0x0000ff)
    ;GUICtrlSetCursor(-1, 0)
    ;GUICtrlSetTip(-1, 'rksaunders@gmail.com')
    $bt_Ab_Close = GUICtrlCreateButton('&Close', 220, 90, 75, 25)
    ; ========================================
    ; Application start
    ; ========================================
    ; Show Main Window
    If _StringInArray($CmdLine, '/noproxy') Then GUICtrlSetState($me_Mn_Proxy, $GUI_CHECKED)
    GUISetState(@SW_SHOW, $gui_Main)
    ; Download update data file
    If $b_Download_UpdateDat Then
    $i_InetGetHandle = InetGet($s_DatFile, $s_DatFile_Local, 1, 1)
    Else
    FileCopy(@ScriptDir & '\update.dat', $s_DatFile_Local) ; to test locally
    EndIf
    ; Harness GUI Events
    While 1
    $a_GMsg = GUIGetMsg(1)
    If Not $i_DatFileLoaded And InetGetInfo($i_InetGetHandle,2) Then
    If InetGetInfo($i_InetGetHandle,3) = False And $b_Download_UpdateDat Then
    $i_Res = MsgBox(5 + 16 + 8192, 'Error', 'Error connecting to server.' & @LF & _
    'Please verify the following:' & @LF & _
    ' - You can connect to the internet' & @LF & _
    ' - You can access the site http://www.AutoItScript.com' & @LF & _
    ' - Your firewall is not blocking internet access to this program')
    If $i_Res = 4 Then
    $i_InetGetHandle = InetGet($s_DatFile, $s_DatFile_Local, 1, 1)
    Else
    Exit
    EndIf
    Else
    _LoadUpdateData()
    If $s_PreBetaVer <> '' Then
    If _CompareVersions(StringTrimRight($s_PreBetaVer, 1), $s_LatestBetaVer) > 0 Then
    $pos = WinGetPos($s_Title)
    WinMove($s_Title, "", $pos[0], $pos[1], $pos[2] + 175, $pos[3])
    GUICtrlSetPos($lb_separator, 0, 0, 350 + 175, 2)
    GUICtrlSetPos($gr_Instal_Details, 5, 5, 340 + 175, 75)
    GUICtrlSetPos($bt_Mn_Close, 10, 275, 330 + 175, 25)
    GUICtrlSetPos($lb_Mn_DwnToTtl, 5, 195, 290 + 175, 15)
    GUICtrlSetPos($lb_Mn_DwnToTxt, 5, 210, 290 + 175, 15)
    GUICtrlSetPos($pg_Mn_Progress, 5, 225, 340 + 175, 20)
    GUICtrlSetPos($lb_Mn_Progress, 5, 250, 290 + 175, 15)
    GUICtrlSetPos($bt_Mn_OpenFile, 105 + 175, 275, 75, 25)
    GUICtrlSetPos($bt_Mn_OpenFolder, 185 + 175, 275, 75, 25)
    Else
    $s_PreBetaVer = ''
    EndIf
    EndIf
    $i_ReleaseSizeKB = Round($i_ReleaseSize / 1024)
    $i_BetaSizeKB = Round($i_BetaSize / 1024)
    $i_PreBetaSizeKB = Round($i_PreBetaSize / 1024)
    If _CompareVersions($s_ReleaseVer, $s_CurrVer) Then
    GUICtrlSetData($gr_Mn_Release, 'Latest Public Release *New*')
    GUICtrlSetColor($gr_Mn_Release, 0x0000ff)
    EndIf
    GUICtrlSetData($lb_Mn_ReleaseVer, 'Version: ' & $s_ReleaseVer)
    If _CompareVersions($s_LatestBetaVer, $s_CurrBetaVer) Then
    GUICtrlSetData($gr_Mn_Beta, 'Latest Beta *New*')
    GUICtrlSetColor($gr_Mn_Beta, 0x0000ff)
    EndIf
    GUICtrlSetData($lb_Mn_BetaVer, 'Version: ' & $s_LatestBetaVer)
    If _CompareVersions($s_PreBetaVer, $s_CurrVer) Then
    GUICtrlSetData($gr_Mn_PreBeta, 'Latest pre-Beta *New*')
    GUICtrlSetColor($gr_Mn_PreBeta, 0x0000ff)
    EndIf
    GUICtrlSetData($lb_Mn_PreBetaVer, 'Version: ' & $s_PreBetaVer)
    GUICtrlSetData($lb_Mn_ReleaseDate, 'Date: ' & _FriendlyDate($i_ReleaseDate))
    GUICtrlSetData($lb_Mn_BetaDate, 'Date: ' & _FriendlyDate($i_BetaDate))
    GUICtrlSetData($lb_Mn_PreBetaDate, 'Date: ' & _FriendlyDate($i_PreBetaDate))
    GUICtrlSetData($lb_Mn_ReleaseSize, 'Size: ' & $i_ReleaseSizeKB & ' KB')
    GUICtrlSetData($lb_Mn_BetaSize, 'Size: ' & $i_BetaSizeKB & ' KB')
    GUICtrlSetData($lb_Mn_PreBetaSize, 'Size: ' & $i_PreBetaSizeKB & ' KB')
    GUICtrlSetTip($lb_Mn_ReleasePage, $s_ReleasePage)
    GUICtrlSetTip($lb_Mn_BetaPage, $s_BetaPage)
    GUICtrlSetTip($lb_Mn_PreBetaPage, $s_PreBetaPage)
    GUICtrlSetState($bt_Mn_ReleaseDl, $GUI_ENABLE)
    GUICtrlSetState($bt_Mn_BetaDl, $GUI_ENABLE)
    GUICtrlSetState($bt_Mn_PreBetaDl, $GUI_ENABLE)
    GUICtrlSetState($lb_Mn_ReleasePage, $GUI_ENABLE)
    GUICtrlSetState($lb_Mn_BetaPage, $GUI_ENABLE)
    GUICtrlSetState($lb_Mn_PreBetaPage, $GUI_ENABLE)
    $i_DatFileLoaded = 1
    EndIf
    EndIf
    If $i_DnInitiated Then
    If Not InetGetInfo($i_InetGetHandle, 2) Then
    $i_DnPercent = Int(InetGetInfo($i_InetGetHandle, 0) / $i_DownSize * 100)
    $s_DnBytes = Round(InetGetInfo($i_InetGetHandle, 0) / 1024) & ' KB'
    $s_DnSize = Round($i_DownSize / 1024) & ' KB'
    GUICtrlSetData($pg_Mn_Progress, $i_DnPercent)
    GUICtrlSetData($lb_Mn_Progress, 'Download Progress: ' & $i_DnPercent & '% (' & $s_DnBytes & ' of ' & $s_DnSize & ')')
    Else
    GUICtrlSetData($pg_Mn_Progress, 100)
    InetClose($i_InetGetHandle)
    If Not FileMove($s_DownTemp, $s_DownPath, 1) Then
    MsgBox(16 + 8192, 'Error', 'Error moving file.')
    GUICtrlSetData($lb_Mn_Progress, 'Error')
    Else
    If GUICtrlRead($ra_Mn_DoneRun) = $GUI_CHECKED Then
    _Start('"' & $s_DownPath & '"')
    Exit
    Else
    GUICtrlSetData($lb_Mn_Progress, 'Download Complete!')
    GUICtrlSetData($bt_Mn_Close, '&Close')
    GUICtrlSetState($bt_Mn_OpenFile, $GUI_ENABLE)
    GUICtrlSetState($bt_Mn_OpenFolder, $GUI_ENABLE)
    $i_Response = MsgBox(4 + 64 + 256 + 8192, $s_Title, 'Download complete!' & @LF & _
    'Would you like to run the installer now?')
    If $i_Response = 6 Then
    _Start('"' & $s_DownPath & '"')
    Exit
    EndIf
    EndIf
    EndIf
    $i_DnInitiated = 0
    EndIf
    EndIf
    If $a_GMsg[1] = $gui_Main Then
    Select
    ; Radio buttons
    Case $a_GMsg[0] = $ra_Mn_DoneRun
    RegWrite($s_Au3UpReg, 'DoneOption', 'REG_SZ', 'Run')
    Case $a_GMsg[0] = $ra_Mn_DoneNotify
    RegWrite($s_Au3UpReg, 'DoneOption', 'REG_SZ', 'Notify')
    ; Download buttons
    Case $a_GMsg[0] = $bt_Mn_ReleaseDl
    $tmp = StringInStr($s_ReleaseFile, '/', 0, -1)
    $s_DefFileName = StringTrimLeft($s_ReleaseFile, $tmp)
    $i_DownSize = $i_ReleaseSize
    ShellExecute("http://www.autoitscript.com/autoit3/docs/history.htm")
    _DownloadFile($s_ReleaseFile, 'autoit-v3-setup.exe')
    Case $a_GMsg[0] = $bt_Mn_BetaDl
    $tmp = StringInStr($s_BetaFile, '/', 0, -1)
    $s_DefFileName = StringTrimLeft($s_BetaFile, $tmp)
    $i_DownSize = $i_BetaSize
    _DownloadFile($s_BetaFile, 'autoit-v' & $s_LatestBetaVer & '.exe')
    Case $a_GMsg[0] = $bt_Mn_PreBetaDl
    $tmp = StringInStr($s_PreBetaFile, '/', 0, -1)
    $s_DefFileName = StringTrimLeft($s_PreBetaFile, $tmp)
    $i_DownSize = $i_PreBetaSize
    _DownloadFile($s_PreBetaFile, 'autoit-v' & $s_PreBetaVer & '.exe')
    ; Download page "hyperlinks"
    Case $a_GMsg[0] = $lb_Mn_ReleasePage
    _Start($s_ReleasePage)
    Case $a_GMsg[0] = $lb_Mn_BetaPage
    _Start($s_BetaPage)
    Case $a_GMsg[0] = $lb_Mn_PreBetaPage
    _Start($s_PreBetaPage)
    ; Open buttons
    Case $a_GMsg[0] = $bt_Mn_OpenFile
    _Start('"' & $s_DownPath & '"')
    Exit
    Case $a_GMsg[0] = $bt_Mn_OpenFolder
    _Start('"' & EnvGet('windir') & '\explorer.exe" /select,"' & $s_DownPath & '"')
    Exit
    ; Menu items
    Case $a_GMsg[0] = $me_Mn_Proxy
    If BitAND(GUICtrlRead($me_Mn_Proxy), $GUI_CHECKED) = $GUI_CHECKED Then
    GUICtrlSetState($me_Mn_Proxy, $GUI_UNCHECKED)
    HttpSetProxy(0)
    Else
    GUICtrlSetState($me_Mn_Proxy, $GUI_CHECKED)
    HttpSetProxy(1)
    EndIf
    Case $a_GMsg[0] = $me_Mn_VisitSite
    _Start('http://www.autoitscript.com')
    Case $a_GMsg[0] = $me_Mn_About
    GUISetState(@SW_SHOW, $gui_About)
    ; Close buttons
    Case $a_GMsg[0] = $bt_Mn_Close
    _CancelDownload()
    Case $a_GMsg[0] = $GUI_EVENT_CLOSE
    _CancelDownload(1)
    EndSelect
    ElseIf $a_GMsg[1] = $gui_About Then
    Select
    Case $a_GMsg[0] = $lb_Ab_VisitSite
    _Start('http://www.autoitscript.com')
    ; Case $a_GMsg[0] = $lb_Ab_ContactAuthor
    ; _Start('"mailto:rksaunders@gmail.com?Subject=AutoIt3 Update Utility"')
    Case $a_GMsg[0] = $GUI_EVENT_CLOSE Or $a_GMsg[0] = $bt_Ab_Close
    GUISetState(@SW_HIDE, $gui_About)
    EndSelect
    EndIf
    WEnd

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

    ; ========================================
    ; Function Declarations
    ; ========================================
    ; App. specific functions
    Func _DownloadFile($s_DownUrl, $s_DownName)
    $s_DownTemp = @TempDir & '\' & $s_DownName

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

    $len = InetGetSize($s_DownUrl)
    If @error Then
    MsgBox(16 + 8192, 'Error', 'Cannot acces when trying to download.' & @CRLF & @CRLF & $s_DownUrl)
    Return
    EndIf

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

    $i_InetGetHandle = InetGet($s_DownUrl, $s_DownTemp, 1, 1)
    $s_DownPath = FileSaveDialog('Save As', $s_DefDownDir, 'Executables (*.exe)', 16, $s_DownName)
    If Not @error Then
    If Not (StringRight($s_DownPath, 4) = '.exe') Then
    $s_DownPath = $s_DownPath & '.exe'
    EndIf
    $tmp = StringInStr($s_DownPath, '\', 0, -1)
    $s_DownFolder = StringLeft($s_DownPath, $tmp)
    RegWrite($s_Au3UpReg, 'DownloadDir', 'REG_SZ', $s_DownFolder)
    GUICtrlSetData($lb_Mn_DwnToTxt, _ClipPath($s_DownPath, 55))
    GUICtrlSetData($lb_Mn_Progress, 'Download Progress: Calculating...')
    _GuiCtrlGroupSetState($a_DownButtons, $GUI_HIDE)
    _GuiCtrlGroupSetState($a_DownButtons, $GUI_DISABLE)
    _GuiCtrlGroupSetState($a_DownDisplay, $GUI_SHOW)
    If $s_PreBetaVer <> '' Then
    GUICtrlSetPos($bt_Mn_Close, 265 + 175, 275, 75, 25)
    Else
    GUICtrlSetPos($bt_Mn_Close, 265, 275, 75, 25)
    EndIf
    GUICtrlSetData($bt_Mn_Close, 'Cancel')
    $i_DnInitiated = 1
    Else
    InetClose($i_InetGetHandle)
    FileDelete($s_DownTemp)
    EndIf
    EndFunc ;==>_DownloadFile

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

    Func _CancelDownload($i_Flag = 0)
    If $i_DnInitiated Then
    $i_Response = MsgBox(4 + 64 + 256 + 8192, $s_Title, 'Resuming is not possible.' & @LF & _
    'Your download will be lost.' & @LF & _
    'Continue?')
    If $i_Response = 6 Then
    $i_DnInitiated = 0
    InetClose($i_InetGetHandle)
    FileDelete($s_DownTemp)
    If $i_Flag = 1 Then
    Exit
    EndIf
    _GuiCtrlGroupSetState($a_DownDisplay, $GUI_HIDE)
    GUICtrlSetData($bt_Mn_Close, '&Close')
    If $s_PreBetaVer <> '' Then
    GUICtrlSetPos($bt_Mn_Close, 10, 275, 330 + 175, 25)
    Else
    GUICtrlSetPos($bt_Mn_Close, 10, 275, 330, 25)
    EndIf
    GUICtrlSetData($pg_Mn_Progress, 0)
    _GuiCtrlGroupSetState($a_DownButtons, $GUI_SHOW)
    _GuiCtrlGroupSetState($a_DownButtons, $GUI_ENABLE)
    EndIf
    Else
    Exit
    EndIf
    EndFunc ;==>_CancelDownload

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

    Func _LoadUpdateData()
    $s_ReleaseVer = IniRead($s_DatFile_Local, 'AutoIt', 'version', 'Error reading file')
    $s_ReleaseFile = IniRead($s_DatFile_Local, 'AutoIt', 'setup', '')
    $s_ReleasePage = IniRead($s_DatFile_Local, 'AutoIt', 'index', 'http://www.autoitscript.com')
    $i_ReleaseSize = IniRead($s_DatFile_Local, 'AutoIt', 'filesize', 0)
    $i_ReleaseDate = IniRead($s_DatFile_Local, 'AutoIt', 'filetime', 0)
    $s_LatestBetaVer = IniRead($s_DatFile_Local, 'AutoItBeta', 'version', 'Error reading file')
    $s_BetaFile = IniRead($s_DatFile_Local, 'AutoItBeta', 'setup', '')
    $s_BetaPage = IniRead($s_DatFile_Local, 'AutoItBeta', 'index', 'http://www.autoitscript.com')
    $i_BetaSize = IniRead($s_DatFile_Local, 'AutoItBeta', 'filesize', 0)
    $i_BetaDate = IniRead($s_DatFile_Local, 'AutoItBeta', 'filetime', 0)
    $s_PreBetaVer = IniRead($s_DatFile_Local, 'AutoItPreBeta', 'version', '')
    $s_PreBetaFile = IniRead($s_DatFile_Local, 'AutoItPreBeta', 'setup', '')
    $s_PreBetaPage = IniRead($s_DatFile_Local, 'AutoItPreBeta', 'index', 'http://www.autoitscript.com')
    $i_PreBetaSize = IniRead($s_DatFile_Local, 'AutoItPreBeta', 'filesize', 0)
    $i_PreBetaDate = IniRead($s_DatFile_Local, 'AutoItPreBeta', 'filetime', 0)
    FileDelete($s_DatFile_Local)
    EndFunc ;==>_LoadUpdateData

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

    ; Utility functions
    Func _Start($s_StartPath)
    Local $s_StartStr
    If @OSTYPE = 'WIN32_NT' Then
    $s_StartStr = @ComSpec & ' /c start "" '
    Else
    $s_StartStr = @ComSpec & ' /c start '
    EndIf
    Run($s_StartStr & $s_StartPath, '', @SW_HIDE)
    EndFunc ;==>_Start

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

    Func _GuiCtrlGroupSetState(ByRef $a_GroupArray, $i_State)
    For $i = 1 To $a_GroupArray[0]
    GUICtrlSetState($a_GroupArray[$i], $i_State)
    Next
    EndFunc ;==>_GuiCtrlGroupSetState

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

    Func _ClipPath($s_Path, $i_ClipLen)
    Local $i_Half, $s_Left, $s_Right
    If StringLen($s_Path) > $i_ClipLen Then
    $i_Half = Int($i_ClipLen / 2)
    $s_Left = StringLeft($s_Path, $i_Half)
    $s_Right = StringRight($s_Path, $i_Half)
    $s_Path = $s_Left & '...' & $s_Right
    EndIf
    Return $s_Path
    EndFunc ;==>_ClipPath

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

    Func _NumSuffix($i_Num)
    Local $s_Num
    Switch Int($i_Num)
    Case 1, 21, 31
    $s_Num = Int($i_Num) & 'st'
    Case 2, 22
    $s_Num = Int($i_Num) & 'nd'
    Case 3, 23
    $s_Num = Int($i_Num) & 'rd'
    Case Else
    $s_Num = Int($i_Num) & 'th'
    EndSwitch
    Return $s_Num
    EndFunc ;==>_NumSuffix

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

    Func _FriendlyDate($s_Date)
    Local $a_Months = StringSplit('January,February,March,April,May,June,July,August,September,October,November,December', ',')
    Local $s_Year, $s_Month, $s_Day
    $s_Year = StringLeft($s_Date, 4)
    $s_Month = StringMid($s_Date, 5, 2)
    $s_Month = $a_Months[Int(StringMid($s_Date, 5, 2))]
    $s_Day = StringMid($s_Date, 7, 2)
    $s_Day = _NumSuffix(StringMid($s_Date, 7, 2))
    Return $s_Month & ' ' & $s_Day & ', ' & $s_Year
    EndFunc ;==>_FriendlyDate

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

    Func _StringInArray($a_Array, $s_String)
    Local $i_ArrayLen = UBound($a_Array) - 1
    For $i = 0 To $i_ArrayLen
    If $a_Array[$i] = $s_String Then
    Return $i
    EndIf
    Next
    SetError(1)
    Return 0
    EndFunc ;==>_StringInArray

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

    Func _CompareVersions($s_Vers1, $s_Vers2, $i_ReturnFlag = 0)
    Local $v_Return
    If $s_Vers1 = '' Then Return 0
    Local $i, $i_Vers1, $i_Vers2, $i_Top
    Local $a_Vers1 = StringSplit($s_Vers1, '.')
    Local $a_Vers2 = StringSplit($s_Vers2, '.')
    $i_Top = $a_Vers1[0]
    If $a_Vers1[0] < $a_Vers2[0] Then
    $i_Top = $a_Vers2[0]
    EndIf
    For $i = 1 To $i_Top
    $i_Vers1 = 0
    $i_Vers2 = 0
    If $i <= $a_Vers1[0] Then
    $i_Vers1 = Number($a_Vers1[$i])
    EndIf
    If $i <= $a_Vers2[0] Then
    $i_Vers2 = Number($a_Vers2[$i])
    EndIf
    If $i_Vers1 > $i_Vers2 Then
    $v_Return = 1
    ExitLoop
    ElseIf $i_Vers1 < $i_Vers2 Then
    $v_Return = 0
    ExitLoop
    Else
    $v_Return = -1
    EndIf
    Next
    If $i_ReturnFlag Then
    Select
    Case $v_Return = -1
    SetError(1)
    Return 0
    Case $v_Return = 1
    Return $s_Vers1
    Case $v_Return = 0
    Return $s_Vers2
    EndSelect
    ElseIf $v_Return = -1 Then
    SetError(1)
    Return 0
    Else
    Return $v_Return
    EndIf
    EndFunc ;==>_CompareVersions

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

    Func _Status($s_MainText, $s_SubText = '', $i_BytesRead = -1, $i_DownSize = -1)
    Local $s_DownStatus
    If @OSVersion = "WIN_XP" Or @OSVersion = "WIN_2000" Or @OSVersion = "WIN_2003" Then
    If $s_SubText <> '' Then
    $s_SubText = @LF & $s_SubText
    EndIf
    If $i_BytesRead = -1 Then
    TrayTip($s_Title, $s_MainText & $s_SubText, 10, 16)
    Else
    $s_DownStatus = Round($i_BytesRead / 1024) & ' of ' & Round($i_DownSize / 1024) & ' KB'
    TrayTip($s_Title, $s_MainText & $s_SubText & @LF & $s_DownStatus, 10, 16)
    EndIf
    Else
    If Not $i_ProgOn Then
    ProgressOn($s_Title, $s_MainText, $s_SubText, -1, -1, 2 + 16)
    $i_ProgOn = 1
    Else
    If $i_BytesRead = -1 Then
    ProgressSet($i_StatusPercent, $s_SubText, $s_MainText)
    Else
    $s_DownStatus = 'Downloading ' & Round($i_BytesRead / 1024) & ' of ' & Round($i_DownSize / 1024) & ' KB'
    $i_StatusPercent = Round($i_BytesRead / $i_DownSize * 100)
    ProgressSet($i_StatusPercent, $s_DownStatus, $s_MainText)
    EndIf
    EndIf
    EndIf
    EndFunc ;==>_Status

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

    Func RegRead64($sKeyname, $sValue)
    Local $res = RegRead($sKeyname, $sValue)
    If @error And @AutoItX64 Then
    $sKeyname = StringReplace($sKeyname, "HKEY_LOCAL_MACHINE", "HKLM")
    $sKeyname = StringReplace($sKeyname, "HKLM\SOFTWARE\", "HKLM\SOFTWARE\Wow6432Node\")
    $res = RegRead($sKeyname, $sValue)
    If @error Then
    SetError(1)
    Return ""
    EndIf
    EndIf

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

    SetError(0)
    Return $res
    EndFunc

    [/autoit]

    mfg autoBert

  • TCP Frage

    • autoBert
    • 16. September 2010 um 21:17

    Hallo Raicoon,

    dieser Post:
    [ gelöst ] Clien sendet an Server nicht übers Inet von Andy sollte dir weiterhelfen

    mfg autoBert

  • If und Then und dann dies

    • autoBert
    • 16. September 2010 um 18:25

    Hallo Goldy,

    was soll der unnötige push. Stelle den Link der Adresse ein von der du anhand der version.ini downloaden möchtest, vielleicht findet sich dann einer der dir dabei hilft,

    mfg autoBert

  • Button clicken

    • autoBert
    • 16. September 2010 um 18:17

    Hallo Detroit49,

    Zitat von Detroit49

    Hi ich bin auf der suche nach eine tut oder bsp
    wie ich einen button im browser automatisch klicken kann
    z.b. den Google "suche button"

    und ich würde es gerne mit Internet Explorerau3 machen
    wenn es geht ohne controlclick

    zu dieser Frage hast du mittlerweile ausreichend Support erhalten um den Button klicken zu können. Mittlerweile rückst du damit raus dass es um deine eigene Hompepage ginge, benennst sie aber nicht. Deshalb letzte Chance HP benennen oder ich werde den Thread bis zur Klärung durch Admin/Mod dekativieren, da deine eigene Bereitschaft zur Mitarbeit (=ausreichend und richtige Infos bereitstellen) nicht gegeben ist,

    Edit: da der Threadersteller immer noch keine Infos bereitgestellt hat deaktiviert
    mfg autoBert

  • Text auslesen dann nach jedem 7.Buchstaben trennen. und den code zurck in Buchstaben Vewandeln.

    • autoBert
    • 15. September 2010 um 20:29

    Hallo Buphx,

    herzlich willkommen im Forum und viel Spass mit AutoIt.

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

    Stell doch bitte dein bisheriges Skript ein, damit es nicht so theoreitsich wird,

    mfg autoBert

  • Mehrere Ordner auslesen und bearbeiten

    • autoBert
    • 15. September 2010 um 00:15

    Hallo JackUnder,

    hier einmal ein kleines Beispiel, um *.TXT und *.INI Dateien in eine Listview aufzunehmen. Es sind 2 Möglichkeiten eingebaut:

    • über Button mit FileOPenDialog
    • über Drag and Drop, das heist du kannst Dazeinamen aus dem Explorer einfach auf die Listview ziehen

    Für das öffnen einer Datei im Editor benutze ich Doppelklick auf einen Dateinamen. Einen Button oder Menüpunkt zum anzeigen kannst du dir ja selbst einbauen.

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>
    #include <GuiListView.au3>
    #include <ListViewConstants.au3>
    #include <File.au3>
    #include <WindowsConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>

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

    #cs -----------------------------------------------------------------------------------------------------------------------

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

    AutoIt Version: 3.3.6.1
    Author: AutoBert: http://www.autoit.de/index.php?page…6909#post186909

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

    Skriptbeispiel für den Umgang mit FileOpenDialog, GUICtrlCreateListView, GUICtrlCreateListViewItem,
    GUIRegisterMsg speziell für das Event $GUI_EVENT_DROPPED
    #ce -------------------------------------------------------------------------------------------------------------------------

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

    Global $szDrive, $szDir, $szFName, $szExt
    Global $aDropFiles[1], $WM_DROPFILES = 0x233

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

    #region ### START Koda GUI section ### Form=
    $hGui = GUICreate("Form1", 625, 443, -1, -1, -1, $WS_EX_ACCEPTFILES)
    $idLVFiles = GUICtrlCreateListView("Dateiname|In Ordner", 8, 4, 289, 393, BitOR($LVS_SHOWSELALWAYS, $LVS_REPORT))
    GUICtrlSetState(-1, $GUI_DROPACCEPTED)
    $Edit1 = GUICtrlCreateEdit("", 304, 12, 281, 377)
    GUICtrlSetData(-1, "Edit1")
    $idbtnaAdd = GUICtrlCreateButton("&Dateinname in Listview aufnehmen", 4, 416, 200, 25, 0)
    $idbtnClearLV = GUICtrlCreateButton("Listview &öschen", 322, 416, 200, 25, 0)
    GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY") ;reistriert eine eigene WM_Notify-Routine, die bei Doppelklich das lesen der Datei einleitet
    GUIRegisterMsg($WM_DROPFILES, "WM_DROPFILES_FUNC") ;reistriert die W;_DropFiles_Func
    GUISetState(@SW_SHOW)
    #endregion ### END Koda GUI section ###

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE ;prüft auf Schliessen
    Exit
    Case $GUI_EVENT_DROPPED ;Wenn Files gedroppt werden
    _FilesDropped()

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

    Case $idbtnaAdd

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

    $message = "Um mehrere Dateien auszuwählen, ist die Strg-Taste oder die Shift-Taste zu drücken."

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

    $var = FileOpenDialog($message, @MyDocumentsDir & "", "Textdateien (*.txt;*.ini)", 1 + 4)
    If @error Then
    MsgBox(4096, "", "Keine Datei(en) ausgewählt")
    Else
    _GUICtrlListView_BeginUpdate($idLVFiles)
    $aFiles = StringSplit($var, "|")
    If $aFiles[0] > 1 Then ;trifft nur bei Mehrfachauwal zu
    ;$aFiles[0] enthält Anzahl der Strings
    ;$aFiles[1] enthält den Pfad für alle ausgewählten Texte
    ;$aFiles[2] enthält 1. Dateiname
    ;$aFiles[n+1] enthält n. Dateiname

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

    ;Rückgabe des Fileopenialogs in einzzenlne Strings für Array splitten
    ;_ArrayDisplay($aFiles) ;Array anzeigen nur zu Verständnisuwecken evtl. aktivieren

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

    For $i = 2 To $aFiles[0]
    GUICtrlCreateListViewItem($aFiles[$i] & "|" & $aFiles[1], $idLVFiles)
    Next
    Else ;nur eine Datei ausgewählt
    ConsoleWrite($aFiles[1] & @CRLF)
    _PathSplit($aFiles[1], $szDrive, $szDir, $szFName, $szExt)
    GUICtrlCreateListViewItem($szFName & $szExt & "|" & $szDrive & $szDir, $idLVFiles)
    EndIf
    _GUICtrlListView_SetColumnWidth($idLVFiles, 0, $LVSCW_AUTOSIZE)
    ;setzt die 1 Spalte auf die benötigte Breite des längsten Eintrags
    _GUICtrlListView_SetColumnWidth($idLVFiles, 1, 0) ;zweite Spalte versteckt
    _GUICtrlListView_EndUpdate($idLVFiles)
    EndIf
    ; Case $idBtnShow
    ;$aItem = _GUICtrlListView_GetItemTextArray
    ; _ShowEdit($aItem)
    Case $idbtnClearLV
    _GUICtrlListView_DeleteAllItems(GUICtrlGetHandle($idLVFiles))

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

    Case $Edit1
    EndSwitch
    WEnd

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

    Func _ShowEdit($aItem)
    $sFileName = $aItem[2] & "\" & $aItem[1]
    $hFile = FileOpen($sFileName)
    $sEditText = FileRead($hFile)
    FileClose($hFile)
    GUICtrlSetData($Edit1, $sEditText)
    EndFunc ;==>_ShowEdit

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

    Func WM_DROPFILES_FUNC($hWnd, $msgID, $wParam, $lParam)
    ConsoleWrite("WM_DropFiles_Func " & @CRLF)
    Local $nSize, $pFileName
    Local $nAmt = DllCall("shell32.dll", "int", "DragQueryFile", "hwnd", $wParam, "int", 0xFFFFFFFF, "ptr", 0, "int", 255)
    For $i = 0 To $nAmt[0] - 1
    $nSize = DllCall("shell32.dll", "int", "DragQueryFile", "hwnd", $wParam, "int", $i, "ptr", 0, "int", 0)
    $nSize = $nSize[0] + 1
    $pFileName = DllStructCreate("char[" & $nSize & "]")
    DllCall("shell32.dll", "int", "DragQueryFile", "hwnd", $wParam, "int", $i, "ptr", DllStructGetPtr($pFileName), "int", $nSize)
    ReDim $aDropFiles[$i + 1]
    $aDropFiles[$i] = DllStructGetData($pFileName, 1)
    $pFileName = 0
    Next
    _ArrayDisplay($aDropFiles)
    EndFunc ;==>WM_DROPFILES_FUNC

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

    Func _FilesDropped()
    ConsoleWrite("Bin da " & @CRLF)
    Local $szDrive, $szDir, $szFName, $szExt, $split
    _GUICtrlListView_BeginUpdate($idLVFiles)
    For $i = 0 To UBound($aDropFiles) - 1
    $split = _PathSplit($aDropFiles[$i], $szDrive, $szDir, $szFName, $szExt)
    $szExt = StringUpper($szExt)
    ;;consolewrite($aDropFiles[$i] & ", " & $szExt & @CRLF)
    Switch $szExt
    Case ".TXT", ".INI"
    GUICtrlCreateListViewItem($szFName & $szExt & "|" & $szDrive & $szDir, $idLVFiles)
    EndSwitch
    Next
    _GUICtrlListView_SetColumnWidth($idLVFiles, 0, $LVSCW_AUTOSIZE)
    ;setzt die 1 Spalte auf die benötigte Breite des längsten Eintrags
    _GUICtrlListView_SetColumnWidth($idLVFiles, 1, 0) ;zweite Spalte versteckt
    _GUICtrlListView_EndUpdate($idLVFiles)
    EndFunc ;==>_FilesDropped

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

    Func WM_NOTIFY($hWnd, $msgID, $wParam, $lParam)
    Local $tagNMHDR, $event, $hwndFrom, $code, $aItem
    $tagNMHDR = DllStructCreate("int;int;int", $lParam)
    If @error Then Return 0
    $code = DllStructGetData($tagNMHDR, 3)
    If $wParam = $idLVFiles And $code = -3 And _GUICtrlListView_GetSelectedCount($idLVFiles) > 0 Then
    $aItem = _GUICtrlListView_GetItemTextArray($idLVFiles)
    ;;consolewrite($aItem[1] & ", " & $aItem[3] & @CRLF)
    _ShowEdit($aItem)
    EndIf
    Return $GUI_RUNDEFMSG
    EndFunc ;==>WM_NOTIFY

    [/autoit]

    viel Spass damit autoBert

  • hilfe mit registry und runas

    • autoBert
    • 14. September 2010 um 22:09

    Hallo bonehead88,

    Zitat von Hilfe zu runas

    Es ist wichtig, ein Arbeitsverzeichnis anzugeben, für den der Benutzer Zugriffsrechte hat, in dessen Kontext der Prozess ausgeführt wird, anderenfalls schlägt der Aufruf der Funktion RunAs() fehl.

    Zitat von bonehead88

    ps : funktioniert nur mit flag 2 sonst nicht. 0,1,3 geht net, bekomme dieses verhalten nur hin wenn ich flag auf 2 gesetzt hab.


    3 gibt es gar nicht aber 4 hast du anscheinend noch nicht getestet. Des weiteren solltest du nachschauen, ob der Regkey bei dem User ohne Adminrechte eingetragen wird

    mfg autoBert

  • GUICreate mit Flag ähnlich "Task Modal"...

    • autoBert
    • 14. September 2010 um 15:35

    Hallo wischmopp90,

    erstelle deine Initialisieruns-GUI so:

    [autoit]

    $idfrmInit = GUICreate($sProgTitel & " Einstellungen", 300, 275, -1, -1, BitOR($DS_MODALFRAME, $DS_SETFOREGROUND, $WS_SYSMENU), $WS_EX_TOOLWINDOW, $idfrmMain)

    [/autoit]

    dann ist diese immer im Vordergrund.

    Vorsichtshalber solltest du aber trotzdem mit

    [autoit]

    GUISetState(@SW_DISABLE, $idfrmMain)

    [/autoit]

    das Parent-Fenster disablen, da dieses sonst nocht Benutzeraktionen annimmt,

    mfg autoBert

  • woche des jahres in autoit

    • autoBert
    • 14. September 2010 um 03:57

    BugFix ,

    wie du mit diesem kleinen Skript:

    [autoit]

    for $i = 1 to 99
    $x =Random(-99,99,1)
    if mod($x,2) = 0 Then
    ConsoleWrite("Zahl: " & $x & " ist gerade" & @CRLF)
    Else
    ConsoleWrite("Zahl: " & $x & " ist ungerade" & @CRLF)
    EndIf
    Next

    [/autoit]

    testen kannst kommt mod auch mit negativen Zahlen zurecht,

    mfg autoBert

  • Im TabItem einen Button erstellen

    • autoBert
    • 14. September 2010 um 00:05

    Hall Mr_Gitarre,

    zu 1: du musst

    [autoit]

    GuiSwitch

    [/autoit]

    vrwenden, also so:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>
    #include <TabConstants.au3>
    #include <WindowsConstants.au3>
    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Form1", 492, 283, 227, 153)
    $Tab1 = GUICtrlCreateTab(24, 24, 441, 225)
    GUICtrlSetResizing(-1, $GUI_DOCKWIDTH+$GUI_DOCKHEIGHT)
    $TabSheet1 = GUICtrlCreateTabItem("TabSheet1")
    $Button1 = GUICtrlCreateButton("Erstelle neuen Button", 64, 88, 145, 49, $WS_GROUP)
    GUICtrlSetFont(-1, 8, 400, 0, "Arial")
    GUICtrlSetFont(-1, 8, 400, 0, "Arial")
    $TabSheet2 = GUICtrlCreateTabItem("TabSheet2")
    $TabSheet3 = GUICtrlCreateTabItem("TabSheet3")
    GUICtrlCreateTabItem("")
    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
    GUISwitch($Form1,$TabSheet1)
    $Button2 = GUICtrlCreateButton("erstellt", 304, 88, 129, 49, $WS_GROUP)
    GUICtrlCreateTabItem("")
    EndSwitch
    WEnd

    [/autoit]

    zu 2. weis ich slbst (noch) nicht. Ist dies überhaupt sinnvoll, da die einzige sinvolle Aufgabe (das wechseln zu diesem TabItem und anzeigen aller Controls darauf) ja automatisch erledigt wird,

    mfg autoBert

  • Mehrere Ordner auslesen und bearbeiten

    • autoBert
    • 13. September 2010 um 23:08

    Hallo jackunder,

    eine Listview kannst du mit

    [autoit]

    $idDesListViews=GUICtrlCreateListView("Dateiname|InOrdner",$left, $top)

    [/autoit]


    zum einfügen der Daten verwendest du am besten

    [autoit]

    GUICtrlCreateListViewItem"Test.txt|c:\programme\autoit3\test\",$idDesListViews)

    [/autoit]


    Eine Spalte verstecken kannst du indem du die Breite auf 0 setzt:

    [autoit]

    _GUICtrlListView_SetColumnWidth($idDesListViews, $Spalte, 0);1. Spalte =0, 2.Spalte =1 für S$Splate also 1 verwenden für obiges Codeschnipsel

    [/autoit]


    beim auslesen ermittelst du mit

    [autoit]

    $aItem = _GUICtrlListView_GetItemTextArray($idDesListviews)

    [/autoit]

    die Einträge des ausgewählten Items. Achtung $aItem[0] enthält die Anzahl der Spalten, hier also bei 1 anfangen zu zählen,
    Danach kannst du ganz normal mit den Werten aus dem Array $aItem weiter arbeiten, also

    [autoit]

    $f = FileOpen($aItem[2]&$aItem[1], 0)

    [/autoit]

    Ist relativ easy, schau dir die Erklärungen zu den genannten Funktionen in der Hilfe an,

    mfg autoBert

  • woche des jahres in autoit

    • autoBert
    • 13. September 2010 um 22:26

    Hallo alexanderschill,

    Hilfe lesen bildet:

    Spoiler anzeigen
    [autoit='Beispiel aus Hilfe zu mod']

    $n = 18
    If mod($n, 2) = 0 Then
    MsgBox(0,"", $n & " ist eine gerade Zahl.")
    Else
    MsgBox(0, "", $n & " ist eine ungerade Zahl.")
    EndIf

    $x = mod(4, 7) ;$x == 4 weil der Divisor > Dividend ist

    $y = mod(1, 3/4) ;$y == 0.25 weil der Divisor ein Fließkommaformat aufweist

    [/autoit]

    mfg autoBert

  • Mehrere Ordner auslesen und bearbeiten

    • autoBert
    • 13. September 2010 um 21:32

    Hallo Jackunder,

    das liegt daran dass der Pfad zur Datei nicht stimmt, wenn du es so machst stimmt der Pfad:

    Spoiler anzeigen
    [autoit]

    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <GUIListBox.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <File.au3>
    #include <Array.au3>

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

    Dim $array_1
    Global $List1

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

    #region ### START Koda GUI section ### Form=C:\Users\Jack\Desktop\Neuer Ordner (2)\Koda Vorlagen\com.kxf
    $Form1 = GUICreate("test " & IniRead(@ScriptDir & '\version.ini', 'Allgemein', 'Version', ''), 602, 466, 203, 163)
    GUISetBkColor(0x013300)
    $List1 = GUICtrlCreateList("", 144, 4, 185, 409)
    $Edit1 = GUICtrlCreateEdit("", 336, 48, 265, 365)
    GUICtrlSetData(-1, "")
    $Button3 = GUICtrlCreateButton("test3", 4, 52, 137, 25, 0)
    $Button2 = GUICtrlCreateButton("test2", 4, 28, 137, 25, 0)
    $Button1 = GUICtrlCreateButton("test", 4, 4, 137, 25, 0)
    $Button19 = GUICtrlCreateButton("Änderung Speichern", 452, 416, 149, 29, 0)
    $Button21 = GUICtrlCreateButton("Ausgabe Löschen", 148, 416, 149, 29, 0)
    $MenuItem1 = GUICtrlCreateMenu("Hilfe")
    $MenuItem3 = GUICtrlCreateMenuItem("FAQ", $MenuItem1)
    $MenuItem2 = GUICtrlCreateMenuItem("Info...", $MenuItem1)
    GUISetState(@SW_SHOW)
    #endregion ### END Koda GUI section ###

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

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

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

    Case $List1
    $f = FileOpen(GUICtrlRead($List1), 0)
    GUICtrlSetData($Edit1, FileRead($f))
    FileClose($f)

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

    Case $Button1 ; test1
    $textfiles = _FileListToArray(@ScriptDir & "\test", '*.txt')
    $listfiles = ''
    For $i = 1 To UBound($textfiles) - 1
    $listfiles &= @ScriptDir & "\test\" & $textfiles[$i]
    If $i <> UBound($textfiles) - 1 Then $listfiles &= "|"
    Next
    GUICtrlSetData($List1, $listfiles)

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

    Case $Button2 ; test2
    $textfiles = _FileListToArray(@ScriptDir & "\test2", '*.txt')
    $listfiles = ''
    For $i = 1 To UBound($textfiles) - 1
    $listfiles &= @ScriptDir & "\test2\" & $textfiles[$i]
    If $i <> UBound($textfiles) - 1 Then $listfiles &= "|"
    Next
    GUICtrlSetData($List1, $listfiles)

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

    Case $Button3 ; test3
    $textfiles = _FileListToArray(@ScriptDir & "\test3", '*.txt')
    $listfiles = ''
    For $i = 1 To UBound($textfiles) - 1
    $listfiles &= @ScriptDir & "\test3\" & $textfiles[$i]
    If $i <> UBound($textfiles) - 1 Then $listfiles &= "|"
    Next
    GUICtrlSetData($List1, $listfiles)

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

    Case $Button19 ; Änderung Speichern

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

    Case $Button21 ; ListBox löschen
    While _GUICtrlListBox_GetCount($List1) <> 0
    _GUICtrlListBox_DeleteString($List1, 0)
    WEnd

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

    EndSwitch
    WEnd

    [/autoit]

    Ich weiss dass dies nicht unbedingt schön aussieht, deshalb benutze ich für soetwas eine Listview, da kann man die Daten auf mehrere Spalten verteilen und wenn man eine Spalte auf die Breite 0 setzt ist sie für den Anwender nicht zu sehen. So mache ich es z.B. in NeMP3-P (Link siehe Signatur),

    mfg autoBert

  • ID änder sich

    • autoBert
    • 13. September 2010 um 14:20

    Hallo 4Soldier93,

    herzlich willkommen im Forum und viel Spass mit AutoIt.

    Hier kannst du dir die 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 deinen Fragen:

    • gar nicht


      • speichere bei eigenen AutoIt-Skripts die ControlID einfach in einer Variablen
      • bei Fremdprogrammen musst du dafür das AutoIt Fenster-Informations-Tool (AU3Info) benutzen
      • Im OnEventModus kannst du bei eigenen Skripten die aufzurufenden Funcs dirket nach der Ertsellung bei der Zuweisung mit [autoit]GUICtrlSetOnEvent ( controlID, "function" )[/autoit] anstelle der ControllID auch -1 verwenden
      • Im Message-Loop Modus und bei Fremdprogrammen nein

    Warum erstellst du (innerhalb 2 Minuten) das Thema doppelt? Das wird hier gar nicht gerne gesehen,

    mfg autoBert

  • If und Then und dann dies

    • autoBert
    • 13. September 2010 um 00:41

    Hallo goldy,

    schau in meine SIG in meinen NeMP3-P (MP3-Player) mache ich es so ähnlich (nur lese ich keine TXT sondern den Eröffnungspost meines Threads mit _Inetgetsource ein und vergleiche einen Teil der Überschrift mit der Versions-Nr. die ich im Programm hinterlegt habe) Ich glaube aber dir diesen Hinweis schon gegeben zu haben,

    mfg autoBert

  • Zufällige zahl ausgeben

    • autoBert
    • 12. September 2010 um 23:27

    Hallo timiboy,

    ich muss mich wundern, wie man (nach über einem Jahr auf autoit.de) immer noch die Hilfe so ignorieren kann und lieber die einfachsten Fragen hier postet. Da könnte man fast auf die Idee kommen, dass du es nur zu Werbezewecken

    Zitat

    Dein Profil auf [Name entfernt] eröffnet dir eine ganze Welt

    große Community, viele neue Freunde!
    einzigartiges Belohnungssystem!
    aktiv sein, regelmäßig Punkte erhalten

    Mit unseren Punkten kannst Du

    Wünschen und Einkaufen, Helfen und Spielen oder einfach nur Netzwerken.

    machst.
    Solche Links in Signaturen sollten Imho auf diesem Board verboten werden, schliesslich ist es auch werbefrei. Und dass du auch mit bottypische Themen eröffnest bestärkt mich in der Meinung, dass du nur Belohnungspunkte abstauben willst,

    mfg autoBert

    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™