Benötige Hilfe bei einem Script

Homepages, CMS, Templates, Web Based Programming, Webhosting, Gameserver

Moderatoren: coolmann, chillmensch

Joyrider
Beiträge: 4570
Registriert: 27.09.2006, 08:45

Benötige Hilfe bei einem Script

Beitragvon Joyrider » 28.03.2012, 21:39

Moin,

ich bastel grad mit Autoit rum, aber ich komme an einem Punkt nicht weiter.

Ich kann mittels "Winwait" warten bis ein Programm aufgeht, z.B. "notepad".
Syntax: winwait("notepad")


Ich möchte nun aber das das Script wartet bis ein gewisser Text im Notepad steht, z.B. "Bla bla ich bin ein Text".

Dies soll über die ControlGetText-Funktion gehen, aber ich blicke da nicht durch.

Ein Beispiel ist dieses:

Code: Alles auswählen

Run("notepad.exe")
WinWait("[CLASS:Notepad]")
ControlSetText("[CLASS:Notepad]", "", "Edit1", "New Text Here")
Local $sText = ControlGetText("[CLASS:Notepad]", "", "Edit1")
MsgBox(0, "ControlGetText Example", "The control text is: " & $sText)


http://www.autoit.de/dokumentation/func ... etText.htm

Kennt sich jemand mit Autoit aus und kann mir da weiter helfen? Derzeit mache ich es mit festen Verzögerungen, aber das ist keine schöne Lösung.

Ich will unter anderem Programminstallationen automatisieren, aber bei einigen ändert sich der Titel nicht, daher kann ich nicht mit WinWait arbeiten.

Benutzeravatar
schmidtsmikey
Site Admin
Beiträge: 8969
Registriert: 08.12.2003, 21:50
Wohnort: Hamburg
Kontaktdaten:

Re: Benötige Hilfe bei einem Script

Beitragvon schmidtsmikey » 29.03.2012, 06:49

Ich habe keine Ahnung von Autoit, aber einen Programmieransatz. Wenn die Datei nicht allzu groß ist, würde ich eine Schleife bauen, die jedes Mal die Textdatei einliest. erst wenn Du den Text findest, wird die Schleife beendet.

Hier der Pseudo-Code

Code: Alles auswählen


$textIsFound = false;

while(! $textIsFound) {

   LESE TEXTDATEI;
   FINDE TEXT;

   if ($trefferImText) {
      $textIsFound = true;
   }

}

Joyrider
Beiträge: 4570
Registriert: 27.09.2006, 08:45

Re: Benötige Hilfe bei einem Script

Beitragvon Joyrider » 29.03.2012, 08:17

Es geht nicht um eine Textdatei, es geht um sichtbaren Text.


Was ich kann:

Code: Alles auswählen

WinWait("Unbenannt - Editor","Test")
MsgBox(4096, "Testbox", "Text gefunden")


Sobald ein Notepad auf ist, wo ich Test reinschreibe, dann erscheint eine MessageBox mit der Überschrift "Testbox" und dem Inhalt "Text gefunden").

Bei LibreOffice z.B. findet er den Text jedoch nicht. :(

Mein Problem ist das die Installation je nach PC verschieden lange dauert. Klar kann ich jeden PC warten lassen, aber wenn da nur einer bei ist der dennoch zu langsam ist springt das Script weiter und macht Murks.


Zurück zu „Webseiten, Webprogrammierung & Domains“

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste