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

  • AutoItSkript zum Testen von Websitenladezeiten

    • autoBert
    • 22. Juni 2012 um 01:12

    Hallo EgoArmee,

    ich habe mein Skript noch einmal überarbeitet, teste alsobitte einmal dieses:

    Spoiler anzeigen
    [autoit]

    Const $runs = 1
    Const $url = "www.lima-city.de/"
    #include <IE.au3>
    _IEErrorHandlerRegister()
    $oIE = _IECreate("about:blank", 1, 1, 1, 1)
    Sleep(1000)
    If Not _IEPropertyGet ($oIE, "statusbar") Then _IEPropertySet ($oIE, "statusbar", True)
    $SinkObject = ObjEvent($oIE, "IEEvent_", "DWebBrowserEvents2") ; Ereignisse den UDFs zuweisen, beginnend mit IEEvent_$sum = 0
    $sum = 0
    $percent = 0
    For $i = 1 To $runs
    $time = TimerInit()
    _IENavigate($oIE, $url, 0) ;wartet nicht
    $bLoaded = False
    $bStarted = False
    $percent = 0
    $oldPer = 999
    $sOldText =''
    Do
    Sleep(100)
    $sText = _IEPropertyGet($oIE, "statustext")
    if $sText <> $sOldText Then ConsoleWrite($sText & @CRLF)
    $sOldText = $sText
    If StringInStr($sText, "auf") Then $bStarted = True
    If $bStarted Then
    If StringInStr($sText, "Fertig") Then $bLoaded = True
    Sleep(100)
    $sText = _IEPropertyGet($oIE, "statustext")
    ;ConsoleWrite("2 " & $sText & @CRLF)
    If StringInStr($sText, "wird") Then $bLoaded = False
    EndIf
    Until $bLoaded
    $sum += TimerDiff($time)
    Next
    MsgBox(0, "Durchschnittliche Ladezeit", "Durchschnittliche Ladezeit (" & $runs & " Läufe): " & StringFormat("%.2f", $sum / $runs / 1000) & " Sekunden")

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

    Func IEEvent_ProgressChange($Progress, $ProgressMax)
    $percent = Int(($Progress * 100) / $ProgressMax)
    EndFunc ;==>IEEvent_ProgressChange

    [/autoit]

    Lass es bitte einmal im Original dirchlaufen und poste danach die Konsolenausgabe, bei mir sieht si so aus:

    Code
    >"D:\Programme\AutoIt3\SciTE\AutoIt3Wrapper\AutoIt3Wrapper.exe" /run /prod /ErrorStdOut /in "D:\Programme\AutoIt3\Test\asdf.au3" /autoit3dir "D:\Programme\AutoIt3" /UserParams    
    +>00:55:42 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.19.0)  from:D:\Programme\AutoIt3
    +>00:55:43 AU3Check ended.rc:0
    >Running:(3.3.6.1):D:\Programme\AutoIt3\autoit3.exe "D:\Programme\AutoIt3\Test\asdf.au3"    
    --> IE.au3 V2.4-0 Warning from function _IEAttach, $_IEStatus_NoMatch
    Fertig
    Auf http://www.lima-city.de/ wird gewartet...
    
    
    Auf http://www.lima-city.de/ wird gewartet...
    Fertig
    Alles anzeigen

    mfg autoBert

  • AutoItSkript zum Testen von Websitenladezeiten

    • autoBert
    • 21. Juni 2012 um 02:48
    Zitat von letsgo

    _IeNavigate() übermittelt dem internet Explorer nur die URL und wartet nicht.Probier es mal, nach _IeNavigate() noch _IELoadWait() einzufügen, dann sollte dein Script pausieren, bis die Seite fertig geladen ist


    Laut Hilfe wartet _IeNavigate wenn wie im Beispielskript der Wait-Patameter nicht auf 0 gesetzt ist. Ein Versuch mit _IELoadWait kann nicht schaden. Falls dies nicht klappt teste einmal dieses Skript:

    Spoiler anzeigen
    [autoit]

    Const $runs = 5
    Const $url = "http://www.lima-city.de/"
    #include <IE.au3>
    _IEErrorHandlerRegister()
    $oIE = _IECreate("about:blank", 1, 1, 1, 1)
    Sleep(1000)
    $SinkObject = ObjEvent($oIE, "IEEvent_", "DWebBrowserEvents2") ; Ereignisse den UDFs zuweisen, beginnend mit IEEvent_$sum = 0
    $sum = 0

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

    For $i = 1 To $runs
    $time = TimerInit()
    _IENavigate($oIE, $url, 0) ;wartet nicht
    $bLoaded = False
    $bStarted = False
    $percent = 0
    $oldPer = 999
    Do
    Sleep(100)
    $sText = _IEPropertyGet($oIE, "statustext")
    ConsoleWrite($sText & @CRLF)
    If StringInStr($sText, "auf") Then $bStarted = True
    If $bStarted Then
    If StringInStr($sText, "Fertig") Then $bLoaded = True
    Sleep(100)
    $sText = _IEPropertyGet($oIE, "statustext")
    ConsoleWrite("2 " & $sText & @CRLF)
    If StringInStr($sText, "wird") Then $bLoaded = False
    EndIf
    Until $bLoaded
    $sum += TimerDiff($time)
    Next
    MsgBox(0, "Durchschnittliche Ladezeit", "Durchschnittliche Ladezeit (" & $runs & " Läufe): " & StringFormat("%.2f", $sum / $runs / 1000) & " Sekunden")

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

    Func IEEvent_ProgressChange($Progress, $ProgressMax)
    $percent = Int(($Progress * 100) / $ProgressMax)
    EndFunc ;==>IEEvent_ProgressChange

    [/autoit]

    mfg autoBert

  • DirCopy bestimmten Unterordner nicht einbeziehen

    • autoBert
    • 20. Juni 2012 um 14:44
    Zitat von Dino

    Jetzt möchte ich Quellordner nach "T:\Dino\0000000" mit DirCopy kopieren, jedoch mehrere bestimmten Unterordner (Typicals, install, Dokumentation, Tools) ausschließen.Geht das und wenn ja wie?Viele Grüße,Dino

    mit DirCopy nicht denn

    Zitat

    DirCopy

    Kopiert einen Ordner samt Unterordner und Dateien (funktioniert wie xcopy)

  • Timer Funktion geht nicht

    • autoBert
    • 20. Juni 2012 um 14:06

    Hallo HassanMullah,

    Nimm AdlibRegister damit geht es am einfachsten:

    Spoiler anzeigen
    [autoit]

    ; *** Start added by AutoIt3Wrapper ***
    #include <GUIConstantsEx.au3>
    ; *** End added by AutoIt3Wrapper ***
    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_UseUpx=n
    #AutoIt3Wrapper_Add_Constants=n
    #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
    ; GUI wird erstellt
    $GUI_main = GUICreate("PapaControl" )
    ; Timer
    $Label01 = GUICtrlCreateLabel("Noch 20 Sekunden bis Reload", 10, 20)
    GUISetState(@SW_SHOW)

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

    AdlibRegister("CountDown",1000)

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

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

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

    Func CountDown()
    Static $iRest = 20
    $iRest -= 1
    if $iRest = -1 Then $iRest = 20
    GUICtrlSetData($Label01,"Noch " & $iRest & " Sekunden bis Reload")
    EndFunc

    [/autoit]

    mfg autoBert

  • AUs datei lesen vergleich und lesen.

    • autoBert
    • 17. Juni 2012 um 21:23

    Hallo TheBeatMaker111,

    du slltest dir am besten die Hilfe herunterladen un dir anhand deren dieGrundlagen von AutoIt erarbeiten.

    Solltest du die Zeit dazu nicht haben empfehle ich dir ein Tjema in Programmieranfragen mit Gegenleistung zu eröffnen,

    mfg autoBert

  • FTP Ordnergröße und Ordnerdownload

    • autoBert
    • 17. Juni 2012 um 13:01

    Hallo iFreak95,

    schau dir [Beispiel] FTP-Downloader (rekursiv mit allen Unterverzeichnissen) an, damit kannst du ganze Ordner inkl Unterordrner herunterladen,

    mfg autoBert

  • Problem Keybinder

    • autoBert
    • 7. Juni 2012 um 17:32

    Hallo sf190,

    am besten postest du dein bisheriges Skript. Ein HotKey ann nur mit einer Funktion belegt sein,

    mfg autoBert

  • Rekursionen vermeiden

    • autoBert
    • 5. Juni 2012 um 11:19
    Zitat von c.unhund

    Es reicht nicht, das Fenster nur zu verstecken, da das Fenster eine Liste enthält, die bei jedem Start aktualisiert werden muss. Eine Möglichkeit, dass dies trotzdem gehen würde, wäre spontan ein asynchroner Aufruf (AJAX-like), hier weiss ich aber nicht ob und wie ich den umsetzten kann.


    Dann erstelle deine GUI einmal am Anfang und aktualisiere die Controls mit GuiCtrlSetData. Hier ein kleines Demo zur Sortierfunktion in einer Listiew:

    Spoiler anzeigen
    [autoit]

    #include <GuiListView.au3>
    #include <GUIConstantsEx.au3>
    #include <ListviewConstants.au3>
    #include <array.au3>

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

    Dim $aNames[20][2]
    $aNames[0][0] = "Jürgen"
    $aNames[1][0] = "Peter"
    $aNames[2][0] = "Bert"
    $aNames[3][0] = "Christina"
    $aNames[4][0] = "Alex"
    $aNames[5][0] = "Astrid"
    $aNames[6][0] = "Roberto"
    $aNames[7][0] = "Heinz"
    $aNames[8][0] = "Iwan"
    $aNames[9][0] = "Robertina"
    $aNames[10][0] = "Hans"
    $aNames[11][0] = "Peter II."
    $aNames[12][0] = "Tina"
    $aNames[13][0] = "Michael"
    $aNames[14][0] = "Gunnar"
    $aNames[15][0] = "Kurt"
    $aNames[16][0] = "Gerald"
    $aNames[17][0] = "Alfred"
    $aNames[18][0] = "Stefanie"
    $aNames[19][0] = "Nicole"
    Dim $aItems[20]

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

    GUICreate("", 200, 400)
    $listview = GUICtrlCreateListView("Name|Status", 10, 10, 180, 350)
    For $i = 0 To 19
    $aItems[$i] = GUICtrlCreateListViewItem($aNames[$i][0] & "|Offline", $listview)
    Next
    _GUICtrlListView_SetColumnWidth($listview, 0, 140)
    _GUICtrlListView_SetColumnWidth($listview, 1, 40) ;0 = unsichtbar
    _GUICtrlListView_RegisterSortCallBack($listview)

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

    _RandomOnOff()

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

    GUISetState(@SW_SHOW)

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

    ;GUICtrlSetColor(-1, 0x22C21F)
    ;GUICtrlSetColor(-1, 0xAA0000)

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

    While 1
    $msg = GUIGetMsg()
    Switch $msg
    Case $GUI_EVENT_CLOSE
    _GUICtrlListView_UnRegisterSortCallBack($listview)
    Exit
    Case $listview
    _GUICtrlListView_SortItems($ListView, GUICtrlGetState($ListView))
    EndSwitch
    WEnd

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

    Func _RandomOnOff()
    _GUICtrlListView_BeginUpdate($listview)
    For $i = 0 To 19
    If Random(1, 3, 1) = 1 Then
    $aNames[$i][1] = "Off"
    Else
    $aNames[$i][1] = "On"
    EndIf
    Next
    For $i = 0 To 19
    $iItem = _GUICtrlListView_FindText($listview, $aNames[$i][0], -1, False, True)
    If $aNames[$i][1] = "Off" Then
    GUICtrlSetData($aItems[$iItem], "|Off")
    GUICtrlSetBkColor($aItems[$iItem], 0xAA0000)
    Else
    GUICtrlSetData($aItems[$iItem], "|On")
    GUICtrlSetBkColor($aItems[$iItem], 0x22C21F)
    EndIf
    Next
    If GUICtrlGetState($ListView) = 1 Then
    _GUICtrlListView_SortItems($listview, 0)
    _GUICtrlListView_SortItems($listview, 1)
    EndIf
    _GUICtrlListView_EndUpdate($listview)
    AdlibRegister("_RandomOnOff", Random(5000, 10000, 1))
    EndFunc ;==>_RandomOnOff

    [/autoit]

    mfg autoBert

  • Decompiler unschädlich machen

    • autoBert
    • 4. Juni 2012 um 13:38
    Zitat von Freaky

    ich habe nie gesagt autoit neu schreiben :D
    nur den compiler etwas abändern :D


    das musst du aber da ein umschreiben von AutoIt automatisch ein CopyRightverletzung also Straftat darstellt,

    mfg autoBert

  • rtmpt dateien

    • autoBert
    • 4. Juni 2012 um 12:55

    Hallo Sirocool,

    nach lesen von http://www.cosmiq.de/qa/show/230550…fnet-man-diese/ komme ich zu folgenden Schlüssen:

    • es ist nicht möglich
    • es widerspricht dem Sinne nach den Forenregeln Kopierschutzmechanismen zu umgehen und dadurch Systeme für Schadsoftware zu öffnen.

    wegen 2. Vote for Close

    mfg autoBert

  • Listview

    • autoBert
    • 1. Juni 2012 um 12:48

    Hallo Ilse,

    dein Beispiel ost als AUgangsgrundlage unbrauchbar da $Spalte1, $Spalte2 und $Spalte3 keine Arrays sind. Ich ha mal ein Beispiel gebastelt, das deinen Wünschen entsprechen sollte:

    Spoiler anzeigen
    [autoit]

    ; *** Start added by AutoIt3Wrapper ***
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    ; *** End added by AutoIt3Wrapper ***
    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_UseUpx=n
    #AutoIt3Wrapper_Add_Constants=n
    #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
    #include <array.au3>

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

    $i1 = Random(5, 19, 1)

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

    Local $aSpalte1[$i1]
    For $i = 0 To $i1 - 1
    $aSpalte1[$i] = "Zeile " & $i & " Spalte 1"
    Next
    _ArrayDisplay($aSpalte1)

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

    $i2 = Random(7, 12, 1)

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

    Local $aSpalte2[$i2]
    For $i = 0 To $i2 - 1
    $aSpalte2[$i] = "Zeile " & $i & " Spalte 2"
    Next
    _ArrayDisplay($aSpalte2)

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

    $i3 = Random(8, 15, 1)

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

    Local $aSpalte3[$i3]
    For $i = 0 To $i3 - 1
    $aSpalte3[$i] = "Zeile " & $i & " Spalte 3"
    Next
    _ArrayDisplay($aSpalte3)

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

    ;in meine Beispiel eigentlich unnötig aber du wirst es bei dir evtlbenötigen
    ;#cs
    $i1 = UBound($aSpalte1)
    $i2 = UBound($aSpalte2)
    $i3 = UBound($aSpalte3)
    ;#ce

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

    $iLV = $i1
    If $i2 > $iLV Then $iLV = $i2
    If $i3 > $iLV Then $iLV = $i3

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

    ConsoleWrite($i1 & @TAB & $i2 & @TAB & $i3 & @CRLF)

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

    GUICreate("listview items", 400, 400, 100, 200, -1, $WS_EX_ACCEPTFILES)
    GUISetBkColor(0x00E0FFFF) ; will change background color

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

    $listview = GUICtrlCreateListView("Spalte 1 |Spalte 2|Spalte 3 ", 10, 10, 400, 400);,$LVS_SORTDESCENDING)
    $button = GUICtrlCreateButton("Value?", 75, 170, 70, 20)
    For $i = 0 To $iLV
    $sCol = ""
    If $i < $i1 Then $sCol = $aSpalte1[$i]
    $sCol &= "|"
    If $i < $i2 Then $sCol &= $aSpalte2[$i]
    $sCol &= "|"
    If $i < $i3 Then $sCol &= $aSpalte3[$i]
    ConsoleWrite($sCol & @CRLF)
    GUICtrlCreateListViewItem($sCol, $listview)
    Next
    GUICtrlCreateInput("", 20, 200, 150)
    GUICtrlSetState(-1, $GUI_DROPACCEPTED) ; to allow drag and dropping
    GUISetState()

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

    Do
    $msg = GUIGetMsg()

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

    Switch $msg
    Case $button
    MsgBox(0, "listview item", GUICtrlRead(GUICtrlRead($listview)), 2)
    Case $listview
    MsgBox(0, "listview", "clicked=" & GUICtrlGetState($listview), 2)
    EndSwitch
    Until $msg = $GUI_EVENT_CLOSE

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

    mfg autoBert

  • Happy Birthday SEuBo und anno2008

    • autoBert
    • 26. Mai 2012 um 13:26

    auch von mir die besten Wünsche an euch beide,

    autoBert

  • _WordDocFindReplace und IF - Script bleibt bei Ausführung stehen

    • autoBert
    • 25. Mai 2012 um 10:39

    Anstelle der unsicheren Send-Methode solltest du dein Skript komplett auf die _Word...-Finktionen (in der Word.au3) aufbauen,

    mfg auoBert

  • Automatisierter und beinahe sicherer Zugang zum Internet-Banking

    • autoBert
    • 24. Mai 2012 um 13:24
    Zitat von HalleMike

    Zu "Christoph54" und "chip": Ja, es ist sicherer!
    1. Es erfolgt keine Tastatureingabe der sicherheitsrelevanten Daten
    2. Die txt-Datei ist nur solange erreichbar, wie der externe Datenträger erreichbar ist.!

    Dein Verfahren macht es imho unsicherer, da der Datenträger in einem unbeobachteten Moment kopiert werden kann. Die einzig sichere Methode ist mit einer garantiert Schadware freien Live-CD zu booten und Passwörter niemals im Klartext irgendwo abspeichern,

    mfg autoBert

  • Gui in Gui Artefakte... :(

    • autoBert
    • 22. Mai 2012 um 19:53
    Zitat von Automatisator

    autoBert
    benutzt Du andere die Stabile version von Autoit, oder die Beta Version?
    welche GraKa?


    ich benutze immer noch die 3.3.6.1auf einem Uralt-Medion Laptop, mit einer NVDIA-Graka,

    mfg autoBert

  • Funktion mit Schleife durch andere Funktion beende.

    • autoBert
    • 21. Mai 2012 um 22:36

    Hallo floeso,

    da dein Skript nicht formatiert war habe ich Tante Tidy bemüht, das Ergebnis:

    Code
    >"D:\Programme\AutoIt3\SciTE\tidy\tidy.exe" "D:\Programme\AutoIt3\Test\asdf.au3"
    Tidy AutoIt3 v2.0.28.3   Copyright (c) Jos van der Zande  April 29, 2009
    D:\Programme\AutoIt3\Test\asdf.au3(61) : ### Tidy Error -> "endif" is closing previous "func" on line 54
    D:\Programme\AutoIt3\Test\asdf.au3(63) : ### Tidy Error: next line creates a negative tablevel.
    D:\Programme\AutoIt3\Test\asdf.au3(64) : ### Tidy Error: next line creates a negative tablevel for the line after it.
    !> there were  3 error(s) encountered. look in your source for:### Tidy Error:
    +> Tidy AutoIt3 finished. Original copied to:"D:\Programme\AutoIt3\Test\BackUp\asdf_old17.au3"
    >Exit code: 3    Time: 0.925

    du solltest also als aller erstes die Fehler in deinem Skript beheben, unformatiert erhalte ich folgende Fehler beim starten:

    Code
    >Running AU3Check (1.54.19.0)  from:D:\Programme\AutoIt3
    D:\Programme\AutoIt3\Test\asdf.au3(3,27) : WARNING: $run_KL2: possibly used before declaration.
    GUICtrlSetOnEvent($run_KL2,
    ~~~~~~~~~~~~~~~~~~~~~~~~~~^
    D:\Programme\AutoIt3\Test\asdf.au3(4,28) : WARNING: $stop_KL2: possibly used before declaration.
    GUICtrlSetOnEvent($stop_KL2,
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    D:\Programme\AutoIt3\Test\asdf.au3(8,25) : WARNING: $listview: possibly used before declaration.
    GuiCtrlSetData($listview,
    ~~~~~~~~~~~~~~~~~~~~~~~~^
    D:\Programme\AutoIt3\Test\asdf.au3(39,1) : ERROR: syntax error
    Endif
    ^
    D:\Programme\AutoIt3\Test\asdf.au3(3,27) : ERROR: $run_KL2: undeclared global variable.
    GUICtrlSetOnEvent($run_KL2,
    ~~~~~~~~~~~~~~~~~~~~~~~~~~^
    D:\Programme\AutoIt3\Test\asdf.au3(15,44) : ERROR: _FileReadToArray(): undefined function.
    _FileReadToArray("hier das file", $aContent)
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    D:\Programme\AutoIt3\Test\asdf.au3(21,58) : ERROR: _GUICtrlListBox_InsertString(): undefined function.
    _GUICtrlListBox_InsertString($listview, $aContent[$i], -1)
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    D:\Programme\AutoIt3\Test\asdf.au3(23,72) : ERROR: _GUICtrlListBox_GetCount(): undefined function.
    _GUICtrlListBox_SetCurSel($listview, _GUICtrlListBox_GetCount($listview)
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    D:\Programme\AutoIt3\Test\asdf.au3(23,77) : ERROR: _GUICtrlListBox_SetCurSel(): undefined function.
    _GUICtrlListBox_SetCurSel($listview, _GUICtrlListBox_GetCount($listview) - 1)
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    D:\Programme\AutoIt3\Test\asdf.au3 - 6 error(s), 3 warning(s)
    !>22:20:30 AU3Check ended.rc:2
    +>22:20:33 AutoIt3Wrapper Finished
    >Exit code: 0    Time: 2.962
    Alles anzeigen

    am besten stellst du dein komplettes Skript ein. Der haupsächliche Fehler (aber nicht deine Frage) ist in:

    bereinigt
    [autoit]

    Func cancel()
    Local $request
    $request = MsgBox(1, "cancel", "do you really want to cancel?")
    If $request = 1 Then
    $cancel = 1
    EndIf
    EndFunc ;==>cancel

    [/autoit]

    Das Verhalten da du beschreibst ist AutoIt typisch. Da ichaber keine Lust habe eine Gui zu deinem Code zu basteln must du es wohl alleine versuchen.Als kleiner Tipp du kommst nicht darum herum:

    • entweder vor der Schleife den OnEventMode abzuschalten,innerhalb der Schleife mit GuiGetMsg() das drücken des Cancel-Buttons abzufragen und nach der Schleife wieder den OnEventMode einzuschalten
    • oder in der Schleife auf _IsPressed zu reagieren

    mfg autoBert

  • Gui in Gui Artefakte... :(

    • autoBert
    • 21. Mai 2012 um 22:12

    Hallo Automatisator,
    ich kann in dem von dir verlinktem Skript:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <GuiConstants.au3>

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

    $Main_GUI = GUICreate("Main")
    $Btn_Exit = GUICtrlCreateButton("E&xit", 10, 10, 90, 20)
    GUISetState(@SW_SHOW, $Main_GUI)
    $Child_GUI = GUICreate("Child", 200, 100, 10, 50, $WS_CAPTION)
    GUISetBkColor(0xfffaf0, $Child_GUI)
    $Btn_Test = GUICtrlCreateButton("Test", 10, 10, 90, 20)
    GUISetState(@SW_SHOW, $Child_GUI)
    DllCall("user32.dll", "int", "SetParent", "hwnd", WinGetHandle($Child_GUI), "hwnd", WinGetHandle($Main_GUI))

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

    While 1
    Switch GUIGetMsg()
    Case $GUI_EVENT_CLOSE, $Btn_Exit
    Exit
    Case $Btn_Test
    MsgBox(0, "Test", "Hit Button on Child Window")
    EndSwitch
    WEnd

    [/autoit]

    keinerleiArtifakte feststellen (Language:0407 Keyboard:00000407 OS:WIN_XP/Service Pack 3 CPU:X86 OS:X86)

    mfg autoBert

  • Bild auf Bild klickbar machen

    • autoBert
    • 21. Mai 2012 um 21:57

    Hallo MrFreeman,

    ein einfaches disablen des Hintergrundbildes sollte ausreichen, natürlich must du die func auch noch aufrufen also so:

    Spoiler anzeigen
    [autoit]

    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <EditConstants.au3>

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

    GUIScreen2()

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

    Func GUIScreen2()
    #Region ### START Koda GUI section ### Form=c:\projects\autoit\guicracker2.kxf
    $Form2 = GUICreate("Tester", 615, 438, 192, 124)
    $Bg = GUICtrlCreatePic("bg.bmp", 256, 40, 315, 274)
    GUICtrlSetState(-1,$GUI_DISABLE)
    $Button = GUICtrlCreatePic("button.bmp", 306, 248, 213, 29)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button
    MsgBox(1, "Info", "Button wurde gedrückt")
    EndSwitch
    WEnd

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

    EndFunc

    [/autoit]

    mfg autobert

  • Bild einbinden

    • autoBert
    • 19. Mai 2012 um 04:37
    Zitat von Awesome

    kein feedback ?
    Update folgt in paar tagen


    ich erhalte eine Fehlermeldung:

    Code
    D:\Programme\AutoIt3\Test\BackUp\Test.au3(2783,19) : ERROR: AutoitImage() already defined.
    Func AutoitImage()


    deshalb ist aber kein Update notwendig ich habe einfach die zweite Funktion entfernt Ich benutze die _CreateTmpBinaryCall von Bugfix.

    Du hast mich auf eine Idee gebracht ich werde meine Über Programmname - Funktion zukünftig durch eine selbst erstellte UDF machen lassen.

    mfg autoBert

  • Link (Urls) weiterleitung

    • autoBert
    • 19. Mai 2012 um 03:49
    Zitat von chip

    Mh ok dann ist entweder das Beispiel in der Hilfe falsch oder das ganze hat nur noch bei Win XP unter SP2 funktioniert.


    Also unter XP SP3 funktioniert es auch. Hier einmal das angepasste Beispielskript, damit anstelle der MsgBox der Lonk aufgerufen wird:

    Spoiler anzeigen
    [autoit]

    Func WM_NOTIFY($hWnd, $iMsg, $iWparam, $iLparam)
    #forceref $hWnd, $iMsg, $iWparam
    Local $hWndFrom, $iCode, $tNMHDR, $tEnLink, $cpMin, $cpMax, $tMsgFilter
    $tNMHDR = DllStructCreate($tagNMHDR, $iLparam)
    $hWndFrom = HWnd(DllStructGetData($tNMHDR, "hWndFrom"))
    $iCode = DllStructGetData($tNMHDR, "Code")
    Switch $hWndFrom
    Case $hRichEdit
    Select
    Case $iCode = $EN_LINK
    $tMsgFilter = DllStructCreate($tagEN_MSGFILTER, $iLparam)
    If DllStructGetData($tMsgFilter, "msg") = $WM_LBUTTONUP Then
    $tEnLink = DllStructCreate($tagENLINK, $iLparam)
    $cpMin = DllStructGetData($tEnLink, "cpMin")
    $cpMax = DllStructGetData($tEnLink, "cpMax")
    ; MsgBox(0, "", "Rufen Sie Ihren Web-Browser hier auf, mit der URL " & _
    ShellExecute( _GuiCtrlRichEdit_GetTextInRange($hRichEdit, $cpMin, $cpMax))
    EndIf
    EndSelect
    EndSwitch
    Return $GUI_RUNDEFMSG
    EndFunc ;==>WM_NOTIFY

    [/autoit]

    Das einzige was ich mir vorstellen kann, das dies ein weiterer Bug der aktuellen Stable ist, denn ich benutze noch 3.3.6.1. ABer teste erst einmal obiges Skript bei mir läuft es (OS:WIN_XP/Service Pack 3 CPU:X86 OS:X86)

    Eine EXE in der ich es einsetze findest du unter: http://showroom.autobert.de/autobert/numpad/

    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™