Informatik für Lehrkräfte
Informatik für Lehrkräfte
Informatik für Lehrkräfte
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
8<br />
Grafische Benutzerschnittstellen mit Ruby<br />
In diesem Kapitel lernen wir die Shoes-Bibliothek 1 zur Erstellung einfacher<br />
grafischer Benutzerschnittstellen (englisch: GUI <strong>für</strong> graphical user<br />
interfaces) in Ruby kennen.<br />
Wir werden sehen wie grafische Benutzerschnittstellen mit Shoes strukturiert<br />
werden, wie Benutzereingaben eingelesen und verarbeitet werden<br />
und wie Anzeige-Elemente dynamisch verändert werden können. Statt<br />
diese Punkte der Reihe nach abzuarbeiten, werden wir die zugehörigen<br />
Konzepte exemplarisch anhand von Beispielanwendungen einführen.<br />
Das Hello-World Programm sieht in Shoes so aus:<br />
1<br />
Shoes ist unter http://shoesrb.com/<br />
downloads.html <strong>für</strong> Linux, Windows<br />
und Mac frei zum Download verfügar. Eine<br />
Ruby- Installation ist zum Ausführen<br />
von Shoes nicht notwendig bzw. wird, falls<br />
vorhanden, nicht verwendet.<br />
Shoes.app {<br />
para "Hello World!"<br />
}<br />
An die Prozedur Shoes.app wird ein Block übergeben, der einen Aufruf<br />
der Methode para enthält. Dadurch wird ein Fenster geöffnet, dessen<br />
Inhalt ein Absatz (englisch: paragraph) mit dem Text “Hello World!” ist.<br />
Dieses Programm können wir in der Datei hello.rb speichern und<br />
dann wie folgt in der Konsole ausführen.<br />
# shoes hello.rb<br />
Statt ruby oder irb verwenden wir hier also das Programm shoes.<br />
Wir können dies auch ohne Argumente (zum Beispiel vom Desktop aus)<br />
starten und dann mit einem Dateiauswahl-Dialog das auszuführende<br />
Programm auswählen.<br />
Das folgende Programm enthält ein Eingabefeld und zeigt dessen<br />
Inhalt auf Knopfdruck in einem Dialogfenster an.<br />
Shoes.app(:width => 200, :height => 50) {<br />
@input = edit_line("Hier Text eingeben..")<br />
button("OK") {<br />
alert(@input.text)<br />
}<br />
}<br />
Hier übergeben wir in Form einer Hash-Tabelle zusätzliche Parameter<br />
an die Prozedur Shoes.app, um die Größe des geöffneten Fensters zu<br />
beeinflussen. In der ersten Zeile des übergebenen Blocks erzeugen wir