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

  • Wie benutzt man die GUIToolTip - UDF?

    • autoBert
    • 8. Oktober 2009 um 22:12

    Hallo DeepRed92,

    schau dir diesen Beitrag von Prog@ndy an,

    mfg (Auto)Bert

  • Durchsichtige GUI

    • autoBert
    • 8. Oktober 2009 um 22:06

    Hallo MasterOfTime,

    dann stell doch bitte bei deinen gelösten Threads gelöst, einfach eröffnungspost bearbeiten und den Präfix (nähe Überschrift) auf gelöst stellen, danke

    mfg (Auto)Bert

  • INetGet

    • autoBert
    • 8. Oktober 2009 um 21:48

    Hallo manilus,

    da es um die Downloadgeschwindigkeit geht, habe ich das Beispiel angepasst:

    Spoiler anzeigen
    [autoit]

    Global $nKPerSec, $tDiff, $iToDo, $iRTime, $nKBPerSec, $sMSG
    Global $iSize = 86507 ;InetGetSize("http://www.autoit.de") ;siehe Hilfe zu InetgetSize
    InetGet("http://www.autoit.de", @ScriptDir & "\Testdownload.htm", 1, 1)
    Global $tStart = TimerInit()

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

    While @InetGetActive
    If @InetGetBytesRead > 0 Then
    _CalcPerformance()
    TrayTip("downloading", $sMSG, 10, 16)
    EndIf
    Sleep(250)
    WEnd
    If @InetGetBytesRead > -1 Then
    $iSize = @InetGetBytesRead ;damit die Größe für die Endabrechnung stimmt
    _CalcPerformance()
    TrayTip("downloading", $sMSG, 10, 16)
    MsgBox(0, "Download erfolgreich", $sMSG)
    Else
    MsgBox(48, "Fehler", "Download nicht erfolgreich")
    EndIf

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

    Func _CalcPerformance()
    $tDiff = TimerDiff($tStart)
    $iToDo = Round(($iSize - @InetGetBytesRead) / 1024, 2)
    $nKBPerSec = Round(@InetGetBytesRead / $tDiff * 1000 / 1024, 2)
    $iRTime = Round($iToDo / $nKBPerSec, 0)
    $sMSG = "Bytes = " & @InetGetBytesRead & @CRLF & "KB/s = " & $nKBPerSec & @CRLF
    If @InetGetActive Then
    $sMSG = $sMSG & "verbleibende Zeit = " & $iRTime
    Else
    $sMSG = $sMSG & "benötigte Zeit = " & Round($tDiff / 1000, 2)
    EndIf
    EndFunc ;==>_CalcPerformance

    [/autoit]

    Edit: kalkulierte Restdauer für Download eingefügt

    mfg (Auto)Bert

  • hilfe pfad sortieren klappt nicht

    • autoBert
    • 8. Oktober 2009 um 14:43

    Hallo doni_darco,

    hier ein Skript dass die Files in ein 2D-Array einliest

    Spoiler anzeigen
    [autoit]

    #include <File.au3>
    #include <String.au3>
    #include <Array.au3>
    #include <GUIConstants.au3>

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

    Dim $arFiles[1][2]

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

    #cs ;<=============== wieder aktivieren

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

    $search = FileFindFirstFile("C:\Dokumente und Einstellungen\All Users\Dokumente\downloads\FNWeb\*.pdf")

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

    ; Check if the search was successful
    If $search = -1 Then
    MsgBox(0, "Error", "No files/directories matched the search pattern")
    Exit
    EndIf

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

    $i = 0
    While 1

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

    $file = FileFindNextFile($search)
    If @error Then ExitLoop
    $i= $i + 1
    _ArrayAdd($arFiles,$file)
    _createDateStr($arFiles[$i][0],$i)
    WEnd

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

    FileClose($search)

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

    #ce

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

    ;zum Testen eingefügt wieder löschen
    Dim $arFiles[11][2]
    $arFiles[1][0] = 'DVDpro4.0P_02.10.2009_DVD1'
    $arFiles[2][0] = 'DVDpro3.9P_06.10.2009'
    $arFiles[3][0] = 'DVDpro3.9P_05.10.2009'
    $arFiles[4][0] = 'DVDpro4.0P_02.10.2009_DVD2'
    $arFiles[5][0] = 'DVDpro3.9P_02.10.2009'
    $arFiles[6][0] = 'DVD38pro_05.10.2009'
    $arFiles[7][0] = 'DVD38pro_06.10.2009'
    $arFiles[8][0] = 'DVD38pro_02.10.2009'
    $arFiles[9][0] = 'DVD38pro_01.10.2009'
    $arFiles[10][0] = 'DVDpro3.9P_01.10.2009'
    _ArrayDisplay($arFiles)

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

    For $i = 1 To 10 ;UBound($arFiles)
    _createDateStr($arFiles[$i][0], $i)
    Next
    ;bis hier hier

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

    Func _createDateStr($FileName, $ai)
    Local $pos, $sVergleich = $FileName, $iCount
    StringReplace($FileName, ".", ".")
    $iCount = @extended
    Switch $iCount
    Case 3
    $pos = StringInStr($FileName, ".", 0, 2)
    Case 2
    $pos = StringInStr($FileName, ".", 0, 1)
    EndSwitch
    ConsoleWrite($i & " Count: " & $iCount & " pos: " & $pos & @CRLF)
    $iTag = StringMid($FileName, $pos - 2, 2)
    $iMonat = StringMid($FileName, $pos + 1, 2)
    $iJahr = StringMid($FileName, $pos + 4, 4)
    $iNr = StringMid($FileName, $pos + 8, 99)
    $arFiles[$ai][1] = $iJahr & $iMonat & $iTag & $iNr
    EndFunc ;==>_createDateStr
    _ArraySort($arFiles, 0, 0, 0, 1)
    _ArrayDisplay($arFiles)

    [/autoit]

    Durch die 2 Spalte kann jetzt problemlos ArraySort verwendet werden (ausser du hast noch mehr Ausnahmen, dann musst du diese in _createDateStr noch einfügen)

    mfg (Auto)Bert

  • Windows Sounds aktivieren

    • autoBert
    • 8. Oktober 2009 um 00:11

    Hallo saitek,

    benutze mal die Sufu, ich galube Micha_he (und) oder Oscar haben soetwas schon einmal gemacht,

    mfg (Ato)Bert

  • Wenn das Fenster nicht kommt, weiter....

    • autoBert
    • 8. Oktober 2009 um 00:03

    Hallo Dino,

    den WinWait solltest du mit dem 3. (TimeOut-)Parameter benutzen:

    Zitat

    timeout [optional] Maximale Unterbrechungsdauer nach der fortgefahren wird, auch wenn das Fenster noch nicht existiert.

    . Den ControlClick führst du dann nur aus wenn das Fenster nicht existiert, also:

    [autoit]

    If not (WinExists ("Schwerwiegend","Unable to find Micro")) then ControlClick("Schwerwiegend", "","Button1")

    [/autoit]

    Du musst das Skript noch testen (Online erstellt),

    mfg (Auto)Bert

  • Dircopy & Filecopy

    • autoBert
    • 7. Oktober 2009 um 23:46

    Hallo alex2801,

    ich habe die 2 Zeilen mal getestet, sie funktionieren. Die Gui in der du kopierst reagiert auf keinen Button, funktioniert aber StandAlone (ausgeschnitten und getestet), bin noch am suchen, editiere diesen Post wenn ich es finde, so funktioniet das Skript:

    Spoiler anzeigen
    [autoit]

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

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

    AutoIt Version: 3.3.0.0
    Author: Alex2801

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

    Script Function:
    install AutoIt script.

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

    #ce ----------------------------------------------------------------------------

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

    #include <GUIConstantsEx.au3>
    #include <IE.au3>
    #include <WindowsConstants.au3>
    schritt1()

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

    Func schritt1()
    GUICreate("lan Setup", 500, 400)
    GUICtrlCreateLabel("Um lan zu Installieren klicken sie auf Weiter", 30, 10)
    $weiterbutton = GUICtrlCreateButton("Weiter", 360, 365, 60)
    $abbrechenbutton = GUICtrlCreateButton("Abbrechen", 430, 365, 60)
    GUISetState(@SW_SHOW)

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

    While 1
    $msg = GUIGetMsg()

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

    Select
    Case $msg = $weiterbutton
    GUISetState(@SW_HIDE)
    schritt2()
    ExitLoop
    Case $msg = $abbrechenbutton
    $close = MsgBox(4, "Schliessen", "Möchtest du wirklich schliessen?")
    If $close <> 7 Then
    Exit
    EndIf
    Case $msg = $GUI_EVENT_CLOSE
    $close = MsgBox(4, "Schliessen", "Möchtest du wirklich schliessen?")
    If $close <> 7 Then
    Exit
    EndIf
    ExitLoop
    EndSelect
    WEnd
    EndFunc ;==>schritt1

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

    Func schritt2()

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

    GUICreate("lan Setup", 500, 400)
    GUICtrlCreateLabel("Lizens", 30, 10)
    GUICtrlCreateLabel("Das Programm ist unter der GNU GPL Lizensiert.", 30, 30)
    GUICtrlCreateLabel("bla", 30, 45)
    $exitbutton = GUICtrlCreateButton("n. Akzeptieren", 270, 365, 80)
    $weiterbutton = GUICtrlCreateButton("Akzeptieren", 360, 365, 60)
    $abbrechenbutton = GUICtrlCreateButton("Abbrechen", 430, 365, 60)
    GUISetState(@SW_SHOW)

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

    While 1
    $msg = GUIGetMsg()

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

    Select
    Case $msg = $weiterbutton
    GUISetState(@SW_HIDE)
    schritt3()
    ExitLoop
    Case $msg = $abbrechenbutton
    $close = MsgBox(4, "Schliessen", "Möchtest du wirklich schliessen?")
    If $close <> 7 Then
    Exit
    EndIf
    Case $msg = $exitbutton
    $close = MsgBox(4, "Schliessen", "Möchtest du wirklich schliessen?")
    If $close <> 7 Then
    Exit
    EndIf
    Case $msg = $GUI_EVENT_CLOSE
    $close = MsgBox(4, "Schliessen", "Möchtest du wirklich schliessen?")
    If $close <> 7 Then
    Exit
    EndIf
    EndSelect
    WEnd
    EndFunc ;==>schritt2

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

    Func schritt3()
    GUICreate("lan Setup", 500, 400)
    GUICtrlCreateLabel("Führen sie Schritt 1 bis 4 aus, um das System Funktionsfähig zu installieren.", 30, 10)
    $weiterbutton = GUICtrlCreateButton("Weiter", 360, 365, 60)
    $abbrechenbutton = GUICtrlCreateButton("Abbrechen", 430, 365, 60)
    $schritt1button = GUICtrlCreateButton("Schritt 1", 260, 200, 60)
    $schritt2button = GUICtrlCreateButton("Schritt 2", 320, 200, 60)
    $schritt3button = GUICtrlCreateButton("Schritt 3", 380, 200, 60)
    $schritt4button = GUICtrlCreateButton("Schritt 4", 440, 200, 60)
    GUISetState(@SW_SHOW)

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

    While 1
    $msg = GUIGetMsg()

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

    Select
    Case $msg = $schritt1button
    #cs
    Run("ts.exe")
    WinWaitActive("Setup - TeamSpeak 2 Server", "Welcome to the TeamSpeak 2")
    Send("!n")
    WinWaitActive("Setup - TeamSpeak 2 Server", "License Agreement")
    Send("!a")
    Send("!n")
    WinWaitActive("Setup - TeamSpeak 2 Server", "Select Destination Location")
    Send("C:/lan/teamspeakserver")
    Send("!n")
    WinWaitActive("Setup - TeamSpeak 2 Server", "Select Start Menu Folder")
    Send("!n")
    WinWaitActive("Setup - TeamSpeak 2 Server", "Select Additional Tasks")
    Send("!n")
    WinWaitActive("Setup - TeamSpeak 2 Server", "Ready to Install")
    Send("!i")
    WinWaitActive("Setup - TeamSpeak 2 Server", "Information")
    Send("!n")
    WinWaitActive("Setup - TeamSpeak 2 Server", "Completing the TeamSpeak 2 Server Setup Wizard")
    Send("!f")
    MsgBox(0, "Ts Install", "Fertig!")
    MsgBox(0, "Ts", "Bitte logge dich nun mit den folgenden Superadmin daten im gleich öffnenden fenster ein, und nehme die einstellungen vor!")
    $oIE = _IECreate("http://127.0.0.1:14534/slogin.html")
    #ce
    Case $msg = $schritt2button
    ConsoleWrite("Filecopy" & @CRLF)

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

    DirCopy(@MyDocumentsDir & "\xampplite", "C:\lan")
    Case $msg = $schritt3button
    $FileName = "C:\lan\xampplite\htdocs\ts.html" ;Hier muss der Name der Datei rein

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

    $Open = FileOpen($FileName, 0) ;Datei im Lesemodus öffnen!
    $Text = FileRead($Open)
    $NewText = StringReplace($Text, "127.0.0.1", @IPAddress1)
    FileClose($Open)

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

    $Open = FileOpen($FileName, 2) ;Datei im Schreibmodus öffnen!
    FileWrite($FileName, $NewText)
    MsgBox(0, "Schreiben", "Fertig")
    FileClose($Open)
    Case $msg = $weiterbutton
    GUISetState(@SW_HIDE)
    schritt4()
    ExitLoop
    Case $msg = $schritt4button
    ConsoleWrite("Dircopy" & @CRLF)
    FileCopy(@MyDocumentsDir & "\control.exe", "C:\lan")
    Case $msg = $abbrechenbutton
    $close = MsgBox(4, "Schliessen", "Möchtest du wirklich schliessen?")
    If $close <> 7 Then
    Exit
    EndIf
    Case $msg = $GUI_EVENT_CLOSE
    $close = MsgBox(4, "Schliessen", "Möchtest du wirklich schliessen?")
    If $close <> 7 Then
    Exit
    EndIf
    ExitLoop
    EndSelect
    WEnd
    EndFunc ;==>schritt3

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

    Func schritt4()
    GUICreate("lan Setup", 500, 400)
    GUICtrlCreateLabel("Setup ist Fertig, um abzuschließen bitte auf Beenden Klicken", 30, 10)
    $weiterbutton = GUICtrlCreateButton("Beenden", 360, 365, 60)
    $abbrechenbutton = GUICtrlCreateButton("Abbrechen", 430, 365, 60)
    GUISetState(@SW_SHOW)

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

    While 1
    $msg = GUIGetMsg()

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

    Select
    Case $msg = $weiterbutton
    Exit
    Case $msg = $abbrechenbutton
    $close = MsgBox(4, "Schliessen", "Möchtest du wirklich schliessen?")
    If $close <> 7 Then
    Exit
    EndIf
    Case $msg = $GUI_EVENT_CLOSE
    $close = MsgBox(4, "Schliessen", "Möchtest du wirklich schliessen?")
    If $close <> 7 Then
    Exit
    EndIf
    ExitLoop
    EndSelect
    WEnd
    EndFunc ;==>schritt4

    [/autoit]

    Den TS (der den Fehler verursacht) habe ich auskommentiert,

    mfg (Auto)Bert

  • GUI bei sleep außer Funktion

    • autoBert
    • 7. Oktober 2009 um 20:12

    Hallo dragon_killer,

    im OnEventMode funktionierst einfacher:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>
    Opt('GuiOnEventMode', 1)
    GUICreate("Test")

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

    $iniFilename = @ScriptDir & "\settings.ini"

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

    $windowInput = GUICtrlCreateInput(IniRead($iniFilename, "settings", "window", ""), 50, 20)
    GUISetOnEvent($GUI_EVENT_CLOSE, '_Terminate')
    $keys = GUICtrlCreateInput(IniRead($iniFilename, "settings", "keys", ""), 50, 50)
    $startTime = GUICtrlCreateInput(IniRead($iniFilename, "settings", "startTime", ""), 50, 80)
    $endTime = GUICtrlCreateInput(IniRead($iniFilename, "settings", "endTime", ""), 50, 110)
    $controlInput = GUICtrlCreateInput(IniRead($iniFilename, "settings", "control", ""), 50, 140)
    $startButton = GUICtrlCreateButton("Start", 5, 5)
    GUICtrlSetOnEvent($startButton, '_Start')
    $endButton = GUICtrlCreateButton("Stop", 5, 50)
    GUICtrlSetOnEvent($startButton, '_End')
    $status = GUICtrlCreateLabel("Nicht gestartet", 100, 200)
    $started = False
    $wait = 0

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

    $a = GUICtrlCreateButton("Sadsf", 200, 200)
    GUICtrlSetOnEvent($startButton, '_A')
    GUISetState()

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

    While 1
    If $started = True Then
    ; ControlSend(GUICtrlRead($windowInput), "", GUICtrlRead($controlInput), GUICtrlRead($keys))
    $wait = Random(GUICtrlRead($startTime), GUICtrlRead($endTime)) * 1000
    If $wait <> 0 Then
    Sleep($wait)
    EndIf
    MsgBox(0, "Send", "Test", 5)
    EndIf
    WEnd

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

    Func _Terminate()
    Exit
    EndFunc ;==>_Terminate

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

    Func _Start()
    $started = True
    GUICtrlSetData($status, "Gestartet")
    EndFunc ;==>_Start

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

    Func _End()
    MsgBox(0, "b", "b")
    $started = False
    GUICtrlSetData($status, "Nicht Gestartet")
    EndFunc ;==>_End

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

    Func _A()
    MsgBox(0, "a", "a")
    EndFunc ;==>_A

    [/autoit]

    Die Messages werden alle der Reihe nach behandelt, das heisst du musst dann auch warten bis der Sleep abgelaufen ist, aber die func wird danach ausgeführt

    mfg (Auto)Bert

  • Button drücken

    • autoBert
    • 7. Oktober 2009 um 19:33

    Hallo Mrx007,
    dazu musst du doch nur den Wahrheitswert mit not negieren:

    [autoit]

    If not (FileExists("C:\autoexecME.bat")) Then MsgBox(4096, "Datei C:\autoexecME.bat", "Existiert nicht")

    [/autoit]

    mfg (Auto)Bert

  • Skript performanter gestalten

    • autoBert
    • 6. Oktober 2009 um 17:11

    Hallo apocsis,

    schau dir mal SIC2 (System Information Collector 2 - sammelt Information auch von Remote Systemen)'von UEZ an, vielleicht hilft dir das ja weiter,

    mfg (Auto)Bert

  • Combobox Problem (zulange Phade)

    • autoBert
    • 6. Oktober 2009 um 15:33

    Hallo skar,

    das wäre z.B. eine Möglichkeit:

    Spoiler anzeigen
    [autoit]

    ;#include <GuiComboBox.au3>
    #include <ComboConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>

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

    #include <File.au3>

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

    Const $sElect = "bitte ein Programm auswählen"

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

    #Region ### START Koda GUI section ### Form=
    $hGui = GUICreate("Combobox mit INI ", 250, 160, 302, 218)
    $hcboProg = GUICtrlCreateCombo($sElect, 8, 8, 200, 25)
    $hlblPfad = GUICtrlCreateLabel("", 8, 35, 200, 50)
    ;$hbtnOpen = GUICtrlCreateButton("&Öffnen", 8, 85)
    GUICtrlSetState($hbtnOpen, $GUI_DISABLE)

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

    $sData = "Notepad=c:\irgendwo auf der Fetplatte\in diesem UnterOrder noch nicht\Aber in diesem" & @LF & "FireFox=c:\irgendwoanders auf der Fetplatte\in diesem UnterOrder" & @CRLF & "Ineternet-Explorer=c:\irgendwo auf der Fetplatte\in diesem UnterOrder befindet sich es"
    IniWriteSection(@ScriptDir & "\MeinIniFile.INI", "Programme", $sData)
    $list1 = IniReadSection(@ScriptDir & "\MeinIniFile.INI", "Programme")
    ConsoleWrite($list1 & @CRLF)
    For $i = 1 To $list1[0][0]
    GUICtrlSetData($hcboProg, $list1[$i][0])
    Next

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

    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $hcboProg
    If GUICtrlRead($hcboProg) = $sElect Then
    GUICtrlSetState($hbtnOpen, $GUI_DISABLE)
    GUICtrlSetData($hlblPfad, "")
    Else
    GUICtrlSetState($hbtnOpen, $GUI_ENABLE)
    $Prog = GUICtrlRead($hcboProg)
    $Pfad = IniRead(@ScriptDir & "\MeinIniFile.INI", "Programme",$Prog,"")
    GUICtrlSetData($hlblPfad, $Pfad & "\" & $Prog)
    EndIf
    EndSwitch
    WEnd

    [/autoit]

    Edit: Falls ein Thema gelöst ist, dann stell doch bitte auch den Präfix (nähe Überschrift im Eröffnungspost) auf gelöst
    mfg (Auto)Bert

  • Ein Fortschrittsbalken (Progress richtig einsetzten)

    • autoBert
    • 6. Oktober 2009 um 11:44

    Hallo Moritz,

    z.B.: so

    Spoiler anzeigen
    [autoit][/autoit]

    #include <GUIConstantsEx.au3>
    #include <ProgressConstants.au3>

    Opt('MustDeclareVars', 1)

    Example()

    Func Example()
    Local $progressbar1, $button, $wait, $s, $msg, $m

    GUICreate("My GUI Progressbar", 220, 100, 100, 200)
    $progressbar1 = GUICtrlCreateProgress(10, 10, 200, 20)
    GUICtrlSetColor(-1, 32250); not working with Windows XP Style
    $button = GUICtrlCreateButton("Start", 75, 70, 70, 20)
    GUISetState()
    Do
    $msg = GUIGetMsg()
    If $msg = $button Then
    GUICtrlDelete($button)
    ; If BitAND(GUICtrlRead($checkCN_1), $GUI_CHECKED) Then Local $folder = FileSelectFolder("DotNetFrameworkPacket Kopieren unter", "", 5, "D:\UNINST\Software")
    ; If BitAND(GUICtrlRead($checkCN_1), $GUI_CHECKED) Then DirCopy("E:\AUTO\WindowsXP\InternetExplorer8-12052009", $folder & "\DotnetFrameworkPacket", 1)
    GUICtrlSetData($progressbar1, 33)
    Sleep(Random(2000, 8000))

    ; If BitAND(GUICtrlRead($checkCN_2), $GUI_CHECKED) Then Local $folder1 = FileSelectFolder("AcrobatReader9.1 Kopieren unter", "", 5, "D:\UNINST\Software")
    ; If BitAND(GUICtrlRead($checkCN_2), $GUI_CHECKED) Then DirCopy("E:\AUTO\WindowsXP\InternetExplorer8-12052009", $folder1 & "\AcrobatReader9.1", 1)
    GUICtrlSetData($progressbar1, 66)
    Sleep(Random(2000, 8000))

    ; If BitAND(GUICtrlRead($checkCN_3), $GUI_CHECKED) Then Local $folder2 = FileSelectFolder("InternetExplorer8 Kopieren unter", "", 5, "D:\UNINST\Software")
    ; If BitAND(GUICtrlRead($checkCN_3), $GUI_CHECKED) Then DirCopy("E:\AUTO\WindowsXP\InternetExplorer8-12052009", $folder2 & "\InternetExplorer8", 1) EndIf
    GUICtrlSetData($progressbar1, 100)
    MsgBox(0, "", "Bin fertig!")
    Exit
    EndIf
    Until $msg = $GUI_EVENT_CLOSE
    EndFunc ;==>Example

    da du nur einen Codeschnipsel gepostet hast musst du es dir noch anpassen,

    mfg (Auto)Bert

  • unabhängige Treeviews in Tabs

    • autoBert
    • 5. Oktober 2009 um 22:55

    Hallo fuxxx,

    schau dir einfach einmal dieses Skript an:

    Spoiler anzeigen
    [autoit]

    #include <WindowsConstants.au3>
    #include <GUIConstants.au3>
    #include <guitab.au3>
    #include <guitreeview.au3>

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

    Opt('GUIOnEventMode', 1)
    Opt('MustDeclareVars', 1)

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

    Global $hGui, $hTab, $hbtnInsTab, $hbtnNewTabItem, $hbtnOK, $hTabGui[10], $hnewTree[10], $nextTabID = 0, $aktTabID = -1

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

    $hGui = GUICreate("Multiple TABs", 520, 250, -1, -1, BitOR($WS_MINIMIZEBOX, $WS_MAXIMIZEBOX, $WS_SIZEBOX));BitOr($GUI_SS_DEFAULT_GUI,$WS_CLIPSIBLINGS))
    GUISetOnEvent($GUI_EVENT_CLOSE, '_End')
    $hTab = GUICtrlCreateTab(5, 5, 510, 25)
    GUICtrlSetResizing(-1, $GUI_DOCKLEFT + $GUI_DOCKTOP + $GUI_DOCKHEIGHT)
    GUICtrlSetOnEvent(-1, '_SwitchTab')
    $hbtnInsTab = GUICtrlCreateButton("Neuer Tab", 40, 200, 70, 20)
    GUICtrlSetResizing(-1, $GUI_DOCKLEFT + $GUI_DOCKBOTTOM + $GUI_DOCKSIZE)
    GUICtrlSetOnEvent(-1, 'InsertTab')
    $hbtnNewTabItem = GUICtrlCreateButton("&Neues TabItem", 150, 200, 70, 20)
    GUICtrlSetResizing(-1, $GUI_DOCKLEFT + $GUI_DOCKBOTTOM + $GUI_DOCKSIZE)
    GUICtrlSetOnEvent(-1, 'NewItem')
    ;GUICtrlSetState(-1,$GUI_HIDE)
    $hbtnOK = GUICtrlCreateButton("Be&enden", 350, 200, 70, 20)
    GUICtrlSetResizing(-1, $GUI_DOCKLEFT + $GUI_DOCKBOTTOM + $GUI_DOCKSIZE)
    GUICtrlSetOnEvent(-1, '_End')
    GUISetState()
    GUIRegisterMsg($WM_SIZE, 'WM_SIZE')
    GUISetState()
    While 1
    Sleep(125)
    WEnd

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

    Func _End()
    Exit
    EndFunc ;==>_End

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

    Func _SwitchTab()
    Local $i = _GUICtrlTab_GetCurSel($hTab)
    If $aktTabID = -1 Then $aktTabID = 0
    ConsoleWrite($i & @CRLF)
    GUISetState(@SW_HIDE, $hTabGui[$aktTabID])
    GUISetState(@SW_SHOW, $hTabGui[$i])
    $aktTabID = $i
    EndFunc ;==>_SwitchTab

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

    Func InsertTab()
    ConsoleWrite($nextTabID & @CRLF)
    _GUICtrlTab_InsertItem($hTab, $nextTabID, "Tab " & $nextTabID)
    $hTabGui[$nextTabID] = GUICreate("", 500, 150, 10, 25, BitOR($WS_CHILD, $WS_TABSTOP), -1, $hGui)
    GUISetBkColor(0xff0000)
    Size_TabGui($nextTabID)
    GUISetState()
    GUISwitch($hTabGui[$nextTabID])
    $hnewTree[$nextTabID] = GUICtrlCreateTreeView(5, 5, 490, 140)
    ;GUICtrlSetResizing(-1, $GUI_DOCKLeft + $GUI_DOCKBOTTOM + $GUI_DOCKRIGHT + $GUI_DOCKTOP)
    GUICtrlCreateTreeViewItem("Tree" & $nextTabID & " Item 1", $hnewTree[$nextTabID])
    GUICtrlCreateTreeViewItem("Tree" & $nextTabID & " Item 2", $hnewTree[$nextTabID])
    If $aktTabID > -1 Then GUISetState(@SW_HIDE, $hTabGui[$aktTabID])
    _GUICtrlTab_SetCurFocus($hTab, $nextTabID)
    GUISetState($GUI_SHOW, $hTabGui[$nextTabID])
    $aktTabID = $nextTabID
    $nextTabID = $nextTabID + 1
    ;GUICtrlSetState($hbtnInsTab,$GUI_SHOW)
    EndFunc ;==>InsertTab

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

    Func NewItem()
    GUICtrlCreateTreeViewItem("Tree" & $aktTabID & " Item " & random(3,20,1), $hnewTree[$aktTabID])
    EndFunc

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

    Func WM_SIZE($hWnd, $iMsg, $iWParam, $iLParam)
    Local $i
    For $i = 0 To $nextTabID - 1
    Size_TabGui($i)
    Next
    EndFunc ;==>WM_SIZE

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

    Func Size_TabGui($i)
    Local $aMGPos
    $aMGPos = WinGetClientSize($hGui)
    WinMove($hTabGui[$i], "", 5, 25, $aMGPos[0] - 10, $aMGPos[1] - 60)
    GUICtrlSetPos($hnewTree[$i],5, 5, $aMGPos[0]-20, $aMGPos[1] - 70)
    EndFunc ;==>Size_TabGui

    [/autoit]

    nicht die eleganteste Lösung um dynamisch Tabs, TreeViews und TreeViewItems zu erzeugen aber es sollte dir weiter helfen,

    mfg (Auto)Bert

  • Html datei bestimmter teil ändern

    • autoBert
    • 5. Oktober 2009 um 22:05

    Hallo alex2801,

    fileopen hat unterschiedliche Parameter für Lese- / Schreibzugriff, schau dir mal Post #5 an,

    mfg (Auto)Bert

  • Html datei bestimmter teil ändern

    • autoBert
    • 5. Oktober 2009 um 21:59

    Hallo Alex2801,

    du must die Datei einlesen, mit Stringreplace manipulieren und danach wieder speichern.

    Spoiler anzeigen
    [autoit]

    $datei = FileOpen("C:\xampplite\htdocs\ts.html", 0)

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

    ; Überprüfe ob die Datei geöffnet werden konnte
    If $datei = -1 Then
    MsgBox(0, "Error", "Konnte Datei nicht öffnen.")
    Exit
    EndIf
    $text=FileRead($datei)
    $neu = stringreplace($text,"127.0.0.1",@IPAddress1)
    FileClose($datei)

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

    $file = FileOpen("C:\xampplite\htdocs\ts.html", 1)

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

    ; Prüfen, ob Datei im Schreibmodus geöffnet ist
    If $file = -1 Then
    MsgBox(0, "Fehler", "Die Ausgabe-Datei konnte nicht geöffnet werden.")
    Exit
    EndIf

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

    FileWrite($file, $neu)
    FileClose($file)

    [/autoit]

    MFG (Auto)Bert

  • Fenster-Focus

    • autoBert
    • 5. Oktober 2009 um 21:47

    Hallo wischmopp90,

    wichtig ist auch der Parameter Parent bei GuiCreate , schau dir mal Funktion zur Osterberechnung jetzt als UDF und modalem Meldungsfenster'] da habe ich diese Technik angewendet,

    mfg (Auto)Bert

  • Bild in GUI per Maus verschieben

    • autoBert
    • 5. Oktober 2009 um 20:39

    Hallo Icynator,

    so z.B.:

    Spoiler anzeigen
    [autoit]

    ; *** Start added by AutoIt3Wrapper ***
    #include <StaticConstants.au3>
    ; *** End added by AutoIt3Wrapper ***
    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_Add_Constants=n
    #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
    #include <ListviewConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <SliderConstants.au3>
    #Include <GuiListView.au3>
    #Include <Array.au3>
    #Include <File.au3>
    #Include <Misc.au3>

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

    Opt("GUIOnEventMode", 1)
    ;Global $posXStart, $posYStart, $posXStop, $posYStop, $pic, $hGui, $Pos_M2 = MouseGetPos()

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

    $hGUI = GUICreate("Transparent", 575, 510)
    GUISetOnEvent($GUI_EVENT_CLOSE, "_Ex")
    $insert = GuiCtrlCreateButton("Insert Pic" ,10,10)
    GuiCtrlSetOnEvent(-1, "_insert")
    $Pic=GUICtrlCreatePic("", 50, 50)
    GuiCtrlSetOnEvent(-1, "_DragMe")
    $hsplitter1 = GUICtrlCreateLabel("",270, 125, 8, 205,-1,$SS_BLACKFRAME)
    ;GUICtrlSetColor(-1,0xffffff)
    ;GUICtrlSetResizing(-1, $GUI_DOCKLEFT +$GUI_DOCKSIZE + $GUI_DOCKTOP)
    GUICtrlSetOnEvent($hsplitter1,"_DragMe")

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

    GUISetState(@SW_SHOW)

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

    While 1
    sleep(100)
    WEnd

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

    Func _insert()
    GuiCtrlDelete($pic)
    $bild = FileOpenDialog("Wählen Sie eine Datei aus!", @WindowsDir & "\", "Bilder (*.jpg;*.bmp)", 1 + 4 )
    $Pic = GUICtrlCreatePic($bild, 150, 150)
    GuiCtrlSetOnEvent(-1, "_DragMe")
    EndFunc

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

    Func _DragMe() ;Orginal zum verschieben von 1 Bild von ChaosKeks
    Local $Pos_C, $Pos_M, $Pos_M2, $Opt_old
    Local $dll = DllOpen("user32.dll")
    $Opt_old = Opt('MouseCoordMode', 0)
    $Pos_C = ControlGetPos($hGui, "", @GUI_CtrlId);$pic)
    $Pos_M = MouseGetPos()
    $Pos_W = WinGetPos($hGui)
    $x_Offset = $Pos_M[0] - $Pos_C[0]
    $y_Offset = $Pos_M[1] - $Pos_C[1]
    _MouseTrap($Pos_W[0]+$x_Offset,$Pos_W[1]+$y_Offset,$Pos_W[0]+$Pos_W[2],$Pos_W[1]+$Pos_W[3])
    While _IsPressed('01', $dll)
    $Pos_M = MouseGetPos()
    If $Pos_M <> $Pos_M2 Then
    GUICtrlSetPos(@GUI_CtrlId,$Pos_M[0] - $x_Offset, $Pos_M[1] - $y_Offset)
    sleep(10)
    EndIf
    $Pos_M = $Pos_M2
    sleep(50)
    WEnd
    DllClose($dll)
    Opt('MouseCoordMode', $Opt_old)
    _MouseTrap()
    EndFunc

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

    Func _Ex()
    Exit
    EndFUnc

    [/autoit]

    Viel Spaß damit ;)

    mfg (Auto)Bert

  • Combobox, Letzter inhalt abspeichern, Ideen gesucht

    • autoBert
    • 5. Oktober 2009 um 13:20

    Hallo Skar,

    schau dir in der Hilfe IniWriteSection und IniReadSection bzw. IniWrite und IniRead an, GuiCtrlSetData benötigst du auc noch,

    mfg (Auto)Bert

  • Wie finde ich raus, ob eine Variable eine IP ist?

    • autoBert
    • 4. Oktober 2009 um 23:18

    Hallo Jonathan,

    das einfachste wäre es erst gar keine anderen Eingaben zuzulassen, dafür gibt es _GUICtrlIpAddress_Create (erzeugt ein GUI zu Eingabe einer IP-Adresse) schau dir einfach die Hilfe dazu an,

    mfg (Auto)Bert

  • Charakter Planner Hilfe

    • autoBert
    • 4. Oktober 2009 um 22:13

    Hallo razor09

    lies dir mal die Forenregeln durch,

    mfg (Auto)Bert

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™