Ausschreibung: DOS-GUI fernsteuern
von ActiveVB-Team
Beschreibung
Kurzinfo
- Titel: DOS-GUI fernsteuern
- Ausschreibungsbeginn: 01.10.2003
- Einsendeschluß: 07.10.2003
- Auftraggeber: Fritz Raab
- Jury: Florian Rittmeier, Konrad Rudolph, Fritz Raab
- Preisgeld: 50 Euro
Aufgabenstellung
Ziel der Ausschreibung ist es, ein VB-Programm zu entwickeln, das an eine nicht mehr unterstützte, auf DOS basierende graphische Datenbank-Benutzeroberfläche bestimmte Hotkeys sowie Zeichenfolgen sendet und anschließend den Bildschirminhalt zur weiteren Verarbeitung in eine Textbox übergibt, um so mehrere Tausend Kundendatensätze aus einer verschlüsselten DOS-Datenbank nach Windows zu migrieren.
Zum Testen des Programms wird ein dem tatsächlichem Datenbanksystem ähnliches GUI zur Verfügung gestellt.
Bedingungen
Der Code muss ab Windows 98 aufwärts lauffähig sein.
Der Sourcecode verwendet keine Komponenten (DLLs, Steuerelemente) oder externen Programme (wie Excel, Access usw.) außer den Standardsteuerelementen von VB und den Standard-Windows-API-Funktionen.
Der Sourcecode wurde nicht von anderen Internetseiten kopiert (eine Übersetzung aus anderen Programmiersprachen ist zulässig).
Der Source-Code darf in VB6 und VB5 geschrieben sein, VB5-Code wird bevorzugt.
Ermittlung des Gewinners
Es werden alle Einsendungen ausgewertet, die bis zum Einsendeschluss eingegangen sind. Der Gewinner wird durch die Vergabe von Punkten ermittelt. Jedes der 3 Mitglieder der Jury vergibt 0-60 Punkte.
Strukturierung | 15 Punkte |
Verständlichkeit | 15 Punkte |
Kommentierung | 15 Punkte |
15 Sonderpunkte werden vergeben, wenn die Einsendung in VB5-Sourcecode vorliegt.
Weitere Regelungen
Einsendungen müssen per Email an Kopfgeld@ActiveVB.de gesandt werden.
Das Thema darf im Forum diskutiert werden, Einsendungen werden jedoch bis zum Einsendeschluß geheimgehalten.
Preisgeld
Das Preisgeld beträgt 50 Euro und wird per Überweisung an den Gewinner ausgezahlt.
Anmerkung
Alle Einsendungen dürfen nach Einsendeschluß von ActiveVB.de veröffentlicht werden.
Lösung
Diesmal ist es besonders schwer gefallen, einen Gewinner zu ermitteln. Alle vier eingegangenen Ausschreibungen verwendeten andere Ansätze zur Lösung des Problems.
Christoph von Wittich und Guido Beckmann gehen sehr ähnlich vor: Sie benutzen die DOS-Umleiteparameter > und <. Dabei wird nicht die Tastatur als Eingabegerät benutzt, sondern eine Datei, in der alle auszuführenden Tastatureingaben bereits vorab gespeichert sind. Genauso werden die Programmausgaben nicht auf dem Bildschirm angezeigt, sondern auch in eine Datei umgeleitet. Bei diesen Varianten ist es somit nicht möglich, die Tastatureingaben während der Programmlaufzeit von bestimmten Ereignisse abhängig zu machen. Um sie zu verändern, muss das Programm immer neu gestartet werden. Allerdings waren diese beiden Lösungen auch die einzigen, die auf Anhieb funktionierten.
Daniel Korn verwendet die SendMessage-Funktion sowie das Clipboard-Objekt. Hier kam es allerdings zu verschiedenen Problemen. Während bei einem Jury-Mitglied das Programm auf Grund von Timing-Problemen gar nicht zum Laufen zu bewegen war, funktionierte bei einem anderen Mitglied zwar das Abfotografieren, jedoch schlug das Senden von Zeichen fehl.
Auch der Code von Frank Heindöfer war auf den von der Jury verwendeten Windows XP-Systemen nur teilweise lauffähig. Nach Angaben des Autors soll er allerdings unter Windows XP Home laufen. Bei uns funktionierte das Senden von Befehlen einwandfrei, jedoch ging das Abfotografieren des Bildschirms quälend langsam von statten und lieferte am Ende dennoch nur einen leeren Bildschirm zurück. Unter Windows 98 jedoch funktionierte das sehr umfangreiche Programm einwandfrei.
In der Endbewertung lagen alle vier Einsendungen relativ dicht beieinander, das Rennen machte am Ende knapp das Programm von Frank Heindörfer. Er gewinnt deshalb die Ausschreibung und erhält das Preisgeld.