16 November 2007

GUIuiui


...heute bau ich mir mal ein kleines GUI für ein ebenso kleines PHP-CLI-Script. Nur so - um zu sehen, wie das so geht. Als Script habe ich ich hier 42 Zeilen PHP, die eine einfache Textdatei einlesen, die Daten umwandeln und in eine andere Textdatei schreiben. Die Namen der Dateien werden als Parameter übergeben. Nur zur Info: Die Ausgangsdaten sind eine zeilenweise Liste von Part-of-Speech-Tags, die erzeugte Datei ist eine Sequenzdatei, die man dem esthmm-Programm (Hidden Morkov Model) aus Tapas Kanungos UMDHMM-Paket übergeben kann. Das GUI bastel ich mit dem Kommander Dialog Editor - der liegt hier eh rum und mit dem klick ich mir jetzt ein paar Bedienelemente zusammen. Was wird gebraucht? Je ein FileSelector ('infile' und 'outfile') für die Auswahl der Ein- und Ausgabedatei, ein Knopf, der das Script starten soll und dann noch zwei Textfelder zur Anzeige der Dateiinhalte. In den Kommander Text des Knopfes kommt die Scriptausführung mittels @exec(php pos2seq.php -i @infile.text -o @outfile.text) - das Script pos2seq nimmt die Parameter -i und -o, @infile.text und @outfile.text sind die Dateinamen, die die Fileselektoren infile und outfile zurückliefern. Jetzt noch dafür sorgen, daß die Textdateien in den Textfeldern angezeigt werden. Das erste Textfeld verbinden ich mit dem ersten Fileselector - als Signal TextChanged, als Slot populate das Textfeld fülle ich bei populate mit @File.read(@infile.text), also dem Inhalt der ausgewählten Datei. Nun binde ich noch das zweite Textfeld an den Knopf und erstelle eine Connection, die dieses Textfeld löscht, wenn eine andere Ausgabedatei ausgewählt werden sollte. Fertig. Und hübsch. Das GUI funktioniert auch tatsächlich - man übergibt dem kmdr-executor einfach die kmdr-Datei - das Bild zeigt das Ergebnis nach Scriptaufruf.

Labels: , , , ,