Anregung Automatisierung User/GUI-Events(JAVA-Programmierung): Unterschied zwischen den Versionen

Aus Trader Wiki

Wechseln zu: Navigation, Suche
(Die Seite wurde neu angelegt: Dieses Wiki ist an eher Prorammierer für frei nach Otto "run-aways" gerichtet, bietet aber alles Schritt für Schritt für den Anfänger Hallo zusammen, Umständlic...)
 
 
(6 dazwischenliegende Versionen von einem anderen Benutzer werden nicht angezeigt)
Zeile 1: Zeile 1:
Dieses Wiki ist an eher Prorammierer für frei nach Otto "run-aways" gerichtet, bietet aber alles Schritt für
+
Dieses Wiki ist eher an etwas fortgeschritnere Programmierer gerichtet, bietet aber auch für Anfänger alles Schritt für Schritt.
Schritt für den Anfänger
 
  
  
 
Hallo zusammen,
 
Hallo zusammen,
  
Umständlicher Titel, könnte von einer Diplom Arbeit sein ;)
+
Unständlicher Titel, könnte von einer Diplom Arbeit sein ;)
 
Nikki Lauda meinte einmal zu den hochtechnisierten Autos der
 
Nikki Lauda meinte einmal zu den hochtechnisierten Autos der
Formel 1 ~2001 sinngemäß:
+
F1 ca 2001 sinngemäß:
 
"Da könnte man auch ein Äffle reinsetzen"
 
"Da könnte man auch ein Äffle reinsetzen"
  
Zeile 14: Zeile 13:
  
  
Ich will hier nur ein Werkzeug, eine einfache Möglichkeit an die Hand legen:
+
Ich will uns hier nur ein Werkzeug, eine einfache Möglichkeit an die Hand legen:
  
 +
 +
'''Ziel'''
 
User-Eingaben zu automatisieren, wie vom Menschen gemacht.
 
User-Eingaben zu automatisieren, wie vom Menschen gemacht.
 
Also mit der Maus rumfuchtelns, klicken, Eingaben machen usw.
 
Also mit der Maus rumfuchtelns, klicken, Eingaben machen usw.
Zeile 23: Zeile 24:
 
wieder dasselbe gemacht.
 
wieder dasselbe gemacht.
  
Das Ganze implementiere ich mit JAVA.
+
Das Ganze implementiere ich mit JAVA. (haha, wie der Caffee)
 
(Ich hoffe selbsterklärende) Kommentare sind im Quelltext
 
(Ich hoffe selbsterklärende) Kommentare sind im Quelltext
  
Zeile 30: Zeile 31:
 
'''Was macht das nun mit meinem PC???!?!?'''
 
'''Was macht das nun mit meinem PC???!?!?'''
  
Es tippt "hi aktienboard" und bewegt die Maus nach links oben. (100:100 Pixel)
+
Es tippt -im wahrsten Sinne, wie auf der Tastaur -"hi aktienboard" und bewegt die Maus nach links oben. (100:100 Pixel)
 
Mehr nicht, nur zur Demo.
 
Mehr nicht, nur zur Demo.
 +
Öffnet etwas, wo das Programm auch wirklich etwas reintippen kann. zb notepad.
  
 
Wer ganz sicher gehen will sollte einen virtuellen PC benutzen, wozu ich später noch etwas schreibe.
 
Wer ganz sicher gehen will sollte einen virtuellen PC benutzen, wozu ich später noch etwas schreibe.
Zeile 113: Zeile 115:
 
}
 
}
  
 +
 +
 +
 +
 +
 +
'''"Huwuuu , sehr gruselig"'''
 +
 +
lasst mal Eurer Kreativität den Lauf....
 +
es ist jendenfalls sehr mächtig, und missbrauchen sollte man es
 +
nicht.
  
 
'''"Das ist mir zu stupide"'''
 
'''"Das ist mir zu stupide"'''
Zeile 142: Zeile 154:
  
 
Ein Grundgerüst wollte ich vorstellen.
 
Ein Grundgerüst wollte ich vorstellen.
 +
 +
Bildschirmfoto
 +
http://www.abload.de/img/bildschirmfoto-1mes.png
 +
 +
'''Alternativ'''
 +
AutoIt v3 ... geht einfacher, xenon.

Aktuelle Version vom 30. März 2009, 20:58 Uhr

Dieses Wiki ist eher an etwas fortgeschritnere Programmierer gerichtet, bietet aber auch für Anfänger alles Schritt für Schritt.


Hallo zusammen,

Unständlicher Titel, könnte von einer Diplom Arbeit sein ;) Nikki Lauda meinte einmal zu den hochtechnisierten Autos der F1 ca 2001 sinngemäß: "Da könnte man auch ein Äffle reinsetzen"

Nun, in der Formel 1 vielleicht nicht so spannend, und was "des Äffle" uns Aktienboardlern hilft, das ich gleich vorstellen werde, das weiss ich auch nicht.


