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

  • Gescheite GUI für meine Aufgabenstellung

    • autoBert
    • 3. Oktober 2009 um 01:24

    Hallo Bullz,

    Zitat von Bullz

    Habe das Tutorial durchgelesen mit den 2 verschiedenen Arten wie man eine GUI schreiben kann etc... mein Problem ist, ich weiß nicht was ich will.

    entscheide dich für einen der beiden Modi. Bei größeren Pojekten (mehrere Guis) würde ich dir allerdings zum On Event Modus raten

    Zitat von Bullz

    Jetzt hätte ich gern eine GUI, bei der ich auswählen ( keine Ahnung ob pull down menü und was es da alles gibt ) bei der ich angeben kann, welche der While schleifen er erledigen soll. Dann noch auf einen Start Knopf drücken und schon tut er die gewählten While Schleifen abarbeiten. Nacheinander...

    Schau dir GuiCreate, GuiCtrlCreateCheckBox und GuiCtrlCreateButton in der Hilfe an, danach solltest du das Problem alleine in den Griff bekommen,

    mfg (Auto)Bert

  • Rechnung gib an einer stelle falsches regebnis aus????

    • autoBert
    • 3. Oktober 2009 um 00:54

    Hallo kleiner27,

    an deiner Stelle würde ich die func _Wochentag so abändern:

    [autoit]

    Func _Wochentag();-----------------------------------------------------------------------------------------------------------------aktualisieren Plus
    $j = _DateDaysInMonth(GUICtrlRead($jahr),GUICtrlRead($monatzahl))
    ConsoleWrite($j & @CRLF)
    GUICtrlSetData($monataus, _getmonatwahl(GUICtrlRead($monatzahl)))
    For $i = 0 To 30
    if $i < $j then
    GUICtrlSetData($arTage[$i][1], _getwochwntag(_DateToDayOfWeek(GUICtrlRead($jahr), GUICtrlRead($monatzahl), GUICtrlRead($arTage[$i][0]))))
    GUICtrlSetState($aschTage[$i][0],$Gui_Enable)
    GUICtrlSetState($aschTage[$i][1],$Gui_Enable)
    Else
    GUICtrlSetData($arTage[$i][1], "")
    GUICtrlSetState($aschTage[$i][0],$Gui_Disable)
    GUICtrlSetState($aschTage[$i][1],$Gui_Disable)
    EndIf
    Next
    _Schaltjahr()
    EndFunc ;==>_Wochentag

    [/autoit]

    hat zwar nichts mit dem Rechenproblem zu tun, aber das hast du ja anders gelöst,

    mfg (Auto)Bert

  • Gui Einträge umwandeln

    • autoBert
    • 2. Oktober 2009 um 23:57

    Hallo tak,

    dein Skript lässt sich nicht starten:

    Spoiler anzeigen
    Code
    C:\Programme\AutoIt3\Examples\Tests\TBirthday.au3(38,24) : WARNING: $ausnahmen: possibly used before declaration.
        If $msg=$ausnahmen Then
    ~~~~~~~~~~~~~~~~~~~~~~~^
    C:\Programme\AutoIt3\Examples\Tests\TBirthday.au3(38,24) : ERROR: $ausnahmen: undeclared global variable.
        If $msg=$ausnahmen Then
    ~~~~~~~~~~~~~~~~~~~~~~~^
    C:\Programme\AutoIt3\Examples\Tests\TBirthday.au3(39,19) : ERROR: Ausnahmen(): undefined function.
            Ausnahmen()
    ~~~~~~~~~~~~~~~~~~^
    C:\Programme\AutoIt3\Examples\Tests\TBirthday.au3 - 2 error(s), 1 warning(s)
    !>23:24:41 AU3Check ended.rc:2
    >Running:(3.3.0.0):C:\Programme\AutoIt3\autoit3.exe "C:\Programme\AutoIt3\Examples\Tests\TBirthday.au3"    
    C:\Programme\AutoIt3\Examples\Tests\TBirthday.au3 (38) : ==> Variable used without being declared.:
    If $msg=$ausnahmen Then
    If $msg=^ ERROR
    ->23:24:48 AutoIT3.exe ended.rc:1
    +>23:24:49 AutoIt3Wrapper Finished
    >Exit code: 1    Time: 8.067
    Alles anzeigen


    Hier das geänderte Skript:

    Spoiler anzeigen
    [autoit]

    #include-once ;unnötig, ausser du möchtest dieses Skript woanders includen
    #include <GUIConstants.au3>
    #include <date.au3>
    #Include <GuiComboBox.au3>

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

    #NoTrayIcon

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

    Const $IniPath = @ScriptDir & "\data\confic.ini" ;erspart Tipparbeit und ist leichter zu ändern (nur 1 Stelle)
    if not FileExists(@ScriptDir & "\data") then DirCreate(@ScriptDir & "\data") ;damit der Ordner auch wirklich vorhanden ist

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

    #Region ### START Koda GUI section ### Form=
    $old = GUICreate("Alter Verifizieren", 239, 76, 193, 125)
    $alter = GUICtrlCreateGroup("Alters Verifizierung", 0, 0, 233, 41)
    $day = GUICtrlCreateCombo("1", 8, 16, 41, 25)
    For $i=2 to 31
    GUICtrlSetData($day, $i)
    Next
    $month = GUICtrlCreateCombo("Januar", 56, 16, 81, 25)
    GUICtrlSetData($month, "Februar|März|April|Mai|Juni|Juli|August|Oktober|November|Dezember")
    $year = GUICtrlCreateCombo("1990", 144, 16, 81, 25)
    For $i=1991 to 2009
    GUICtrlSetData($year, $i)
    Next
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $save = GUICtrlCreateButton("Speichern", 0, 48, 75, 25, 0)
    $reset = GUICtrlCreateButton("Reset", 80, 48, 75, 25, 0)
    $ausnahme = GUICtrlCreateButton("Ausnahmen", 160, 48, 75, 25, 0)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    $msg = GUIGetMsg(0)

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

    If $msg=$save Then
    Save()
    ExitLoop ;willst du hier wirklich das Programm beenden (Aussprung aus MsgLoop-Schleife!!!)
    EndIf

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

    If $msg=$reset Then
    Reset()
    EndIf

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

    If $msg=$ausnahme Then ;Tippfehler n war zuviel
    Ausnahmen()
    EndIf

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

    If $msg=$GUI_Event_Close Then Exit
    WEnd

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

    Func Save()
    IniWrite($IniPath, "alter", "day", GUICtrlRead($day))
    IniWrite($IniPath, "alter", "month", GUICtrlRead($month))
    IniWrite($IniPath, "alter", "year", GUICtrlRead($year))
    $BirthDay = GUICtrlRead($year) & "/" & _GUICtrlComboBox_GetCurSel($month)+1 & "/" & GUICtrlRead($day) & " 00:00:00"
    ConsoleWrite($BirthDay & @CRLF)

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

    $age = _DateDiff("y", $BirthDay,_NowCalc())
    ConsoleWrite($age & @CRLF)
    IniWrite($IniPath, "alter", "age", GUICtrlRead($age))

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

    MsgBox(0, "Daten Gespeichert!", "Ihre Daten wurden Gespeichert!")
    EndFunc

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

    Func Reset()
    GUICtrlSetData($day, "1")
    GUICtrlSetData($month, "Januar")
    GUICtrlSetData($year, "1990")
    EndFunc

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

    Func Ausnahmen()
    MsgBox(0,"","Func Ausnahme")
    EndFunc

    [/autoit]

    da bei deiner Art von Auswahl auch falsche Geburtsdaten möglich sind, würde ich an deiner Stelle einen GuiDateTimePicker verwenden (_GUICtrlDTP_Create).

    mfg (Auto)Bert

  • kontinuierliche automatische ausführung einer autoit datei

    • autoBert
    • 2. Oktober 2009 um 23:21
    Zitat von Der_Storch

    Nun möchte ich diese autoit.exe alles 30 minuten ausführen lassen, d.h. die datei jede halbe stunde auslesen lassen.

    Die frage ist wie? hab hier alles abgesucht und nix gefunden.. :evil:


    Schau mal hier

    mfg (Auto)Bert

  • txt daten auslesen

    • autoBert
    • 2. Oktober 2009 um 20:43

    Hallo systemtrader,

    bitte sehr:

    Spoiler anzeigen
    [autoit]


    $file = FileOpen("test.txt", 1)

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

    ; Check if file opened for writing OK
    If $file = -1 Then
    MsgBox(0, "Error", "Unable to open file.")
    Exit
    EndIf

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

    $line = ""
    For $i = 1 To 80
    $line = $line & Chr(Random(65, 88, 1))
    Next
    FileWriteLine($file, $line)
    FileWriteLine($file, "Ich bin die letzte Zeile Ich bin die letzte Zeile Ich bin die letzte Zeile Ich bin die letzte Zeile Ich bin die letzte Zeile Ich bin die letzte Zeile")

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

    FileClose($file)
    ;====================== hier beginnt das eigentliche Skript ============================================
    ;Abbruch mit ESCape
    ReadLastLine() ;damit sofort beim Programmstart die letzte Zeile gelesen wird
    HotKeySet(("{Esc}"), "Terminate")
    AdlibEnable("ReadLastLine", 60000)

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

    while 1
    Sleep(250)
    WEnd

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

    Func ReadLastLine()
    $file = FileOpen("test.txt", 0)

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

    ; Check if file opened for reading OK
    If $file = -1 Then
    MsgBox(0, "Error", "Unable to open file.")
    Exit
    EndIf

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

    $line = FileReadLine($file, -1)
    $l4254 = StringMid($line, 42, 13)
    MsgBox(0, "Line read:", $l4254)

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

    FileClose($file)
    EndFunc ;==>ReadLastLine

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

    Func Terminate()
    AdlibDisable() ;Adlib zurücksetzen
    Exit
    EndFunc ;==>Terminate

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

    schau dir die entsrechenden Befehle dazu in der Hilfe an und viel Spaß damit ;)

    Edit: hatte doch tatsächlich die Wiederholung alle 60 sec vegessen
    mfg (Auto)Bert

  • Animierter Kreis bei Mausklick

    • autoBert
    • 2. Oktober 2009 um 19:23

    Hallo noctis,

    schai dir mal Mauspunkt ! (v1.05) von @srules an, vielleicht kannst du ja darauf aufbauend dir dein Tool selbst schreiben,

    mfg (Auto)Bert

  • 7zip udf

    • autoBert
    • 2. Oktober 2009 um 11:14

    Hallo sc4ry,

    deine DLL (wahrscheins von diesem Download) verursacht das Problem.
    Teste die Routinen doch einmal mit dieser Version: Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist.

    mfg (Auto)Bert

    Dateien

    7ZipDLL.zip 291,59 kB – 380 Downloads
  • Pixelsearch

    • autoBert
    • 1. Oktober 2009 um 22:13

    Hallo freaky,

    willst du wieder ein Programm für Paint schreiben? So wie in diesem Thread, der von Oscar geclosed wude? Genau so wie dieser und der dazugehörige Doppelpost

    mfg (Auto)Bert

  • Wie genau mach ich das?

    • autoBert
    • 1. Oktober 2009 um 21:09

    Hallo Harakos,

    herzlich willkommen im Forum. Aber BOTs sind hier nicht erwünscht bzw. verboten. Also lies dir bitte die Forenregeln durch. Diesen Diesen Thread solltest du auch besuchen.

    mfg (Auto)Bert

  • ListViewItems auslesen

    • autoBert
    • 1. Oktober 2009 um 20:35

    Hallo SEuBo,

    dann poste doch einfach einmal dein Skript,

    mfg (Auto)Bert

  • Liste in Combo Box

    • autoBert
    • 1. Oktober 2009 um 18:48

    Hallo holloman,

    schau dir mal die Hilfe zu StringTrimRight an, du kannst aber auch StringSplit oder Stringreplace nehmen,

    [autoit]

    $text = StringReplace("TestuserProfile.ini", " ".ini "")
    MsgBox(0, "Der neue String", $text)

    [/autoit]

    mfg (Auto)Bert

  • Liste in Combo Box

    • autoBert
    • 1. Oktober 2009 um 18:12

    Hallo halloman,

    schau dir halt mal andere Skripte an z.B.: Musterumgebung von Alina, benutze dann die Hilfe zu den Funktionen (F1 in Scite drücken über der Funktion) die du nicht verstehst. Wenn du dann noch Fragen hast meldest du dich nocheinmal

    mfg (Auto)Bert

  • Skript findet Variable Phatdangabe nicht

    • autoBert
    • 1. Oktober 2009 um 17:32

    Hallo skar,

    die Fehlermeldungen die ich bekomme sagen dass du vergessen hast die Variable Form1H zu deklarieren:

    Code
    C:\Programme\AutoIt3\Examples\Tests\TVarPath.au3(65,36) : WARNING: $oneJ: possibly used before declaration.
                        FileWrite($oneJ,
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    C:\Programme\AutoIt3\Examples\Tests\TVarPath.au3(103,43) : WARNING: $Form1H: possibly used before declaration.
                GUISetState (@SW_SHOW, $Form1H)
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    C:\Programme\AutoIt3\Examples\Tests\TVarPath.au3(103,43) : ERROR: $Form1H: undeclared global variable.
                GUISetState (@SW_SHOW, $Form1H)
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    C:\Programme\AutoIt3\Examples\Tests\TVarPath.au3 - 1 error(s), 2 warning(s)

    Was es mit der variablen Pfadangabe auf sich hat kann man so nicht nachvollziehen, auch solltest du den Fehler etwas genauer beschreiben bzw. eingrenzen. Als erstes solltest du mut

    [autoit]

    Opt("MustDeclareVars",1)

    [/autoit]

    direkt nach den #INCLUDES sicherstellen, dass du keine Tippfehler hast. ConsoleWrite($DEINEVARIABLE & @CRLF) bzw. MSGBOXen können sehr hilfreich sein um den Variableninhalt zu püfen. Auch dieses Tut solltest du lesen,

    mfg (Auto)Bert

    Edit: geändertes Skript:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>

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

    ;Opt("MustDeclareVars",1)

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

    ;***************************************************
    ;***************** Skriptschreiben *****************
    #Region ### START Koda GUI section ###
    $UpdatesF = GUICreate("Updates Service", 317, 171, Default, Default)
    GUISetFont(8, 800, 0, "MS Sans Serif")
    GUISetBkColor(0x3D95FF)
    $Pfad = @ScriptDir & '\UpdatesJM.txt'
    $UpdatesLI = GUICtrlCreateInput($Pfad, 16, 40, 265, 21)
    $Updates1 = GUICtrlCreateButton("Durchsuchen", 160, 72, 123, 25, 0)
    GUICtrlSetCursor(-1, 0)
    GUICtrlSetFont(-1, 8, 400, 4, "MS Sans Serif")
    $Updates2 = GUICtrlCreateButton("Fertig stellen", 160, 126, 123, 25, 0)
    GUICtrlSetCursor(-1, 0)
    $UpdatesL = GUICtrlCreateLabel("Wählen sie den das Update aus!", 16, 16, 159, 17)
    GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif")
    GUICtrlSetColor(-1, 0x800000)
    GUISetState(@SW_SHOW) ;war auf @SW_HIDE, Form wurde daher nie angezeigt
    #EndRegion ### END Koda GUI section ###
    #Region ### START Koda GUI section ### Warten Form
    $wait = GUICreate("Bitte Warten", 201, 50, Default, Default) ;, BitOR($WS_CAPTION,$WS_POPUP,$WS_BORDER,$WS_CLIPSIBLINGS)) <---------- Geht auch nicht!!!!!!
    GUISetBkColor(0x3D95FF)
    $progressbar1 = GUICtrlCreateProgress(10, 10, 180, 20)
    GUISetState(@SW_HIDE)
    #EndRegion ### END Koda GUI section ###
    ;*********** Skriptschreiben Ende ******************
    ;***************************************************

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg

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

    ;####################################################
    Case $Updates1
    $reU = FileOpenDialog("Datei öffnen", @DesktopDir, "Alle Dateien (*.*)")
    If @error Then
    MsgBox(16, "Error", "Es ist nichts ausgewählt!", 5)
    EndIf
    GUICtrlSetData($UpdatesLI, $reU)
    Case $Updates2
    GUISetState(@SW_SHOW, $wait)
    GUICtrlSetData($progressbar1, 1)
    GUICtrlSetData($wait, "Bitte warten...")
    $Updatepfhad = GUICtrlRead($UpdatesLI)
    If FileExists(@ScriptDir & '\JtM.txt') Then
    FileDelete(@ScriptDir & "JtM.txt")
    Else
    EndIf
    $file1TJ = FileOpen(@ScriptDir & "\sammlung.txt", 0)
    If $file1TJ = -1 Then
    MsgBox(0, "Error", "Kann Datei: " & @ScriptDir & "\sammlung.txt" & @CRLF & "nicht Öffnen!")
    Exit
    EndIf
    $AllLines1TJ = ""
    $oneJ = @ScriptDir & "\JtM.txt" ;<================== verschoben
    While 1
    $line1TJ = FileReadLine($file1TJ)
    If @error = -1 Then
    $file1TJ2 = FileOpen(@ScriptDir & "\Find.txt", 0)
    If $file1TJ2 = -1 Then
    MsgBox(0, "Error", "Kann Datei: " & @ScriptDir & "\Find.txt" & @CRLF & "nicht Öffnen!")
    Exit
    EndIf
    GUICtrlSetData($progressbar1, 35)
    FileWrite($oneJ, @CRLF)
    $AllLines1TJ2 = ""
    While 1
    $line1TJ2 = FileReadLine($file1TJ2)
    If @error = -1 Then
    Dim $phu = $Updatepfhad
    $file1TJ3 = FileOpen($phu, 0) ;<============= Hochkommas entfernt
    If $file1TJ3 = -1 Then
    MsgBox(0, "Error", "Kann Datei im Updatepfad" & $Updatepfhad & @CRLF & "nicht Öffnen!")
    Exit
    EndIf
    GUICtrlSetData($progressbar1, 75)
    FileWrite($oneJ, @CRLF)
    $AllLines1TJ3 = ""
    While 1
    $line1TJ3 = FileReadLine($file1TJ3)
    If @error = -1 Then
    GUICtrlSetData($progressbar1, 100)
    Sleep(1000)
    StringTrimRight($AllLines1TJ3, 1)
    ExitLoop
    EndIf
    FileWrite($oneJ, $line1TJ3 & @CRLF)
    WEnd
    StringTrimRight($AllLines1TJ2, 1)
    ExitLoop
    EndIf
    FileWrite($oneJ, $line1TJ2 & @CRLF)
    WEnd
    StringTrimRight($AllLines1TJ, 1)
    ExitLoop
    EndIf
    FileWrite($oneJ, $line1TJ & @CRLF)
    WEnd
    MsgBox(0, "INFO", "JtM.txt ist Fertig, Sie sollten diese Jetzt umbenennen")
    GUISetState(@SW_HIDE, $wait)
    GUISetState(@SW_HIDE, $UpdatesF)
    ;GUISetState (@SW_SHOW, $Form1H) ;<========== gibt es nicht
    ;####################################################
    EndSwitch
    WEnd

    [/autoit]

    Die wichtigsten Änderungen, die ich vorgenommen habe sind mit ;<====== gekennzeichnet. Viel Spaß damit ;) . Du solltest dir angewöhnen, Variablen zu deklarieren,
    mfg (Auto)Bert

  • Treeview und Ini

    • autoBert
    • 1. Oktober 2009 um 12:58

    Hallo subzero007,

    was hälst du von StringReplace?

    [autoit]

    $sNewString = StringReplace(C:\Forms\FORM-AV-R04.doc -> c:\backupordner\27.09.2009\Forms\FORM-AV-R04.doc"," ->","=")

    [/autoit]

    mfg (Auto)Bert

  • GUI Progress

    • autoBert
    • 1. Oktober 2009 um 12:45

    Hallo SchrotterCh,

    könntest du in deine(n)m Skript(en) bitte für die Variable "sprechende Namen" verwenden anstelle von z.B. $hbtnWeiter anstelle von $gui010008. Wenn jemand fremdes hineienschaut, kriegt der doch gleich einen Horror und versucht es erst gar nicht mit Hilfe des Skriptes deine Frage zu verstehen.
    Auch wäre es sehr hilfreich mit Tabs If .. Then, For ... Next Blöcke lesbarer zu machen. Geht mit Tidy: in Scite ALT|T(ools)|T(idy AutoIt Source)|Enter

    das Ergebnis (nur Tidy) sieht dann so aus:

    Spoiler anzeigen
    [autoit]

    $programmpasswort0001 = ""
    $programmpasswort0002 = ""
    $programmpasswort0003 = ""
    $programmpasswort0004 = ""
    $programmpasswort0005 = ""
    $programmname0001 = "Programmname"
    $programmversion0001 = "0.0.0.1"
    $programmprogrammierer0001 = "S.C."
    $gui010001x = 420
    $gui010001y = 185
    $gui020001x = 510
    $gui020001y = 30
    $gui030001x = 0
    $gui030001y = 0
    $gui040001x = 0
    $gui040001y = 0
    $gui050001x = 0
    $gui050001y = 0
    $gui060001x = 0
    $gui060001y = 0
    $gui070001x = 0
    $gui070001y = 0
    $gui080001x = 0
    $gui080001y = 0
    $gui090001x = 0
    $gui090001y = 0
    $gui100001x = 0
    $gui100001y = 0
    $zeit0001 = FileGetTime(@ScriptFullPath, 1, 0) ;Erstellt
    $zeit0002 = FileGetTime(@ScriptFullPath, 0, 0) ;Verändert
    $zeit0003 = FileGetTime(@ScriptFullPath, 2, 0) ;Letzter Zugriff
    $random0001 = Random(0, 0)
    $random0002 = Random(0, 0)
    $random0003 = Random(0, 0)
    $random0004 = Random(0, 0)
    $random0005 = Random(0, 0)

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

    #include <ComboConstants.au3>
    #include <Date.au3>
    #include <DateTimeConstants.au3>
    #include <EditConstants.au3>
    #include <GuiButton.au3>
    #include <GuiConstantsEx.au3>
    #include <GuiListView.au3>
    #include <GuiMenu.au3>
    #include <GuiStatusBar.au3>
    #include <GuiTreeView.au3>
    #include <INet.au3>
    #include <ProgressConstants.au3>
    #include <SendMessage.au3>
    #include <StaticConstants.au3>
    #include <Timers.au3>
    #include <WinAPI.au3>
    #include <WindowsConstants.au3>
    Opt("CaretCoordMode", 1)
    Opt("ExpandEnvStrings", 0)
    Opt("ExpandVarStrings", 0)
    Opt("FtpBinaryMode", 1)
    Opt("GUICloseOnESC", 1)
    Opt("GUICoordMode", 1)
    Opt("GUIDataSeparatorChar", "|")
    Opt("GUIOnEventMode", 0)
    Opt("GUIResizeMode", 0)
    Opt("GUIEventOptions", 0)
    Opt("MouseClickDelay", 10)
    Opt("MouseClickDownDelay", 10)
    Opt("MouseClickDragDelay", 250)
    Opt("MouseCoordMode", 1)
    Opt("MustDeclareVars", 0)
    Opt("OnExitFunc", "OnAutoItExit")
    Opt("PixelCoordMode", 1)
    Opt("SendAttachMode", 0)
    Opt("SendCapslockMode", 1)
    Opt("SendKeyDelay", 5)
    Opt("SendKeyDownDelay", 5)
    Opt("TCPTimeout", 100)
    Opt("TrayAutoPause", 1)
    Opt("TrayIconDebug", 0)
    Opt("TrayIconHide", 0)
    Opt("TrayMenuMode", 0)
    Opt("TrayOnEventMode", 0)
    Opt("WinDetectHiddenText", 0)
    Opt("WinSearchChildren", 1)
    Opt("WinTextMatchMode", 1)
    Opt("WinTitleMatchMode", 1)
    Opt("WinWaitDelay", 250)
    ; --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    $gui010001 = GUICreate("Sicherheitsabfrage:", $gui010001x, $gui010001y, -1, -1, $WS_CAPTION, $WS_EX_TOPMOST)
    GUISetBkColor(0x000000)
    GUISetCursor(3, 1)
    GUICtrlCreateLabel("Passwort 1:", 5, 5, 60, 20)
    GUICtrlSetColor(-1, 0xFFFFFF)
    GUICtrlCreateLabel("Passwort 2:", 5, 30, 60, 20)
    GUICtrlSetColor(-1, 0xFFFFFF)
    GUICtrlCreateLabel("Passwort 3:", 5, 55, 60, 20)
    GUICtrlSetColor(-1, 0xFFFFFF)
    GUICtrlCreateLabel("Passwort 4:", 5, 80, 60, 20)
    GUICtrlSetColor(-1, 0xFFFFFF)
    GUICtrlCreateLabel("Passwort 5:", 5, 105, 60, 20)
    GUICtrlSetColor(-1, 0xFFFFFF)
    $gui010002 = GUICtrlCreateInput("", 70, 5, 240, 20, $ES_PASSWORD)
    $gui010007 = GUICtrlCreateButton("Weiter", 315, 5, 100, 20)
    $gui010012 = GUICtrlCreateButton("Exit", 5, 135, 410, 20)
    GUISetState(@SW_SHOW, $gui010001)
    $gui010013 = GUICtrlCreateLabel(" ", 5, 160, 205, 20)
    GUICtrlSetColor(-1, 0xFFFFFF)
    While True
    $gui010014 = GUIGetMsg()
    Switch $gui010014
    Case $gui010007
    If GUICtrlRead($gui010002) = $programmpasswort0001 Then
    GUICtrlDelete($gui010002)
    GUICtrlDelete($gui010007)
    GUICtrlSetData($gui010013, "Passwort 1 Richtig.")
    $gui010003 = GUICtrlCreateInput("", 70, 30, 240, 20, $ES_PASSWORD)
    $gui010008 = GUICtrlCreateButton("Weiter", 315, 30, 100, 20)
    ExitLoop
    Else
    GUICtrlDelete($gui010002)
    GUICtrlDelete($gui010007)
    GUICtrlSetData($gui010013, "Passwort 1 Falsch.")
    EndIf
    Case $gui010012
    Exit
    EndSwitch
    WEnd
    While True
    $gui010015 = GUIGetMsg()
    Switch $gui010015
    Case $gui010008
    If GUICtrlRead($gui010003) = $programmpasswort0002 Then
    GUICtrlDelete($gui010003)
    GUICtrlDelete($gui010008)
    GUICtrlSetData($gui010013, "Passwort 2 Richtig.")
    $gui010004 = GUICtrlCreateInput("", 70, 55, 240, 20, $ES_PASSWORD)
    $gui010009 = GUICtrlCreateButton("Weiter", 315, 55, 100, 20)
    ExitLoop
    Else
    GUICtrlDelete($gui010003)
    GUICtrlDelete($gui010008)
    GUICtrlSetData($gui010013, "Passwort 2 Falsch.")
    EndIf
    Case $gui010012
    Exit
    EndSwitch
    WEnd
    While True
    $gui010016 = GUIGetMsg()
    Switch $gui010016
    Case $gui010008
    If GUICtrlRead($gui010004) = $programmpasswort0003 Then
    GUICtrlDelete($gui010003)
    GUICtrlDelete($gui010008)
    GUICtrlSetData($gui010013, "Passwort 3 Richtig.")
    $gui010005 = GUICtrlCreateInput("", 70, 80, 240, 20, $ES_PASSWORD)
    $gui010009 = GUICtrlCreateButton("Weiter", 315, 80, 100, 20)
    ExitLoop
    Else
    GUICtrlDelete($gui010004)
    GUICtrlDelete($gui010008)
    GUICtrlSetData($gui010013, "Passwort 3 Falsch.")
    EndIf
    Case $gui010012
    Exit
    EndSwitch
    WEnd
    While True
    $gui010017 = GUIGetMsg()
    Switch $gui010017
    Case $gui010009
    If GUICtrlRead($gui010005) = $programmpasswort0004 Then
    GUICtrlDelete($gui010005)
    GUICtrlDelete($gui010009)
    GUICtrlSetData($gui010013, "Passwort 4 Richtig.")
    $gui010006 = GUICtrlCreateInput("", 70, 105, 240, 20, $ES_PASSWORD)
    $gui010010 = GUICtrlCreateButton("Weiter", 315, 105, 100, 20)
    ExitLoop
    Else
    GUICtrlDelete($gui010005)
    GUICtrlDelete($gui010009)
    GUICtrlSetData($gui010013, "Passwort 4 Falsch.")
    EndIf
    Case $gui010012
    Exit
    EndSwitch
    WEnd
    While True
    $gui010018 = GUIGetMsg()
    Switch $gui010018
    Case $gui010010
    If GUICtrlRead($gui010006) = $programmpasswort0005 Then
    GUICtrlDelete($gui010006)
    GUICtrlDelete($gui010010)
    GUICtrlDelete($gui010012)
    GUICtrlSetData($gui010013, "Passwort 5 Richtig.")
    Sleep(1500)
    GUIDelete($gui010001)
    ExitLoop
    Else
    GUICtrlDelete($gui010005)
    GUICtrlDelete($gui010009)
    GUICtrlSetData($gui010013, "Passwort 5 Falsch.")
    EndIf
    Case $gui010012
    Exit
    EndSwitch
    WEnd
    ; --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

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

    ;AB HIER IST DAS PROBLEM

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

    $gui020001 = GUICreate("Lädt ...", $gui020001x, $gui020001y, -1, -1, $WS_CAPTION, $WS_EX_TOPMOST)
    $gui020002 = GUICtrlCreateProgress(5, 5, 500, 20, $PBS_SMOOTH)
    GUISetBkColor(0x000000)
    GUISetCursor(16, 1)
    GUISetState(@SW_SHOW, $gui020001)
    _install()
    Sleep(500)
    _hotkeyset()
    Sleep(500)
    _menu()
    Sleep(500)
    _start()
    Sleep(500)

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

    ; --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

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

    Func _install()
    For $gui020003 = 1 To 25
    GUICtrlSetData($gui020002, $gui020003)
    ;DirCreate
    ;FileInstall
    ;FileCopy
    Next
    EndFunc ;==>_install
    Func _hotkeyset()
    For $gui020004 = 26 To 50
    GUICtrlSetData($gui020002, $gui020004)
    HotKeySet("{ESC}", "_exit")
    HotKeySet("{F5}", "_button")
    Next
    EndFunc ;==>_hotkeyset
    Func _menu()
    For $gui020005 = 51 To 75
    GUICtrlSetData($gui020002, $gui020005)
    ;GUICtrlCreateMenu
    ;GUICtrlCreateMenuItem
    ;TrayCreateItem
    Next
    EndFunc ;==>_menu
    Func _start()
    For $gui020006 = 76 To 100
    GUICtrlSetData($gui020002, $gui020006)
    ;FileExists
    Next
    EndFunc ;==>_start

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

    ;BIS HIER

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

    ; --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    _button()
    ; --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    Func _button()
    While 1
    Sleep(1000)
    WEnd
    EndFunc ;==>_button
    ; --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    Func _Exit()
    Exit
    EndFunc ;==>_exit

    [/autoit]


    mfg (Auto)Bert

  • Treeview und Ini

    • autoBert
    • 1. Oktober 2009 um 12:00

    Hallo subzero,

    wenn er den Unterordner nicht findet, dann gehst du halt solange in den Unterverzeichnissen (im String) zurück, bis der Ordnername ein INI-File enthält (komischerweise ist dann der Ordner davvor immer ein Tagesdaum)

    mfg (Auto)Bert

  • WinRar ähnliches Programm in AutoIt erstellen.

    • autoBert
    • 30. September 2009 um 23:54

    Hallo GE IXI TIM,

    ich habe mich zwar über den Lösungsweg gewundert, aber es funktioniert. Das resultierende Archiv ist fast doppelt so groß,

    mfg (Auto)Bert

  • Problem bei "Taskleiste berechnen"

    • autoBert
    • 30. September 2009 um 23:17

    Hallo sen,

    Zitat

    Mein Problem ist jetzt nur wie ich scripten kann das die HastyBar
    sich je nach Position der Windows Taskbar anpasst.
    Damit meine ich nicht die Position der HastyBar (sollte im Script bereits funktionieren)
    sondern die richtige Einschränkung über die WinApi


    Bei deinem Skipt hatte ich abhängig von $TaskbarPos folgende Ergebnisse:

    • 1 = HastyBar war unten aber für die Taskleiste war noch Platz
    • 2 und 3 = Programm wird sofort beendet ohne Fehlermeldung
    • 4 = TaskLeiste ist ganz unten

    Getestet habe ich mit Setzen des $TaskbarPos direkt vor GuiCreate. (zu bequem INI zu editieren)
    Da ich TaskBar und HastyBar gleichgesetzt habe und dies nicht zu der Skriptzeile passt

    [autoit]

    $TaskbarPos = IniRead(@ScriptDir & "/Settings.ini", "HastyBar", "Taskbar(1-Unten/2-Seite(links)/3-Seite(rechts)/4-Oben)", "1")

    [/autoit]

    habe ich das Skript, das ich in #6 gepostet habe, geschrieben. Schade das es umsonst war, aber jetzt weiss ich HastyBar = HastyBar und TaskBar = Taskleiste.

    An diesen Teilbereichen des Codes solltest du noch arbeiten bzw. mit $TaskbarPos = 2 und 3 austesten

    Spoiler anzeigen
    [autoit]

    #Region SetDesktopAreaOn ;<========== überarbeiten
    If $TaskbarPos = "1" Then
    DllStructSetData($tRECT, 4, @DesktopHeight - $TaskbarHohe - 30)
    ElseIf $TaskbarPos = "2" Then
    DllStructSetData($tRECT, 4, @DesktopHeight - 30)
    EndIf
    _WinAPI_SystemParametersInfo($SPI_SETWORKAREA, 0, DllStructGetPtr($tRECT), $SPIF_SENDCHANGE)
    #EndRegion SetDesktopAreaOn

    [/autoit]
    Spoiler anzeigen
    [autoit]

    Func SplashScreen($OnOff)
    If $OnOff = "On" Then
    If $TaskbarPos = "1" Then
    $Splash = SplashImageOn("", "Images/Splash.bmp", @DesktopWidth, @DesktopHeight - 30 - $TaskbarHohe, 0, 0, 1)
    Else
    $Splash = SplashImageOn("", "Images/Splash.bmp", @DesktopWidth, @DesktopHeight - 30, -1, 0)
    EndIf
    ElseIf $OnOff = "Off" Then
    SplashOff()
    EndIf
    EndFunc ;==>SplashScreen

    [/autoit]
    Spoiler anzeigen
    [autoit]

    Func OnExit()
    #Region SetDesktopAreaOff
    If $TaskbarPos = "1" Then
    DllStructSetData($tRECT, 4, $DesktopHeight - $TaskbarHohe)
    _WinAPI_SystemParametersInfo($SPI_SETWORKAREA, 0, DllStructGetPtr($tRECT), $SPIF_SENDCHANGE)
    Else
    DllStructSetData($tRECT, 4, $DesktopHeight - $TaskbarHohe)
    _WinAPI_SystemParametersInfo($SPI_SETWORKAREA, 0, DllStructGetPtr($tRECT), $SPIF_SENDCHANGE)
    EndIf
    #EndRegion SetDesktopAreaOff
    EndFunc ;==>OnExit

    [/autoit]

    mein verfügbarer Desktopbereich hat sich nämlich verstellt.
    Hast du einen guten Link fü Infos zu $SPI_SETWORKAREA, damit ich dass mal nachlesen kann, im Moment nämlich (noch) kA,

    mfg (Auto)Bert

  • WinRar ähnliches Programm in AutoIt erstellen.

    • autoBert
    • 30. September 2009 um 22:11

    Hallo GE IXI TIM,

    kann das Skript leider nicht starten, folgende Fehlermeldung:

    Code
    "C:\Programme\AutoIt3\SciTE\AutoIt3Wrapper\AutoIt3Wrapper.exe" /run /prod /ErrorStdOut /in "C:\Programme\AutoIt3\Downloads\DTxPacker.au3" /autoit3dir "C:\Programme\AutoIt3" /UserParams    
    +>22:04:56 Starting AutoIt3Wrapper v.2.0.0.1    Environment(Language:0407  Keyboard:00000407  OS:WIN_XP/Service Pack 3  CPU:X86 OS:X86)
    >Running AU3Check (1.54.14.0)  from:C:\Programme\AutoIt3
    C:\Programme\AutoIt3\Downloads\DTxPacker.au3(87,32) : ERROR: syntax error
        If StringLeft($dirname, 1) not
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    C:\Programme\AutoIt3\Downloads\DTxPacker.au3 - 1 error(s), 0 warning(s)


    mfg (Auto)Bert

  • WinRar ähnliches Programm in AutoIt erstellen.

    • autoBert
    • 30. September 2009 um 22:09

    sorry Doppelpost gelöscht (Fehlbedienung)

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™