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

Beiträge von Ilse

  • _Arraydisplay an Textdatei anfügen

    • Ilse
    • 17. November 2014 um 13:06

    Hallo Oscar,

    mal wieder was gelernt. Auf jedenfall herzlichen Dank!
    Ich muß mein Script kpl. umbauen mit den Loops ...
    hoffe das klappt.

    DANKE! :)

  • _Arraydisplay an Textdatei anfügen

    • Ilse
    • 17. November 2014 um 12:24

    Hallo Oscar,

    ich habe mal ein Beispielscript gemacht (Sorry, ging anders leider nicht)
    Ich fasse mal alles zusammen:

    1. Es gibt mehrere RegEx Suchpattern.
    2. Die müssen in eine Zeile geschrieben werden. (CSV m. Trenner)

    Ich denke dass man das jetzt nachvollziehen kann.

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

    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <Array.au3>

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

    $Form1 = GUICreate("Form1", 440, 256, 422, 225)
    $btnDatei = GUICtrlCreateButton("Textdatei generieren", 216, 152, 123, 41)
    GUISetState(@SW_SHOW)

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

    $Text = "Suche1Hans MüllerEnde1,Suche2HauptstrasseEnde2,Suche366554Ende3,Suche4HamelnEnde4"; hier kommen die Ergebnisse her!

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

    $Name = StringRegExp($text,'Suche1(.*?)Ende',3)
    $Strasse = StringRegExp($text,'Suche2(.*?)Ende',3)
    $Plz = StringRegExp($text,'Suche3(.*?)Ende',3)
    $Ort = StringRegExp($text,'Suche4(.*?)Ende',3)

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

    $datei = "test.txt"
    ;~ _ArrayDisplay($Name)
    ;~ _ArrayDisplay($Strasse)
    ;~ _ArrayDisplay($Plz)
    ;~ _ArrayDisplay($Ort)

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

    $Adresse = $Name&";"&$Strasse&";"&$Plz&";"&$Ort ; Diese Felder sollen alle in die Textdatei in einer Zeile!

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

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

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

    Case $btnDatei

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

    For $in In $Adresse ;alle items im array
    FileWrite($datei, $in & @CRLF) ;in Datei schreiben
    Next
    ShellExecute($datei)

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

    EndSwitch
    WEnd

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

    Liebe Grüße
    Ilse

  • _Arraydisplay an Textdatei anfügen

    • Ilse
    • 17. November 2014 um 10:51

    Hallo Andy,
    erstmal Danke. Es klappt mit einer Suche.
    Wenn ich jedoch mehrere Ergebnisse Verknüpfe dann nicht!

    [autoit]


    $Name = StringRegExp($text,'"name">\s\s(.*?)</span>\s\s</a>',3)
    $Strasse = StringRegExp($text,'"streetAddress">(.*?)</span>',3)
    $Plz = StringRegExp($text,'"postalCode">(.*?)</span>',3)
    $Ort = StringRegExp($text,'"addressLocality">(.*?)</span>',3)

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

    $datei = "test.txt"

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

    $Adresse = $Name&";"&$Strasse&";"&$Plz&";"&$Ort

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

    For $in In $Adresse ;alle items im array
    FileWrite($datei, $in & @CRLF) ;in Datei schreiben
    Next

    [/autoit]

    Kannst du mir da noch bitte helfen.

    Liebe Grüße
    Ilse

  • _Arraydisplay an Textdatei anfügen

    • Ilse
    • 16. November 2014 um 18:16

    Hallo Andy,

    merci für die Tipps.
    Das verwirrt mich etwas:

    [autoit]


    Dim $array[5] = [0, 1, 2, 3, 4]

    [/autoit]


    Ich ermittle meine Arrays mit regex

    [autoit]


    $Test = StringRegExp($text,'"name">\s\s(.*?)</span>\s\s</a>',3)

    [/autoit]


    muß ich das dann auch mit dim machen?


    Liebe Grüße
    Ilse :)

  • _Arraydisplay an Textdatei anfügen

    • Ilse
    • 16. November 2014 um 16:34

    Hallo Techmix,

    Deine Variante hatte ich auch schon probiert!
    Mit Filewrite....

    [autoit]


    For $i = 1 to $Seite Step 1

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

    $Name = StringRegExp($Daten,'"name">\s\s(.*?)</span>\s\s</a>',3)

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

    _ArrayDisplay($Name) ; zeigt z.B. 10 Einträge beim ersten Durchlauf
    ; zeigt z.B. 13 Einträge beim zweiten Durchlauf, die sollten ngehängt werden!
    _FileWriteFromArray($sFile, $Name, -1 &@CRLF)
    Next

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


    $Name ist ein Array! (wird mit rexex ermittelt!
    Wie kann ich diese Arrays (es sind ja mehrere) pro Loop (_Arraydisplay z. 13)
    in die textdatei schreiben?

    [autoit]


    FileWriteLine($file, $Name[$i] & @CRLF)

    [/autoit]


    Im Loop noch ein Loop... ich weiß nicht wo ich da ansetzen muß!

  • _Arraydisplay an Textdatei anfügen

    • Ilse
    • 16. November 2014 um 15:21

    Hallo,

    merci für deine Hilfe.
    Das war's leider auch nicht!
    Auch wenn ich den Parameter änder (1-2)

    [autoit]


    _FileWriteFromArray($sFile, $Test, 2& @CRLF)

    [/autoit]

    Beispiel: Im ersten Durchlauf sind es COL 0 - 14 Einträge (15 Namen)
    Im zwiten Durchlauf sind es COL 0 - 1 Einträge (2 Namen)

    Und die Textdatei besteht aus 13 Einträgen!
    Sollten aber 17 sein!

    EDIT

    [autoit]


    For $i = 1 to $Seite
    ...
    _ArrayDisplay($test)

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

    _FileWriteFromArray($sFile, $Name, -1 &@CRLF)
    Run("notepad.exe " & $sFile); Kontrolle
    next

    [/autoit]

    Also jeder Durchlauf wird geschrieben, nur nicht angehängt!

  • _Arraydisplay an Textdatei anfügen

    • Ilse
    • 16. November 2014 um 14:30

    Hallo,

    wie kann man die Werte v. _Arraydisplay an eine Textdatei anfügen.
    Beispiel:
    Bei jedem Loopvorgang werden unterschiedliche Werte m. _Arraydisplay angezeigt!
    Und genau diese Werte sollen in einer Textdatei jedesmal angehängt werden!
    Ein _Arraydisplay landet in der Textdatei. Aber beim nächsten Loop wird dieses übeschrieben.
    Welchen Befehl gibt es fürs anhängen?

    (Sorry, aber ich kann nur diesen Beispielcode posten. Https...)

    [autoit]


    #include <file.au3>
    #include <array.au3>
    dim $Name[14]

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

    $sFile = @ScriptDir & "\Namen.txt"

    For $i = 1 to $Seite Step 1

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

    $Name = StringRegExp($Daten,'"name">\s\s(.*?)</span>\s\s</a>',3)

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

    _ArrayDisplay($Name) ; zeigt z.B. 10 Einträge beim ersten Durchlauf
    ; zeigt z.B. 13 Einträge beim zweiten Durchlauf, die sollten ngehängt werden!

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

    Next

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

    _FileWriteFromArray($sFile, $Test, 1); hier sollen alle Loopwerte angefügt werden!

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

    Würde mich über eure Hilfe freuen.

    Viele Grüße
    Ilse

  • Programm steuern

    • Ilse
    • 31. März 2014 um 07:12

    Hallo,

    konnte mich erst heute wieder melden.

    Ich habe natürlich im Treeview alles probiert.
    Man kann m. Tastaturabkürzungen
    zwar den Baum in der TreeView aufklappen...

    aber was mir noch aufgefallen ist. Wenn ich in der TreeView
    einen bestimmten Eintrag anklicke, dann ändert sich die
    (Autoit-Info) die ControlID.(Der Baum wird kpl. ausgewählt)
    Die Logik wäre ja: einfach z.B. nacheinander die ControlID's
    anzuklicken (1,2,3,4...) bis ich bei 5 bin.
    Und das geht nicht. Gibt es da vielleicht noch andere Befehle
    die man ausser ControlClick einsetzen muß.
    Mit ControlSend ControlCommand bin ich da auch nicht weiter gekommen. :)


    Liebe Grüße
    Ilse

  • Programm steuern

    • Ilse
    • 30. März 2014 um 13:21

    Hallo,

    ich probiere schon seit einigen Tagen das Problem zu lösen.
    Es handelt sich um ein (Finanz-Programm)

    Ich möchte mit ControlClick einzelne Seiten aufrufen.
    Ich habe m. Control-Befehlen u.v.m probiert

    1. Problem:
    Ich muß von Hand im Steuer-Program per TreeView mich mühsam
    bis zur jeweiligen Maske heranklicken. Erst dann kann ich ControlClick f. die blauen Buttons verwenden.

    2. Problem
    In derTreeView kann ich nicht mit Autoit Info die einzelnen Controls anwählen.
    Es wird nur das gesamte Control gezeigt.

    Ich kann also nicht z.B. 5 ControlClicks verwenden um an mein Ziel zu kommen.

    Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist.

    Wenn das Fenster aktiv ist kann ich ControlClick verwenden

    [autoit]


    WinActivate("Steuer","")
    ControlClick("Steuer","","QWidget89","left",1); funktioniert (Blauer Button)

    [/autoit]

    ändere ich in derTreeView den Eintrag, dann arbeitet dieser Befehl nicht mehr!
    Ich möchte quasi per Control genau diese Maske aufrufen.

    Ich habe aber gesehen, das das Steuer-Programm für jede Eingabemaske( MASKE RECHTS, zu der ich hin will)
    bei den Controls (autoit-Info) Karteikarten benennt.

    Zitat


    zWinDialog_17021_Karteikarte
    zWinDialog_1801_Karteikarte...

    Wenn ich diese aufrufen könnte wäre das Problem gelöst!
    Meine Frage:
    Wie kann man diese Karteikarten direkt mit Controls... anspringen?
    Oder, wie kann ich im TreeView einzelne Links auslesen. (da komme ich mit AutoIt-Info) nicht weiter!

    Ich hoffe die Profis können mir helfen!

    Liebe Grüße
    Ilse

    Dateien

    auoit-3.jpg 238,09 kB – 535 Downloads
  • Inputbox nach Eintrag weiter

    • Ilse
    • 18. März 2014 um 17:50

    @ alle
    ich muß wieder zur Arbeit. Kann morgen erst wieder ran.

    BugFix
    jetzt ist aber gut...
    natürlich lernt man v. Beispielen
    Ist heute wohl nicht dein Tag!

    jjj
    merci für deine Hilfe

    i2c
    Eigeninitiative, morgen wieder...

    Danke

    :) Ilse

  • Inputbox nach Eintrag weiter

    • Ilse
    • 18. März 2014 um 16:29

    i2c
    ja habe ich gelesen.
    merci. Muß ich mir noch genauer ansehen

    Andy
    du hast ja recht.
    Ich habe Probleme m. Formulierungen.
    Sorry, bin heute etwas down nach Stunden tippen...

    Kein Quiz...
    Es müssen viele Daten ausgefüllt werden.
    Sobald was geschrieben wurde ist diese Box nach 2 Sekunden beendet und es geht weiter...

    ;) Ilse

  • Inputbox nach Eintrag weiter

    • Ilse
    • 18. März 2014 um 15:16
    Zitat


    reichlich Überflüssig, denn wer in der Hilfe zur InputBox() nachliest, findet den Parameter "timeout" den man ohne weiteres auf 2 Sekunden einstellen kann...


    1. Timeout weiss ich, das ist nicht die Lösung.

    Spoiler anzeigen


    $IPT1 = InputBox("Frage1", "Die Erste Frage","","","","","","",2)


    3. Google suche (timer...kenne ich)

    Wie kann ich diese 2 Sekunden (INPUTBOX) mit Eintrag kombinieren.

    Grüße
    Ilse ;)

    @ Bugfix
    Dein Kommentar ist wohl leicht daneben.

  • Inputbox nach Eintrag weiter

    • Ilse
    • 18. März 2014 um 14:27

    Hallo Bugfux,

    hm eine kleine Gui habe ich.

    Spoiler anzeigen
    [autoit]


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

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

    $Form1_1 = GUICreate("Frage", 389, 213, 527, 211)
    GUISetFont(12, 400, 0, "Verdana")
    $Input1 = GUICtrlCreateInput("", 24, 128, 353, 26)
    $lblFrage = GUICtrlCreateLabel("Frage", 24, 24, 49, 22)
    $btnOK = GUICtrlCreateButton("ok", 296, 168, 75, 25)
    $btnCancel = GUICtrlCreateButton("Cancel", 176, 168, 99, 25)

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

    GUISetState(@SW_SHOW)

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

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

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

    Case $btnOK
    Case $btnCancel
    EndSwitch
    WEnd

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

    aber wie gesagt, es soll automatisch weitergehen, sobald ein Eintrag erfolgt ist!

    Kannst du mir da ein Beispiel geben.
    Wie ich mehrere "Guis" (Inputboxen) organisieren?

    Liebe Grüße
    Ilse ;)

  • Inputbox nach Eintrag weiter

    • Ilse
    • 18. März 2014 um 12:32

    Hallo,

    ich möchte einen Inputbox Code
    in diverse Scripte einbauen.

    Im Prinzip 2 oder mehrere Inputboxen.

    Meine Frage:

    Wie kann ich bei den Inputboxen einbauen,

    1. Sobal Text eingetragen wurde (nach 2 Sekunden automatisch weiter) also OK
    2. Zusätzlich kann man auch auf OK klicken!
    Kann man das in eine einzele Funktion machen die ich dann
    in andere Scripte einbauen kann?

    [spoiler]

    [autoit]


    $IPT1 = InputBox("Frage1", "Die Erste Frage")
    $IPT2 = InputBox("Frage2", "Die zweite Frage")
    $IPT3 = InputBox("Frage3", "Die dritte Frage")

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

    Msgbox(4096,"Ende","Fertig")

    [/autoit]


    [/spoiler


    Viele Grüße
    Ilse ;)

  • Global Variablen abfragen

    • Ilse
    • 17. März 2014 um 08:09

    Hallo zusammen,

    Dank euch mal wieder für die Tipps.


    Liebe Grüße
    Ilse ;)

  • Global Variablen abfragen

    • Ilse
    • 16. März 2014 um 18:15

    Hallo,

    merci für den Tipp!

    Kann man die Variablen nicht auch per Funktion & #Include
    einbinden?

    Ich erkläre das nochmal:

    Ein StartScript öffnet und schliesst div. weitere Scripts.
    Das Startscript wählt z.B. den 2014 Ordner und startet das Script Beispiele.
    Im Script Beispiel muß ich nun ein Label m. der Variablen d. ersten Scripts (2014 Ordner) versehen.

    Muß ich zusätzlich in den "geöffneten Scripts" etwas ändern?
    Wie spreche ich diese Variable im 2. Script an? (...hat bei mir irgendwie nicht geklappt.)

    Liebe Grüße
    Ilse ;)

  • Global Variablen abfragen

    • Ilse
    • 16. März 2014 um 16:37

    Hallo,

    Ich habe folgendes Problem:

    1. Eine Hauptgui selektiert einen Ordner
    2. Diese Gui startet mit einem Button ein weiteres Script

    Wie kann ich in dem 2. Script abfragen, welcher Ordner in dem ersten Script gewählt wurde?

    Spoiler anzeigen
    [autoit]


    ;Gui 1 Wählt aus
    Global $ProjektFolder

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

    $ProjektFolder = FileSelectFolder("Ordner wählen",@ScriptDir)
    MsgBox(4096,"Dieser Ordner wurde gewählt",$ProjektFolder)

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

    ;Es wird eine weiteres Script gestartet. Fenster2.au3

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

    ;Wie kann ich in diesem 2. Script den $ProjektFolder abfragen?

    [/autoit]


    Liebe Grüße
    ;) Ilse

  • Splashtext ControlClick Mouseklick

    • Ilse
    • 15. März 2014 um 12:34

    Hallo Misterspeed,

    das habe ich mir fast gedacht. Schade.
    IE und FF Funktionen sind bekannt.
    Dank deiner tollen Erklärung sehe ich mal wieder etwas klarer.

    Liebe Grüße
    Ilse ;)

  • Splashtext ControlClick Mouseklick

    • Ilse
    • 14. März 2014 um 17:08

    Hallo Rynow,

    meine Versuche mit ControlClick klappen nicht!
    All meine Mausklicks funktionieren.
    Wie kann man das umwandeln auf ControlClicks? Ohne Angabe v. ID's, Fenster nur Coordinaten!
    geht das?

    Spoiler anzeigen
    [autoit]


    Opt('MouseCoordMode',0)

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

    ShellExecute("Notepad.exe","","","", @SW_MAXIMIZE)
    WinActivate("[CLASS:Notepad]", "")
    Sleep(4000)
    Local $size = WinGetPos("[active]")

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

    ;MsgBox(0, "Die Koordinaten des aktuellen Fensters lauten (x, y, Breite, Höhe):", $size[0] & " " & $size[1] & " " & $size[2] & " " & $size[3])
    ;SplashTextOn("Titel", "Klicks werden im Hintergrund gemacht!", -1,-1 , $size[0]+@Desktopwidth/4, $size[1]+@Desktopheight/4, 4, 2, 24)

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

    ;MouseClick("left",23,41,1); klappt
    ;ControlClick("","","","left",1,$size[0]+23,$size[1]+41); klappt nicht
    ControlClick("","","","left",1,23,41); klappt nicht
    ControlClick("","","","left",1,1939,89); klappt nicht! (m. Infotool ermittelt)

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

    Sleep(4000)

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

    SplashOff()

    [/autoit]
  • Splashtext ControlClick Mouseklick

    • Ilse
    • 14. März 2014 um 15:15

    Hallo,

    ich muß MouseClicks im Hintergrund ausführen.
    Das ganze soll aber mit einem InfoText (Splahtext) versehen werden.


    Das klappt leider nicht!
    Hier mal mein Beispiel :

    Spoiler anzeigen
    [autoit]


    Opt('MouseCoordMode',0)

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

    ShellExecute("Notepad.exe","","","", @SW_MAXIMIZE)
    WinActivate("[CLASS:Notepad]", "")

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

    Local $size = WinGetPos("[active]")

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

    SplashTextOn("Titel", "Klicks werden im Hintergrund gemacht!", -1,-1 , $size[0]+@Desktopwidth/4, $size[1]+@Desktopheight/4, 4, 2, 24)

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

    MouseClick("left",749,313,1)
    ;~ MouseClick("left",245,158,1)
    ;~ MouseClick("left",985,160,1)
    ;~ MouseClick("left",453,761,1)
    ;~ MouseClick("left",267,562,1)
    ;~ MouseClick("left",1096,706,1)

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

    Sleep(3000)
    SplashOff()

    [/autoit]

    Wenn Splashtext deaktiviert wird, werden die Klicks gemacht.

    Wie kann ich einen Infotext über die Klicks setzen
    ohne dass die Klicks beeinflusst werden! ToolTipps sind zu klein!
    2 = Ohne "immer im Vordergrund" Attribut. geht auch nicht!


    Keine ControlClicks! Das geht sehr oft nicht!
    (Oder gibt es eine sichere Möglichkeit MouseClicks in ControlClicks umzuwandeln?)

    Spoiler anzeigen
    [autoit]


    Opt('MouseCoordMode',0)

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

    ShellExecute("Notepad.exe","","","", @SW_MAXIMIZE)
    WinActivate("[CLASS:Notepad]", "")
    Sleep(4000)
    Local $size = WinGetPos("[active]")

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

    MsgBox(0, "Die Koordinaten des aktuellen Fensters lauten (x, y, Breite, Höhe):", $size[0] & " " & $size[1] & " " & $size[2] & " " & $size[3])
    ;SplashTextOn("Titel", "Klicks werden im Hintergrund gemacht!", -1,-1 , $size[0]+@Desktopwidth/4, $size[1]+@Desktopheight/4, 4, 2, 24)

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

    MouseClick("left",23,41,1)
    ;ControlClick("","","","left",1,$size[0]+23,$size[1]+41)

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

    Sleep(4000)

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

    Sleep(3000)
    SplashOff()

    [/autoit]

    Mouseclick funktioniert, Controlclick nicht!

    Grüße
    Ilse ;)

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™