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

Beiträge von Andy

  • Fragen zu $CMDLINE[0]

    • Andy
    • 7. Januar 2009 um 15:16
    Zitat

    er meint aber das ergebnis mit cmd dann laden...
    also cmd sendet an autoit und dann EMPFÄNGT der auch was...

    eben. ob du nun per drag&drop parameter übergibst oder per console ist der *.exe völlig schnurz.
    anfangs beschrieb er das problem so, als würde er die parameter nicht übergeben können, bzw so, als kämen die übergebenen parameter nicht im script an.
    was sie aber definitiv doch taten ^^

    .andy

  • Fragen zu $CMDLINE[0]

    • Andy
    • 7. Januar 2009 um 15:07

    Hallo zusammen,

    bei mir funktioniert die Übergabe der Parameter auch reibungslos ohne CUI-Modus.

    Einfaches Testverfahren:

    Datei erstellen mit der Zeile:

    [autoit]

    msgbox(0,"",$cmdline[1])

    [/autoit]


    Diese Datei in eine *.EXE kompilieren.

    Dann einfach im Explorer irgendeine Datei per drag&drop auf die kompilierte *.EXE ziehen.
    Sollte dann im msgboxfenster nicht der Pfad/Dateiname der gedroppten Datei stehen, weiss ich auch nicht weiter....jedenfalls liegts dann m.e. nicht an AutoIt.

    Sollte allerdings die msgbox den pfad/dateinamen anzeigen, dann vermute ich ein Layer-8-Problem oder den berühmten handbooknotreaderror :o)

    ciao
    .andy

    *edit* so wie ich das sehe war die abfrage der parameter wohl nicht das problem....

  • AcdSee Statusleiste auslesen

    • Andy
    • 23. Dezember 2008 um 13:24

    Hi,

    [autoit]


    $dateiname = ControlGetText("Wallpaper-ACDSee Pro 2.5", "",59393)

    [/autoit]


    Ich kann nicht erkennen, ob der Bindestrich beim Wallpaper von Leerzeichen eingefasst ist....

    Zitat

    ControlGetText ( "title", "text", controlID )

    Parameter
    title Der Titel des Fensters, auf das zugegriffen werden soll. **** hier hattest du den $handle vom Control übergeben*******
    text Der Text des Fensters, auf das zugegriffen werden soll. ****** s. pic Nr. 3 ************
    controlID Die ID des Steuerelements, das beeinflusst werden soll. Siehe Controls. ****** rischtiiiisch^^ *****

    Sollte funktionieren, Ich habe allerdings auch schon div. Schwierigkeiten bei der Ermittlung der Statuszeile gehabt. Siehe Deinen Screen Nr. 7 bzgl. Statusbar.....

    ciao
    .Andy

  • Pixel search

    • Andy
    • 10. Dezember 2008 um 17:15

    Hi,

    HIER gibts eine ausführliche deutschsprachige Hilfe zu AutoIt, incl. Beispielen zu den Funktinen usw...

    Dort ist auch deutlich beschrieben wie der IchhabedenPixelindieserFarbenichtgefunden-Fall abgefangen wird.
    Ich meine, ein kleines bisschen Selbstinitiative kann/sollte/muß man erwarten!

    ciao
    .Andy

  • Pixel search

    • Andy
    • 10. Dezember 2008 um 17:01

    Hallo,

    Mousemove erwartet doch x und y-Koordinaten?!

    mit

    [autoit]

    mousemove([$psg[0],$psg[1])

    [/autoit]


    sollte es klappen...

    ciao
    .Andy

  • "Mail" zu meinem FTP-Server

    • Andy
    • 9. Dezember 2008 um 15:53

    Hallo!

    Jetzt habe ich Dein Problem verstanden!
    Es ist der allseits beliebte Handbooknotread-error, der Dich plagt!

    Mal ganz im Ernst, in der Hilfe steht zu GUICtrlCreateInput :

    Zitat


    GUICtrlCreateInput ( "text", left, top [, width [, height [, style [, exStyle]]]] )

    Rückgabewert
    Erfolg: Gibt die Identifikationsnummer (controlID) des neuen Steuerelements zurück.
    Fehler: Gibt 0 zurück.

    Bemerkungen
    Um den Wert des Steuerelements zu erhalten, siehe GUICtrlRead.
    Um Informationen im Steuerelement zu setzen oder zu verändern, siehe GUICtrlSet....

    Soweit, sogut:

    Zitat

    GUICtrlRead ( controlID [, advanced] )

    Parameter
    controlID Die Identifikationsnummer des Steuerelements (Control-ID), wie von einer GUICtrlCreate... Funktion zurückgegeben.
    advanced [optional] gibt erweiterte Informationen eines Steuerelements zurück.
    0 = (Standard) Gibt einen Wert mit dem Status oder den Daten eines Steuerelements zurück.
    1 = gibt erweiterte Informationen eines Steuerelements zurück (siehe Bemerkungen).

    Rückgabewert
    Erfolg: Der Rückgabewert ist abhängig vom Steuerelement (siehe unten).
    Misserfolg: Gibt 0 zurück.
    Typ Wert
    Checkbox, Radio Status des Buttons/Kästchens. siehe Status-Tabelle
    Combo, List Der ausgewählte/markierte Wert.
    Input, Edit Der eingegebene Text.

    Alles anzeigen


    Also sollte demnach....

    Spoiler anzeigen
    [autoit]


    ; Absichtlich komplett ohne Erklärungen, Beschreibungen usw....

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

    #include <GUIConstants.au3>
    #include <EditConstants.au3>
    #include <WindowsConstants.au3>

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

    $Gui = GUICreate("Beispiel",350,300)

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

    $control_id_input1=GUICtrlCreateInput ("Eingabetext1",30,20,80,20)
    $control_id_input2=GUICtrlCreateInput ("Eingabetext2",30,50,80,20)
    $control_id_input3=GUICtrlCreateInput ("Eingabetext3",30,80,300,200,$WS_HSCROLL + $ES_AUTOVSCROLL + $WS_VSCROLL + $ES_MULTILINE + $ES_WANTRETURN )

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

    $eingabetext1 = GUICtrlRead($control_id_input1)
    $eingabetext2 = GUICtrlRead($control_id_input2)
    $eingabetext3 = GUICtrlRead($control_id_input3)

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

    $datenanzeigen = GUICtrlCreateButton('Daten anzeigen', 200, 20, 120, 25)
    GUISetState(@SW_SHOW)

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

    Do
    $msg = GUIGetMsg()
    If $msg = $datenanzeigen Then
    $eingabetext1 = GUICtrlRead($control_id_input1)
    $eingabetext2 = GUICtrlRead($control_id_input2)
    $eingabetext3 = GUICtrlRead($control_id_input3)
    msgbox(0,"Feld1",$Eingabetext1)
    msgbox(0,"Feld2",$Eingabetext2)
    msgbox(0,"Feld3",$Eingabetext3)
    $alleszusammen=$eingabetext1 & $eingabetext2 & $eingabetext3
    msgbox(0,"Bääääähhhhh",$alleszusammen)
    $naja=$eingabetext1 & @crlf & $eingabetext2 & @crlf & $eingabetext3
    msgbox(0,"naja",$naja)
    $sogehoertsichdas="Absender: " & $Eingabetext1 & @crlf & "Betreff: " & $Eingabetext2 & @crlf & "Nachricht: " & $Eingabetext3
    Msgbox(0,"Sogehoertsichdas!",$sogehoertsichdas)
    endif
    Until $msg = $GUI_EVENT_CLOSE

    [/autoit]


    ...alle Klarheiten beseitigt sein. :rolleyes:
    ciao
    .Andy

  • "Mail" zu meinem FTP-Server

    • Andy
    • 9. Dezember 2008 um 10:53

    Hallo,

    [autoit]

    $text=$absender&@CRLF&$betreff&@CRLF&$nachricht

    [/autoit]


    ....verstehe das Problem nicht ?(

    ciao
    .Andy

  • Pfad aus Datei-Öffnen-Dialog herausfinden

    • Andy
    • 8. Dezember 2008 um 17:38

    Hallo,

    so in etwa funzt es:

    Spoiler anzeigen
    [autoit][/autoit] [autoit][/autoit] [autoit]

    $dialogtitel="Öffnen" ; name Dialogfenster
    winwaitactive($dialogtitel) ; warten bis fenster geöffnet
    $controlidpath=1137 ;per WindowInfo rauszufinden
    $controlidfile=1148 ;hier z.b. opera browser

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

    $path="c:\programme\hallo"
    $verz1=""
    $file1=""

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

    while 1

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

    $verz=controlgettext($dialogtitel,"",$controlidpath)
    $file=controlgettext($dialogtitel,"",$controlidfile)

    if wingetstate($dialogtitel)=0 then exitloop

    If $verz1<>$verz then ;Verzeichnis wurde gewechselt
    $path = $path & "\" & $verz
    $verz1=$verz
    endif

    If $file1<>$file then ;Dateiname wurde gewechselt
    $file1=$file
    endif

    wend ;solange Dialog offen ist....

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

    $path = $path & "\" & $file1
    msgbox(1,"Ende",$path)

    [/autoit]

    ciao
    .Andy

  • Pfad aus Datei-Öffnen-Dialog herausfinden

    • Andy
    • 8. Dezember 2008 um 17:03

    Hallo,

    habe was gefunden, AutoIt Windowinfo ftw^^

    Du kannst beim ersten Starten des fremden Fileopendialogs aus diesem Dialog die einzelnen von dir ausgewählten Pfade "rauskopieren". Also gewissermaßen in einer Schleife den Namen im "Aktueller Ordner"-Feld abfragen.
    Genauso das "Dateiname" Eingabefeld abfragen. Nach dem Schließen des Dialogs ist der letzte Eintrag dort die geöffnete Datei gewesen.

    Beim nächsten Öffnen des Dialogs dann weiter wie gehabt, den kompletten Pfad in die Eingabezeile senden und los...

    Ich versuchen mal was zu basteln...

    ciao
    .Andy

  • Pfad aus Datei-Öffnen-Dialog herausfinden

    • Andy
    • 8. Dezember 2008 um 16:31

    Hallo,

    um nochmal dein Problem zu verstehen:
    - du hast eine (oder mehrere) Dateien TEST.TST irgendwo in einem Verzeichnis unterhalb von "c:\programm\hallo" stehen, die mit einem externen Programm geöffnet werden sollen.
    - der Fileopen-Dialog des extrenen Programms startet immer im verzeichnis \hallo\
    - um nicht "von Hand" im externen Programm das Verzeichnis per Dialog zur gesuchten Datei zu wechseln, soll diese Arbeit von deinem Script übernommen werden.

    Wenn du den Namen der Datei kennst und den Pfad dorthin, dann kannst du "c:\programm\hallo\"&$pfad&"\"&$dateiname" von deinem Skript in die Eingabeaufforderung im Fileopen-Dialog des externen Programms schreiben.

    ciao
    .Andy

  • Dateidatum auslesen per _FtpFileFindFirst- bzw. _FtpFileFindNext

    • Andy
    • 5. Dezember 2008 um 20:43

    Hallo prog@ndy,

    THX!
    Hab mir einen abgebrochen mit Bit-rumgeschiebe...

    Also Deins ist wesentlich eleganter :D *verneig*

    ciao
    .Andy

  • Exit nur für gerade ausgeführte Function

    • Andy
    • 4. Dezember 2008 um 00:47

    Hallo,

    Exit beendet das gesamte Programm.
    Die Funktion wird beendet, indem du per EXITLOOP aus der ESC-Abfrageschleife springst.

    .Andy

  • OCR eines Sreenshots mit Positionsbestimmung des gesuchten Textes

    • Andy
    • 4. Dezember 2008 um 00:33

    Hallo zusammen,

    ich habe etwas ähnliches unter Zuhilfenahme "externer" Programme mit Autoit kombiniert.

    Das Autoit-skript macht einen Screenshot einer bestimmten Fläche innerhalb eines Grafikscreens(dort steht ein Text), beispielsweise 300x200 Pixel. (Nein, kein captcha, sondern ein grafischer Chat in einem Onlinespiel meines Sohnes...)

    Dieser Screenshot wird als *.jpg-Datei gespeichert, danach mit Hilfe eines Konsolenprogramms in ein Graustufenbild umgewandelt und anschließend wird von einem weiteren Konsolenprogramm der in der "Grafikdatei" stehende Text per OCR erkannt und in eine Textdatei geschrieben.
    Autoit startet also eigentlich nur aus dem laufenden Skript nach dem Speichern der *.jpg eine Batchdatei welche die Umwandlung in *.txt erledigt.

    Eine sehr schnelle und auch erkennungstechnisch sehr gute Lösung für "normale" Bildschirm-Schriften.

    Da ich keine Ahnung habe (Neuling^^) wie hier im Forum mit Links auf irgendwelche Internetseiten umgegangen wird, einfach mal der Tip die Tante mit folgenden Begriffen zu quälen: gocr sollte den ersten Treffer ergeben, mit djpeg gibts weiteres...wenn man nun beide Begriffe zusammen benutzt, landet man unweigerlich beim ersten Treffer auf einer Seite, die eine eindrucksvolle Anwendung der Kombination dieser Programme darstellt.


    .Andy

  • Dateidatum auslesen per _FtpFileFindFirst- bzw. _FtpFileFindNext

    • Andy
    • 3. Dezember 2008 um 23:18

    Hallo zusammen,

    mein Problem ist, daß ich mit Hilfe der Funktion _FtpFileFindFirst nicht das Dateidatum sondern nur den Dateinamen, Dateiattribut und Dateigröße von Dateien auf (m)einem FTP-Server auslesen kann.

    Datum/Zeit sind als highbyte/lowbyte zurückgegeben. Das Datum 02.12.2008 z.B. als das dword 29971644

    Wie komme ich von der "zahl" zum Datum?

    Weiterhin interessiert mich, warum die Funktion kein Datum/Zeit vom Erstellungsdatum bzw. letzen Zugriff ausgibt.

    thx vorab
    .Andy

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™