Ich will uns hier nur ein Werkzeug, eine einfache Möglichkeit an die Hand legen:


Ziel User-Eingaben zu automatisieren, wie vom Menschen gemacht. Also mit der Maus rumfuchtelns, klicken, Eingaben machen usw.


Vielleicht saßt Ihr ja schon morgen um 7 Uhr vor dem PC und habt immer wieder dasselbe gemacht.

Das Ganze implementiere ich mit JAVA. (haha, wie der Caffee) (Ich hoffe selbsterklärende) Kommentare sind im Quelltext


Was macht das nun mit meinem PC???!?!?

Es tippt -im wahrsten Sinne, wie auf der Tastaur -"hi aktienboard" und bewegt die Maus nach links oben. (100:100 Pixel) Mehr nicht, nur zur Demo. Öffnet etwas, wo das Programm auch wirklich etwas reintippen kann. zb notepad.

Wer ganz sicher gehen will sollte einen virtuellen PC benutzen, wozu ich später noch etwas schreibe.


In die Vollen! (Ich merke gerade, für den Anfäger doch etwas schwer) 2 Möglichkeiten, erst beide durchlesen. die Letzere ist die einfachere,..wohl


Am besten Eclipse herunterladen: http://www.eclipse.org/downloads/

erster link "Eclipse IDE for Java Developers" wenn man das zip-paket wählt, muss man es nicht mal installieren. einfach entpacken. exe (Windows) und los.

Datei-Neu- Neues Projekt, Java Projekt, am besten so bennen wie Name der Klasse unten. (MachMirDiesUndDas) Quellcode reinpasten. run.


Alternative: Vielleicht geht auch dies gleich (windows): start-ausführen- CMD eintippen dort eintippe : java wenns nicht command not found kommt, unteren quelltext in eine textdatei mit Namen MachMirDiesUndDas.java in notepad einfügen. -javac MachMirDiesUndDas.java -java MachMirDiesUndDas läuft...


Quelltext:


import java.awt.AWTException; import java.awt.Robot; import java.awt.event.KeyEvent;

public class MachMirDiesUndDas {

public static void main(String[] args) {

try {

Robot MachDas = new Robot(); // Neue Instanz der Robot-Klasse, heisst MachDas MachDas.delay(5000); // Ihr oeffnet in diesen 5 Sekunden Verzoegerung notepad

MachDas.keyPress(KeyEvent.VK_H); MachDas.keyPress(KeyEvent.VK_I); MachDas.keyPress(KeyEvent.VK_SPACE); MachDas.keyPress(KeyEvent.VK_A); MachDas.keyPress(KeyEvent.VK_K); MachDas.keyPress(KeyEvent.VK_T); MachDas.keyPress(KeyEvent.VK_I); MachDas.keyPress(KeyEvent.VK_E); MachDas.keyPress(KeyEvent.VK_N); MachDas.keyPress(KeyEvent.VK_B); MachDas.keyPress(KeyEvent.VK_O); MachDas.keyPress(KeyEvent.VK_A); MachDas.keyPress(KeyEvent.VK_R); MachDas.keyPress(KeyEvent.VK_D);

MachDas.keyRelease(KeyEvent.VK_D); // wichtig, sonst // Endlos-Schleife

// Jetzt bewegen wir die Maus noch nach links oben

MachDas.mouseMove(100, 100); // Einheit int, hier "Pixel"

} catch (AWTException e) { e.printStackTrace(); }

}




"Huwuuu , sehr gruselig"

lasst mal Eurer Kreativität den Lauf.... es ist jendenfalls sehr mächtig, und missbrauchen sollte man es nicht.

"Das ist mir zu stupide"

)

Ja, nur eine Demo.

Wenn man meint, eine Automatisierung irgendwann einmal im Entferntesten vermisst zu haben, aber Java noch nicht kann... Die ersten 2,3 Kapitel eines jeden Java-Buches helfen enorm weiter. (entscheidungen:if/else; Schleifen: while, for(;;)  ;)))) usw Damit kann man einen "Haufen" (was weis ich) anstellen! Wie ein Mensch vor dem PC "halt". ;)

Szenario:

Ich lese damit Kurse aus (strg+c) und verarbeite diese weiter.


Hier stehen alle Methoden (Möglichkeiten), die diese Klasse kann. http://java.sun.com/j2se/1.3/docs/api/java/awt/Robot.html

NACHTEIL: wenn das programm (skript eher) "rumfuhrwerkt", kann man an dem PC nicht mehr arbeiten. Deshalb nutze ich (nihct nur eine) virtuelle Maschienen. Von MS gib es zB Virtual PC kostenlos. Ist wie ein eigener PC.

Ein Grundgerüst wollte ich vorstellen.

Bildschirmfoto http://www.abload.de/img/bildschirmfoto-1mes.png

Alternativ AutoIt v3 ... geht einfacher, xenon.