Virtual OS/2 International Consumer Education
VOICE-Homepage: http://de.os2voice.org
März 2005

Inhaltsverzeichnis
< Vorherige Seite | Nächste Seite >
Artikelverzeichnis

editor@os2voice.org


Programmieren für OS/2 - Aller Anfang ist... leichter als man denkt

Ein Editorial von Christian Hennecke, Chefredakteur des VOICE Newsletter.

Wenn das Gesprächsthema Beiträge zur OS/2 Community aufkommt, äußern sich viele dahingehend, daß sie wirklich, wirklich gern etwas beitragen würden, es aber aus einem aus der riesigen Menge möglicher Gründe nicht können. Mittlerweile kennen wir alle die Auswirkungen, die dies beispielsweise auf die OS/2-Magazine gehabt hat und nach wie vor hat. Die gleichen Symptome zeigen sich bei der Softwarentwicklung für OS/2. Es gibt wenige, die sehr viel beitragen und viele, die... nichts beitragen und wenig dazwischen. Dabei sinkt die Anzahl der, die viel beitragen. Es trifft zu, daß der völlige Neueinstieg in die Entwicklung von OS/2-Software schwierig und die Lernkurve steil ist. Lassen Sie mich dennoch eine nicht ganz so kurze Geschichte erzählen.

Die letzte ernsthafte Softwareentwicklung führte ich auf einem Atari Mega ST 2 mit GFA Basic 3.5 durch (wer jetzt gelacht hat, hat absolut keine Ahnung von diesem Produkt). Ich schrieb eine Buchhaltung und ein Weltraumeroberungsspiel, beide mit einer GUI mit Bedienelementen wie Pull-down-Menüs, Dialogen usw., welche den Einsatz von Ressourcendateien und ein wenig Message-Handling erforderte.

Dann gab es eine lange, nur von ein paar kleinen REXX-Skripten unterbrochene Ruhepause, bis ich dann für einen der lokalen Team-OS/2-Vereine eine PHP/MySQL-gestützte Webseite erstellte. Einfaches HTML/CSS werte ich hier nicht als Programmierung. Zwischendurch hatte ich mir ein paar Male C/C++ angeschaut, konnte mich dafür aber nicht erwärmen. Eigentlich kann ich C nicht ausstehen. Der Code ist für mich schwer zu lesen und es läßt einen Dinge mit Zeigern anstellen, wo mir schon beim Gedanken daran schwindelig wird. Ich bin mehr der Typ für Pascal oder Ada95. Jedenfalls war beim ersten Mal, als ich mir den Code einer OS/2-Anwendung mit GUI anschaute, die Zeit bis zum Schließen der Datei recht kurz. Ich stimmte also mit in den Chor ein, daß Entwicklung für OS/2 für mich zu schwierig sei.

Dann begann ich, manche portierten Anwendungen selbst für OS/2 zu kompilieren, weil sie anderweitig nicht oder nur mit anderen Features verfügbar waren. Dabei befolgte ich genauestens die den Paketen beiliegenden Anweisungen. Wenn jemand, der eine Portierung pflegt, damit aufhört und die Entwicklung der ursprünglichen Anwendung fortschreitet, kommt irgendwann der Zeitpunkt, wenn weitere Änderungen erforderlich werden. Diese Probleme ließen sich durch Nachfragen hier und da lösen.

Irgendwann fing ich damit an, OS/2-Software wie XWorkplace und Maul zu übersetzen. Dadurch gewann ich einige Kenntnisse über OS/2-Ressourcen wie Dialoge, Menüs, Strings, Symbole und Zeiger und auch ein paar über ihre Handhabung.

Dieses Magazin wird in den Formaten HTML und INF veröffentlicht. Lange Jahre wurden die HTML-Dateien mit Hilfe von Homepage Publisher nach IPF konvertiert und dann zu einer INF-Datei kompiliert. Dieser Vorgang nach jedoch sehr viel Zeit in Anspruch, weil man jede einzelne Datei laden und speichern mußte anstatt einmal einen Konverter zu starten. Wir sahen uns daher HTML2IPF von Andrew Zabolotny und Ulrich Möller an. Dieses REXX-Programm bot einige Funktionen, die Homepage Publisher fehlten, ließ aber andere vermissen. Wir entschieden uns gegen einen Umstieg. Später aber faßte ich mir ein Herz und schaute mir den Code einmal genauer an. Es stellte sich heraus, daß die fehlenden Funktionen wie Unterstützung für HTML entities und farbigen Text nicht allzu schwer zu implementieren waren, selbst für jemanden mit wenig REXX-Erfahrung. Mittlerweile erfreuen wir uns eines erheblich gesunkenen Aufwandes bei der Erstellung der INF-Version.

Mit Erreichen eines benutzbaren Status fing ich an, als Audioformat Ogg Vorbis statt MPEG zu nutzen. Es war jedoch keine leicht zu bedienende GUI mit FreeDB-Zugriff erhältlich. Bis dahin hatte ich Samuel Audets CD2MP3PM als Frontend für MP3-Encoder eingesetzt. Mir kam also der Gedanke, daß es doch schön wäre, wenn dieses Programm auch für Ogg Vorbis zu verwenden wäre. Samuel Audet hatte nicht mehr genug Zeit, daran zu arbeiten, gab mir jedoch den Code. Ein anderer Entwickler half mir beim Einrichten meiner VAC-Umgebung. Ich suchte im Code nach den Optionen der Konfigurationsdatei, schlug ein paar C-Anweisungen in der Dokumentation des Compilers nach und ein paar neue Zeilen Code später besaß CD2MP3PM eine weitere Konfigurationsoption und konnte auch Dateien mit anderen Endungen als .mp3 erstellen.

Schon seit einiger Zeit erstelle ich ab und zu eine neue OS/2-Version von HTML Tidy, einem praktischen kleinen Hilfsprogramm für Web-Designer. Es hilft beim Aufspüren und Beseitigen von Fehlern, kann den Code für bessere Lesbarkeit formatieren sowie zwischen Zeichensätzen konvertieren. Lange Zeit besaß Tidy keine Unterstützung für den unter OS/2 häufig verwendeten Zeichensatz 850. Wollte man Sonderzeichen wie deutsche Umlaute verwenden, hatte man Pech oder mußte zuerst die Datei konvertieren. Eines Tages durchsuchte ich den Code nach den Befehlszeilenparametern für andere Zeichensätze und fand die entsprechenden Konvertierungstabellen. Ich nahm das OS/2 Warp beiliegende Buch mit Zeichensatztabellen zur Hand und nach ein paar Kopieren-und-Einfügen-Vorgängen und der Anpassung der Konvertierungstabelle war die neue Unterstützung für den Zeichensatz ibm850 fertig.

