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

Beiträge von latemail

  • mauspositionen im array speichern

    • latemail
    • 7. September 2009 um 16:45
    Zitat von RaYder04

    Bei "$zeit = $zeit - 1" wird immer 1 ms von $zeit subtrahiert.

    Mh, die Schleife kann man schlecht kleiner machen-.-
    gibs vlt. eine andere alternative?


    aber das subtrahieren samt Schleife dauert nicht 1 msec ....

    Alternative siehe mein Vorpost

  • mauspositionen im array speichern

    • latemail
    • 7. September 2009 um 16:38
    Zitat von RaYder04

    Hi
    Es dauert viel länger. Das ist natürlich ein großes Problem, weil dann die Position auch anders ist.

    Weiß einer eine Lösung bzw. eine Alternative?

    Code:

    Spoiler anzeigen
    [autoit]

    Func aufnahme()
    check()
    If $maus = 1 Then
    Sleep(500)
    $zeit = $zeit * 1000
    $klick = 0
    while 1

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

    if _IsPressed(01) Then
    _ArrayAdd($mausarray,"1")
    $klick = $klick + 1
    Else
    _ArrayAdd($mausarray,"0")
    EndIf

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

    GUICtrlSetData($Label5, $klick)

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

    $zeit = $zeit - 1
    If $zeit = 0 Then ExitLoop
    WEnd

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

    _ArrayDisplay( $mausarray, "Whole array" )

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

    EndIf

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

    EndFunc

    [/autoit]
    Alles anzeigen

    Na das liegt an Deiner Schleife, da werden viele Dinge ausgeführt die Zeit kosten, und mit
    "$zeit = $zeit - 1" wäre es Zufall, wenn der Schleifendurchlauf genau eine Sekunde dauert ....

    Mein Tip:
    1. Den Check nur einmal nach Verlassen des GUI aufrufen
    2. While Schleife, aus der per TimerInit()/TimerDiff eine Funktion aufgerufen wird
    3. in der Funktion MouseGetPos aufrufen und Ergebnis speichern
    4. in der Funktion Tasten abfragen und Ergebnis speichern

  • Imagesearch geht nicht ... it If Abfrage immer Fehler als antwort !

    • latemail
    • 11. August 2009 um 16:18

    [quote='AciDDreaM',index.php?page=Thread&postID=106726#post106726]Guten Tag ,

    ich habe vor gehabt etwas mit Imagesearch zu machen nur findet er das bild bzw den bildausschnitt nicht-,-

    Hier mein Code :

    Spoiler anzeigen
    [autoit]


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

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

    AutoIt Version: 3.3.0.0
    Author: myName

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

    Script Function:
    Template AutoIt script.

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

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

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

    ; Script Start - Add your code below here

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

    #include <ImageSearch.au3>

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

    HotKeySet("{F5}" , "start")
    HotKeySet("{F6}" , "stop")

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

    while 1
    sleep(999999999999999999999)
    WEnd
    Func start ()
    $x1=0
    $y1=0
    $result = _ImageSearch("Unbenannt.bmp",1,$x1,$y1,0)
    if $result=1 Then
    MouseMove($x1,$y1,3)
    MsgBox(0,"Gefunden","Da ist es ")
    Else
    msgbox(0,"Nichts gefunden","sry nix gefunden")
    EndIf

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

    $result = _ImageSearch("Unbenannt.bmp",0,$x1,$y1,0)
    if $result=1 Then
    MouseMove($x1,$y1,3)
    MsgBox(0,"Gefunden","Da ist es ")
    Else
    msgbox(0,"Nichts gefunden","sry nix gefunden")
    EndIf
    EndFunc

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

    func stop()
    Exit
    EndFunc

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


    MouseMove($x1,$y1,3) --------- so wie ich es verstehe geben $x1,$y1 die Startkoordinaten der Suche an, Deine Maus dürfte also wenn
    das Bild gefunden wird auf den Seitenanfang springen, die Koordinaten des "Fundortes" sind wahrscheinlich in $result zu finden ??!!??

  • Wie binde ich meine UDF in eine EXE ein??

    • latemail
    • 13. Juli 2009 um 13:03

    Merci

  • Wie binde ich meine UDF in eine EXE ein??

    • latemail
    • 13. Juli 2009 um 12:48

    Ich habe ne echte Anfängerfrage (taucht nocht nicht mal in der SuFu auf :whistling: :(

    habe ich es richtig verstanden, dass beim compilieren die angegebenen UDF´s (include) mit in den Code eingebaut werden, damit auch der die Exe nutzen kann, der kein AutoIt auf dem Rechner hat?

    Danke für Hinweise

  • in UDF prüfen ob Parameter gegeben ist.

    • latemail
    • 10. Juli 2009 um 16:17

    und vielleicht noch:


    [autoit]

    $r=_myUDF(5,2,4) ;// Mit angaben .
    MsgBox(0,"",$r)

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

    $r=_myUDF(5) ;// Er rechnet einfach +3 , da $ZweiteZahl Standartmässig 3 ist und Operator + .
    MsgBox(0,"",$r)

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

    Func _myUDF($ersteZahl,$ZweiteZahl=3,$operator=1) ;// Einfach schon etwas eintragen .

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

    If $ersteZahl = "" Then --> Errorhandling

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

    Switch $operator
    Case 1
    $result=$ersteZahl+$ZweiteZahl
    Case 2
    $result=$ersteZahl-$ZweiteZahl
    Case 3
    $result=$ersteZahl*$ZweiteZahl
    Case 4
    $result=$ersteZahl/$ZweiteZahl
    EndSwitch
    Return $result
    EndFunc

    [/autoit]

    [/quote]

  • Pixel zahl aufgrund mauswegeung übernehmen

    • latemail
    • 3. Juli 2009 um 15:45
    Spoiler anzeigen
    [autoit]


    Ich habe zb orginal bild 1000x1250
    dann habe ich nen GUI 200x250

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

    pos = MouseGetPos()
    $a = $pos[0]/4
    $b = $pos[1]/5
    $x = $b / 0.20
    $y = $a / 0.20
    MsgBox(0, "Maus x,y:", $x & "," & $y)

    [/autoit]


    also ich denke da ist ein Denkfehler drin, oder ich verstehe Dein Problem nicht;

    also ich würde es so machen
    pos = MouseGetPos()
    $a = $pos[0] ; xcoord im Gui
    $b = $pos[1] ; ycoord im Gui

    $faktor_x = $bild_x/$gui_x ; bei Dir 1000/200
    $faktor_y = $bild_y/$gui_y ; bei Dir 1250/250

    $x = $a * $faktor_x ; xcoord im Bild
    $y = $b * $faktor_y ; ycoord im Bild

    MsgBox(0, "Maus x,y:", $x & "," & $y)

    (ich habs nicht getestet, wenn der Koordinatenursprung nicht unten/links ist musst Du halt umrechnen)

  • Suche hilfe für die ersten AutoIT anfänge !

    • latemail
    • 30. Juni 2009 um 16:50

    Vielleicht die SuFu und Hilfe richtig verwenden:

    Zitat von AutoIT Anfänger


    Daher stell ich mal meine aktuellste frage:
    Ich würde ganz gerne autoIt so Programieren das es mein Browserfenster(MorzillaFirefox) nach Wörtern(zb: Goal) durchsucht.

    suche mal nach "Firefox"; Du findest sicher einige Threads zum Umgang mit FF, Script versuchen zu verstehen und dann für Dich anpassen

    Und das wenn er das wort gefunden hat soll er eine Neue tap aufmachen und zb auf https://autoit.de/www.google.de gehen.

    suche mal nach "Internetseite Inhalt"; Threads lesen, Code testen, lernen !!!

    .... blos leider finde ich nichts in der AutoIt Hilfe sonnst hätte ich es selber gemacht(habe auch schon gegooglet).

    in den Codes aus den gefundenen Seiten den jeweiligen Befehl markieren, F1 drücken, Hilfe durchlesen und Anwendung
    des Befehls versuchen zu verstehen .............. und dann hier Fragen stellen

    Mfg AutoIt Anfänger

    Alles anzeigen

    8)Hier werden Sie geholfen 8)

    und hier gibts ein eigenen Bereich um Thema FF : Firefox - Automation

  • Fragen zur Funktion von FTP_Ex.au3

    • latemail
    • 24. Juni 2009 um 14:32

    Danke für die Tips ..... da hätte ich nie gesucht

    :whistling: außerdem bin ich meist schon stolz wenn ich´s nahezu fehlerfrei anwenden kann :whistling:

  • Fragen zur Funktion von FTP_Ex.au3

    • latemail
    • 24. Juni 2009 um 14:19
    Zitat von progandy

    setze mal den 3. Parameter der FileList-Funktion auf $INTERNET_FLAG_RELOAD = 0x80000000 ;)

    [autoit]

    $INTERNET_FLAG_RELOAD = 0x80000000
    $array = _FTPFilesListTo2DArray($FTPServer,0, $INTERNET_FLAG_RELOAD)

    [/autoit]

    ;(8|;(8|;(

    Du bist mir unheimlich ..... aber das klappt super ..... aber was gibt der Parameter an, ist das eine Reloadzeit ?? und wo findet man sowas??

  • Fragen zur Funktion von FTP_Ex.au3

    • latemail
    • 24. Juni 2009 um 10:00

    Hallo an Alle,

    ich habe zu Testzwecken folgenden Code geschrieben, der eine Anzahl von Dateien auf einen FTP-Server speichert, und nach jedem Speichern den Ordnerinhalt des Servers ausliest und anzeigt:

    Spoiler anzeigen
    [autoit]


    #include <Array.au3>
    #include <FTP_Ex.au3>

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

    Global $sess = "Test", $serv = "server", $user = "user", $pass = "pass"
    Global $FTP, $FTPServer, $FTPDir, $array, $file

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

    $FTP = _FTPOpen($sess)
    $FTPServer = _FTPConnect($FTP,$serv,$user,$pass)
    $FTPDir = _FtpSetCurrentDir($FTPServer,"/www")

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

    For $i = 1 To 10
    $file = "test__" & $i & ".php"
    _FTPPutFile($FTPServer, "test.php", $file)
    Sleep(5000)
    $array = _FTPFilesListTo2DArray($FTPServer,0)
    _ArrayDisplay($array)
    Next

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

    _FTPClose($FTPServer)
    _FTPClose($FTP)

    [/autoit]

    Nun die Fragen:

    1. Werden die _FTP - Befehle erst vollständig ausgeführt, bevor das Programmm weiter abläuft, oder sollte man die Ausführung der einzelnen Befehle abfragen (z.B. mit @error), um einen stabilen Ablauf zu gewährleisten??

    2. Der neue Ordnerinhalt wird nicht richtig angezeigt, obwohl das Speichern klappt (fast schon eine Antwort auf 1. !!). Erst nach Neustart des Programmes sind dann alle Dateien im Array enthalten. Woran liegt das (Servereinstellung, Zeitfaktor, .....)?

    Danke schon mal für Tips

    Ergänzung:

    Auch folgende Version zeigt kein anderes Ergebnis, die gespeicherten Daten werden erst nach Neustart des Programms angezeigt ????????

    Spoiler anzeigen
    [autoit]


    Global $FTP, $FTPServer, $FTPDir, $array

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

    For $i = 1 To 10
    $FTP = _FTPOpen($sess)
    $FTPServer = _FTPConnect($FTP,$serv,$user,$pass)
    $FTPDir = _FtpSetCurrentDir($FTPServer,"/www")
    $file = "test__" & $i & ".php"
    _FTPPutFile($FTPServer, "test.php", $file)
    Sleep(5000)
    $array = _FTPFilesListTo2DArray($FTPServer,0)
    _ArrayDisplay($array, "Versuch ")
    _FTPClose($FTPServer)
    _FTPClose($FTP)
    Next

    [/autoit]

    2. Ergänzung:

    Auch das Einfügen einer längeren Wartezeit zwischen den Connects ändert nichts .................

  • Switch Case bei unbekannter anzahl an Steuerelementen

    • latemail
    • 21. Juni 2009 um 00:29
    Zitat von Schnitzel

    ok ich hab jetz mal
    ich brauch nurnochwas womit ich rauskriege welche der comboboxen geändert wurde, damit ich mit der nummer der box auch die in der selben zeile befindliche inputbox bzw checkbox ändern kann.

    Gruß
    Schnitzel


    also gemacht habe ich es noch nicht .... aber als Idee .... kannst Du nicht in einem Array die ID´s der Elemente speichern die Du erstellst, und dann das Array abfragen, bzw. die ID´s daraus auslesen und entsprechend mit CASE abfragen ???

  • MouseMove

    • latemail
    • 18. Juni 2009 um 12:10

    die Hilfe hilft:

    Spoiler anzeigen
    [autoit]


    ; Finde einen roten Pixel im Bereich 0,0-20,300.
    $coord = PixelSearch( 0, 0, 20, 300, 0xFF0000 )
    If Not @error Then
    MsgBox(0, "X und Y lauten:", $coord[0] & "," & $coord[1])
    EndIf

    [/autoit]

    statt MsgBox dann Deinen MouseMove oder besser : MouseClick ( "button" [, x, y [, clicks [, speed ]]] )

  • Auswahlmarkierung mit Angaben (Position, Breite und Höhe)

    • latemail
    • 9. Juni 2009 um 11:42
    Zitat von MehmeX
    Spoiler anzeigen
    [autoit]

    Func _markierung()
    $gui_maus = GUICreate("", @DesktopWidth, @DesktopHeight, -1, -1, $WS_POPUP)
    WinSetTrans($gui_maus, "", 10)
    GUISetState()

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

    GUISetCursor(3, 1)

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

    While 1
    If _IsPressed("01") Then ;Wenn die linke Mausstate geklickt wird.
    $mausbewegung = MouseGetPos()
    ExitLoop
    EndIf
    WEnd

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

    While 1
    If Not _IsPressed("01") Then ;Wenn die Linke Mausstate losgelassen wird.
    $mausbewegungende = MouseGetPos()
    ExitLoop
    EndIf
    WEnd

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

    GUIDelete($gui_maus)

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

    GUICtrlSetData($b_x_achse, $mausbewegung[0])
    GUICtrlSetData($b_y_achse, $mausbewegung[1])
    GUICtrlSetData($b_breite, $mausbewegungende[0] - $mausbewegung[0])
    GUICtrlSetData($b_hoehe, $mausbewegungende[1] - $mausbewegung[1])

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

    GUISetCursor(2, 0)
    EndFunc

    [/autoit]
    Alles anzeigen

    genau so hatte ich es gemeint, ich hätte die While´s zwar verschachtelt, hat aber gleichen Effekt .............

  • Auswahlmarkierung mit Angaben (Position, Breite und Höhe)

    • latemail
    • 8. Juni 2009 um 13:42
    Zitat von MehmeX

    Dieses Thema kenn ich schon. Gibt es da keine Alternative, ich denke das geht doch einfacher.

    ich würde die Funktion _IsPressed nehmen;

    1. Position erfassen wenn linke Maustaste gedrückt wird
    2. Position erfassen wenn linke Maustaste losgelassen wird
    3. Ausgabe der beiden Positionen bzw. der daraus errechneten Abmessungen

  • SaveGame Editor mit Autoit erstellen? (Hex-Editor) (KEIN BOT ODER HACK!)

    • latemail
    • 3. Juni 2009 um 13:08

    versuchs doch mal mit einem sauberen File-Open und File-Close nach jedem Zugriff ..........

    siehe Hilfe :

    Bemerkungen
    Eine Datei kann nur entweder im Lese- oder im Schreibmodus geöffnet sein - sie kann nicht in beiden geöffnet sein.
    Manche Dateiattribute können ein öffnen einer Datei unmöglich machen.
    Wenn eine Datei im Schreibmodus geöffnet wird, wird die Datei erstellt falls sie nicht existiert.
    Wenn die Bearbeitung der Datei abgeschlossen ist, sollte die Funktion FileClose aufgerufen werden um die Datei zu schließen.

  • Wie optimierte man den Verbrauch an Arbeitsspeicher?

    • latemail
    • 3. Juni 2009 um 12:57
    Zitat von Oscar

    AutoIt ist keine Programmiersprache, die eine "echte" Kompilierung verwendet. Das Skript bleibt ein Skript und wird zur Laufzeit interpretiert.
    Einige grundsätzliche Resourcen (auf die Du gar keinen Einfluss hast) werden daher bereits für den Interpreter benötigt.

    Danke, das war mir nicht klar, dann hat sich das geklärt ....

  • Wie optimierte man den Verbrauch an Arbeitsspeicher?

    • latemail
    • 2. Juni 2009 um 15:18

    Hi an Alle,

    ich meine damit natürlich nicht den physikalischen Verbrauch des RAM 8) sondern dessen Belegung durch ein AutoIt - Script.

    Welche Funktionen sind Speicherfresser, welche "Konstuktionen" sollte man Eurer Meinung/Erfahrung nach vermeiden?

    - Anzahl der globalen Variablen
    - Anzahl der definierten Hotkeys
    - ???

    Ich habe mal eben ein Script laufen lassen, das in der Hauptschleife nur ein paar If-Abfragen hat, und war über die Speicherbelegung erstaunt. Reduziert sich das mit dem Compiliern, ich habe den Eindruck es bleibt ohne Effekt, wie kann das sein?

  • SaveGame Editor mit Autoit erstellen? (Hex-Editor) (KEIN BOT ODER HACK!)

    • latemail
    • 2. Juni 2009 um 12:55
    Zitat von sir-gunny
    Spoiler anzeigen

    02 00 31 2e 33 00 00 1a 00 1d 00 0e 00 0f 9c 9c 9c 9c 00 00 00 00 00 00 9c ff 9c ff 9c ff 9c ff 0e 00 0f 9c 9c 9c 9c 00 00 00 00 00 00 9c ff 9c ff 9c ff 9c ff 0e 00 0f 9c 9c 9c 9c 00 00 00 00 00 00 9c ff 9c ff 9c ff 9c ff 0e 00 0f 9c 9c 9c 9c 00 00 00 00 00 00 9c ff 9c ff 9c ff 9c ff 0e 00 0f 9c 9c 9c 9c 00 00 00 00 00 00 9c ff 9c ff 9c ff 9c ff 0e 00 0f 9c 9c 9c 9c 00 00 00 00 00 00 9c ff 9c ff 9c ff 9c ff 0e 00 0f 9c 9c 9c 9c 00 00 00 00 00 00 9c ff 9c ff 9c ff 9c ff 0e 00 0f 9c 9c 9c 9c 00 00 00 00 00 00 9c ff 9c ff 9c ff 9c ff 0e 00 0f 9c 9c 9c 9c 00 00 00 00 00 00 9c ff 9c ff 9c ff 9c ff 0e 00 0f 9c 9c 9c 9c 00 00 00 00 00 00 9c ff 9c ff 9c ff 9c ff 0e 00 0f 9c 9c 9c 9c 00 00 00 00 00 00 9c ff 9c ff 9c ff 9c ff 0e 00 0f 9c 9c 9c 9c 00 00 00 00 00 00 9c ff 9c ff 9c ff 9c ff 0e 00 0f 9c 9c 9c 9c 00 00 00 00 00 00 9c ff 9c ff 9c ff 9c ff 0e 00 0f 9c 9c 9c 9c 00 00 00 00 00 00 9c ff 9c ff 9c ff 9c ff 0e 00 0f 9c 9c 9c 9c 00 00 00 00 00 00 9c ff 9c ff 9c ff 9c ff 0e 00 0f 9c 9c 9c 9c 00 00 00 00 00 00 9c ff 9c ff 9c ff 9c ff 0e 00 0f 9c 9c

    also wenn die Struktur immer gleich bleibt, dann könnte man mit den String-Funktionen arbeiten, also StringSplit, StringReplace etc.

    also Wert einlesen, in Hex übersetzen, an der passenden Stelle Einfügen, Datei speichern

    vielleicht so?!?

  • SaveGame Editor mit Autoit erstellen? (Hex-Editor) (KEIN BOT ODER HACK!)

    • latemail
    • 28. Mai 2009 um 12:44

    ..... dazu müsste man wissen wie so ein SaveGame aussieht

    poste doch mal ein Bsp.

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™