Ich war mit der XWorkplace-Sprachunterstützung nicht vollständig zufrieden. Es gibt immer noch ein paar fest eingebaute Strings, auf die sich eine Änderung der Spracheinstellung im Objekt XWorkplace-Konfiguration nicht auswirkt. Die Sprachunterstütztung ist bei Treesize nicht vollständig und bei xfix überhaupt nicht vorhanden. Gleiches gilt für den JFS-Konfigurationsdialog im Objekt OS/2-Kernel. Bisher konnte die Sprache dieser Teile nur umgestellt werden, indem man alternative Quellcode- und Ressourcendateien erstellte, die Programme damit kompilierte und diese schließlich mit in die Sprachpakete aufnahm. Der Nachteil dabei ist, daß man nicht wie eigentlich vorgesehen zwischen den Sprachen hin- und herschalten kann, sondern jedesmal die ausführbaren Dateien und DLLs komplett ersetzen muß. Raten Sie mal! Treesize und xfix werden ab der nächsten XWorkplace-Version vollständige Sprachunterstützung bieten. Die Implementierung beinhaltete eine Menge Fleißarbeit beim Erstellen der Einträge für die Ressourcendateien, der IDs sämtlicher Strings sowie der Ersetzung aller fest eingebauten Strings durch die entsprechenden Aufrufe zum Laden der Strings aus der Sprach-DLL. Bei den eigenständigen Programmen ist die Vorgehensweise mitunter anders als beim Rest von XWorkplace. Wenn man mit solch einem Ungetüm konfrontiert wird, sind manche Dinge manchmal etwas schwer herauszufinden, aber mit Hilfe der Mitglieder der XWorkplace-Entwicklungs-Mailingliste ließen sich diese Hürden überwinden. Bei Treesize war bereits eine teilweise Sprachunterstützung vorhanden und es besaß eine entsprechende Infrastruktur, auf der ich aufbauen konnte. Bei xfix war dies jedoch nicht der Fall. Aber es geht doch nichts über Copy & Paste. Ich kopierte fehlende Routinen von Treesize nach xfix, paßte ein paar Dinge an, ersetzte die Strings und die Sache war erledigt. Auch hier erhielt ich von einem anderen Entwickler Hilfe, als ich bei einem wichtigen Detail feststeckte.

Was sagt uns all das? Auch wer keine guten Kenntnisse der Programmierung für OS/2 besitzt - und ich bin weit davon entfernt - kann dennoch nützliche Beiträge leisten. Dabei ist es nicht wichtig, wie groß der Beitrag ist. Stellen Sie sich vor, daß viele Personen kleine Beiträge leisten. Gewöhnlich funktionieren große OpenSource-Projekte wie OpenOffice.org auf genau diese Weise. Es gibt ein Kernteam mit ein paar hochqualifizierten Entwicklern und andere mit ganz unterschiedlichen Wissensständen, die hier und da ein Stückchen beitragen. Tatsächlich machen viele so ihre ersten Entwicklungsschritte.

Außerdem sollte man nicht in Ehrfurcht erstarren und sich trauen, andere Entwickler um Hilfe zu bitten. Solange man nicht von ihnen erwartet, die Laufarbeit zu übernehmen und alles auf einem silbernen Tablett zu reichen, sind die meisten wirklich hilfsbereit. Wer um Hilfe bittet, sollte zeigen, daß er es ernst meint, beispielsweise durch genaue Beschreibung dessen, was man beabsichtig und was man getan hat, bevor man nicht mehr weitergekommen ist.

Hier muß natürlich nicht Schluß sein. Für diejenigen, die C++ gern richtig lernen möchten, findet ein Online-Kurs bei Yahoo groups statt. Er wurde von Terry Norton initiiert, der aufgrund einer Verletzung aufhören mußte, und kürzlich von Nick Marrow übernommen.

Ein weiterer, von Doug Clark geleiteter Kurs beschäftigt sich mit der Erstellung von GUI-Anwendungen mit Hilfe des IBM Visual Builder aus dem Paket des Visual Compilers und wird in den VOICE-Foren vorbereitet.

Dann gibt es natürlich noch die alten Kurse zur C-, C++-, PM- und WPS-Programmierung bei EDM/2 und einen neueren C++-Kurs bei OS/2 e-Zine.

Viel Erfolg! Ich hoffe, demnächst viele neue Namen in den Änderungsprotkollen vieler OS/2-Anwendungen sehen zu können.

Wir sind wie immer an Ihren Gedanken und Ansichten zu OS/2-bezogenen Themen interessiert und sehen genauso gerne Aufsätze wie Hardware- und Softwarebesprechungen oder Anleitungen. Wenn Sie eine Idee für einen Artikel haben, warum schreiben Sie nicht einfach einen? Abgesehen von der Programmierung nativer OS/2-Anwendungen ist es eine der besten Möglichkeiten, der OS/2-Community zu helfen. Und es kann wirklich jeder tun. Die wenigsten unserer Autoren betreiben diese Arbeit professionell. Es sind OS/2-Anwender, die versuchen, anderen OS/2-Anwendern zu helfen. Schicken Sie mir Ihre Ideen oder besser noch einen Artikelentwurf an editor@os2voice.org. Beachten Sie dabei bitte unsere Richtlinien für Beiträge zum VOICE Newsletter. Darin finden Sie Themenvorschläge, Hinweise zum Inhalt, zur Strukturierung und Formatierung sowie zur rechtlichen Seite.

VOICE Online-Update: Diesen Monat finden die allgemeinen Mitgliedertreffen samstags am 5. und 19. März um 21:00 MEZ statt. Alle an OS/2 oder eComStation Interessierten sind zu diesen Sitzungen eingeladen. Weitere Informationen bezüglich der Teilnahme an VOICE Online-Treffen im IRC entnehmen Sie bitte der Seite http://de.os2voice.org/meetinginfo.html.

Wenn Sie eine Idee für eine SpeakUp-Veranstaltung haben, senden Sie diese bitte an liaison@os2voice.org, und wir werden versuchen, etwas auf die Beine zu stellen. Vergessen Sie nicht, den aktuellen VOICE Veranstaltungskalender in diesem Newsletter oder auf der VOICE Website unter http://de.os2voice.org/calendar.htm anzuschauen, um mehr über zukünftige VOICE-Veranstaltungen zu erfahren.

Diesen Monat wirft Chris Clayton einen Blick auf die erweiterte Migrationsunterstützung in eComStation 1.2. Mehr darüber, wie gut sie sich auf vier verschiedenen Rechnern schlug, lesen Sie in Migration nach eComStation 1.2. Wer noch OS/2 Warp 4, MCP oder eine ältere eComStation-Version benutzt, wird dies sicher interessant finden.

Die Übertragung von Dateien zwischen verschiedenen Rechnern und/oder Betriebssystemen kann Nerven kosten. In RAM-driving and Zipping-around-the-SCSI-drive berichtet George W. Archer von Möglichkeiten bei älterer Hardware.

Viele aktuelle Notebooks sind mit Funknetzwerkkarten ausgerüstet, für die keine OS/2-Treiber erhältlich sind. Desweiteren gibt es unter OS/2 bisher keine Unterstützung für WPA-Verschlüsselung. Daniela Engert hat für beide Probleme eine gute Lösung gefunden. Mehr dazu in OS/2 WLAN mit dem ASUS WL330g Pocket Access Point.

Mit USB-Speichersticks lassen sich gut Daten zwischen verschiednen Rechnern und Betriebssystemen transportieren. Wenn Windows ins Spiel kommt und die Sticks mit VFAT formatiert sind, werden lange Dateinamen zu einem Problem. In VFAT und USB-Memory-Sticks stellt Peter Verweij verschiedene Lösungen vor.

Schließlich gibt es wie immer die Seite mit OS/2-Tips und Leserbriefe, Addenda, Errata. Wenn Sie irgendwelche Tips zu OS/2 oder eCS entdeckt haben, senden Sie diese bitte an tips@os2voice.org. Wenn Sie irgendwelche Kommentare oder Vorschläge den Newsletter oder die Artikel darin betreffend abgeben möchten, senden Sie diese bitte an editor@os2voice.org.

Zukünftige Artikel umfassen weitere Teile der Reihe über DrDialog von Thomas Klein sowie Einzelheiten zu den neuen und verbesserten Funktionen in eComStation 1.2 von Walter Metcalf.

Das wäre es für diesen Monat.

Christian Hennecke, Mark Dodel, Marckus Kraft und Jason R. Stefanovich
Redaktion des VOICE Newsletter


Artikelverzeichnis
editor@os2voice.org
< Vorherige Seite | Inhaltsverzeichnis | Nächste Seite >
VOICE-Homepage: http://de.os2voice.org