Vom U880-Assembler über AutoIt zu PHP


Vorgeschichte
ExcelVBA
AccessVBA
EdAss
TC-SDK
AutoIt
Mediathek
Andere Programmiersprachen
HTML und PHP



Die Vorgeschichte - der lange Weg zum Programmierer?

Bereits Anfang der 1990er Jahre wurde PS mit moderner Software konfrontiert. Es war die Zeit des Umbruchs von DOS auf WINDOWS™ und damit zu Standard-Software, wie z.B. EXCEL™. Mit einiger Erfahrung zur Assembler-Programmierung bei U880=Z80-Systemen war schon die Abstrahierung darauf aufbauender Betriebssysteme, wie z.B. CP/M=SCP eine Herausforderung. Diese konnte aber mangels geeigneter Hardware (PC1715 o.ä.) im privaten, wie auch im beruflichen Bereich zu dieser Zeit nicht angenommen werde.
Als dann außerdem noch in schneller Abfolge die 16/32Bit-Technik Einzug in den modernen PC hielt, waren die Z80-Assembler-Erfahrungen kaum noch etwas wert. Auch mit den rudimentären Erfahrungen zu Einchip-Mikroprozessoren der Z8-Klasse und den dazu vorhandenen, unvollkommenen Entwicklungswerkzeugen war eigentlich kein Blumentopf mehr zu gewinnen. Hinzu kam außerdem die beruflich notwendig gewordene Umorientierung zum Projektingenieurwesen für Haustechnik. In der dazu absolvierten Schulungsmaßnahme kam es zu den ersten tiefgründigeren Kontakten zu EXCEL™. Es war schon sehr erstaunlich, wie - abgesehen von der bei WINDOWS™-Programmen typischen grafischen Bedieneroberfläche - automatisch Zahlen-Berechnungen in den EXCEL™-Zellen durchgeführt wurden, deren Rechenvorschrift dann auch noch vorher durch einfache mathematische Zeicheneingabe festgelegt werden konnte. Alles in Allem ein bis dato unvorstellbares Wunderwerk der moderner Programmiertechnik! -
Im Laufe der meist autodidaktischen Beschäftigung mit dieser neuen Art der Computerarbeit stellt sich dann auch noch heraus, dass das bei Weitem noch nicht alles ist - man konnte auch ganze Rechenverfahren in einer Art programmierbaren Ablauf festlegen. Dazu gab es damals schon vom Software-Hersteller eine extra dazu kreierte Programmiersprache: VBA.


EXCEL™ - VBA

Während in der Anfangszeit von EXCEL™ der Umgang mit der Programmier-Schnittstelle noch etwas "holperte" - notwendig wünschbare Funktionen waren nicht vorhanden, bzw. schlecht oder gar nicht dokumentiert - wurde das nach und nach immer besser. Es wurde viel versucht - Irrungen und Wirrungen, d.h. "Try und Error" waren an der Tagesordnung.
Als erstes Ergebnis einer Programmierarbeit auf EXCEL™-Basis war eine Berechnung des Wärmebedarfs nach DIN4701. Durch die Formular-Vorgabe in der DIN bot sich eine diesbezügliche Umsetzung "förmlich" an -> Download WB4701.zip.
In einer Erweiterung mit:
- Heizkörperauslegung nach VDI 6030 -> Download BDH_HK.zip und
- integrierter Projektverwaltung -> Download PROJEKTM.zip
sollte es dann möglich sein den Wärmebedarf ganzer Häuser zu ermitteln. Obwohl die EXCEL™-Makros sicherlich noch nicht ganz fehlerfrei sind, wurde damit der Wämebedarf des Einfamilienhauses von PS berechnet.

Eine weitere VBA-Anwendung kam dann direkt aus dem "neuen" beruflichen Leben:
In dem Haustechnik-Ingenieurbüro, welches nach der Schulungsmaßnahme der 1. Arbeitgeber von PS war, wurde als integrierte Branchen-Software "SSS"eingesetzt - ein für damalige Verhältnisse etwa Mitte der 1990er Jahre sehr umfangreiches DOS-Programm mit vielen nur schwer zu beherrschenden Ecken und Kanten und auch manche kaum zu umschiffende Klippe. Ohne jetzt weiter auf die näheren Features von "SSS" eingehen zu wollen, gab es das Problem der Auswertung von Teilleistungen auf der Baustelle in Bezug zu den ausgeschriebenen Leistungen. Durch Untersuchungen der Ausgabe-Files konnte eine einfache Struktur festgestellt werden, deren Daten sich dann mittels VBA-Programmierung in ein extra dazu entsprechend vorbereitetes EXCEL™-Blatt "einlesen" liesen. Somit konnte nun durch weitere händische Eingaben von aktuellen Werten von der betreffenden Baustelle hervorragende Übersichten zur Abrechnung von Teil- oder der Gesamtleistung erzeugt werden -> Download SSS-EXCEL.zip.

So gut und einfach das Arbeiten mit EXCEL™-VBA auch immer war - einen Nachteil mußte man immer akzeptieren: Es mußte immer eine Lizenzkosten-pflichtige Version von EXCEL™ im Hintergrund laufen, sonst ging es nicht.

Besonderere Höhepunkte waren dann die EXCEL™-5.0-Applikation "Lotto"
-> Download Lotto.zip und
der Versuch eines einfachen DXF-Viewers mit den Grafik-Mitteln von EXCEL™ : CAD für EXCEL -> Download EXCEL-CAD.zip.
Angefangen und erste Versuche wurden auch zu solchen Aufgabenstellungen gemacht, wie z.B. "Leistungs-Katalog" -> Download Leistungs-Katalog.zip und
"Datanorm-Konvertierung" -> Download Datanorm-Konvert.zip,
was allerdings dann nie mehr weiterbearbeitet werden konnte, weil dann immer wieder andere wichtigere Dinge des Arbeitgebers im Vordergrund standen.
Eine besondere Herausforderung im Zusammenhang mit der Arbeit für die Berliner Wohnungsbaugesellschaft WOGEHE sollte ein "Eingriff" in die dynamische Darstellung eines diesbezüglichen Stadtplan-Ausschnittes sein, wo die aktuell bearbeiteten Baustellen gekennzeichnet werden sollten -> Download CAD_KART.zip

Weitere Beispiele sind:
- Konverter-Brücke "Solar zu AutoCAD™" -> siehe hier.

Da anfangs in dem "Solar"-Paket noch kein "Abwasser"-Programm nach DIN1986 enthalten war, wurden die grafischen Fähigkeiten von EXCEL™-VBA "vergewaltigt" und mit der Entwicklung eines grafischen Auslege-Programm begonnen -> Download Abwasser.zip. Das ist zwar weder fertig noch fehlerfrei, aber ein guter Ansatz zur Demonstration, was alles mit EXCEL™-VBA möglich ist.

Ein recht anspruchsvolles Vorhaben wurde viel später nochmal mit einem EXCEL™-Programm zur "Wechselrichter-Auslegung und Ertragsberechnung" für die Photovoltaik-Anlagen angefangen, dann aber wegen des Ausscheidens aus dem Berufsleben nicht mehr weitergeführt -> Download Alternative_Ertragsberechnung.zip.
Das sollte sowohl ein "Ersatz" als auch eine Erweiterung im Sinne mehrsträngiger Wechselrichter für das kommerzielle "PV-SOL" sein.

VBA an sich wurde zunehmend auch von anderer Standard- und auch sonstiger Software unterstützt, so z.B. auch von ACCESS™ und später dann auch von der CAD-Software, wie AutoCAD™ bzw. TurboCAD™, COREL™ usw.


ACCESS™ - VBA

ACCESS™-VBA hatte den Vorteil, dass man auch ohne das eigentliche ACCESS™-Programm im Hintergrund laufen lassen zu müssen eigenständige, so genannte "Standalone"-Applikationen erzeugen konnte.
Das funktionierte allerdings nicht mit dem normalen ACCESS™, sondern dazu wurde das OFFICE-Paket in der Developer-Version benötigt. Das konnte man jedoch mit einem Trick umgehen, indem der Rumpf einer fertigen Standalone-ACCESS™-Applikation mit neuen Inhalten ausgefüllt wird, d.h. die dort vorhandenen Tabellen, Formulare usw. werden gegen die eigenen austauscht. Auf dieser Basis wurde begonnen ein eigenständiges HT-Programm zu entwickeln, was jedoch infolge des Branchenwechsels zur Photovoltaik dann nicht mehr weiter verfolgt wurde.

Ebenfalls in diese Ära fällt das Projekt EdAss, ein universeller Editor/Assembler für die Mikroprozessoren Z80 (U880D) und Z8 (U88xx).


TurboCAD™ - SDK

Da das CAD-Programm TurboCAD™ als preiswerte Alternative AutoCAD™ seit Beginn des Branchenwechsels zur HT und dann später auch in der Photovoltaik ständiger Begleiter von PS war, lag es nahe, sich eingehender mit der so genannten SDK-Programmierung zu beschäftigen. Mit dem SDK - "Software Develpoment Kit" konnte man programmtechnisch Vieles erreichen, was im eigentlichen CAD-Programm so nicht vorgesehen war.
Herausgekommen ist das PS-Buch SDK-Programmierung bei TurboCAD™, was allerdings laufend noch in der Überarbeitung ist. Alle weiteren Einzelheiten und symthomatischen Zusammenhänge können aus dem PS-Buch entnommen werden.
Als eines der ersten Ergebnisse zum TurboCAD™-SDK kann ein Vorhaben angesehen werden, das ausgehend von einem Projektplanungsblatt automatisch eine Prinzipdarstellung einer Photovoltaik-Anlage generiert.
Bei der SDK-Programmierung von TurboCAD™ in den neueren Versionen besteht leider das Problem einer geeigneten Entwicklungsumgebung (IDE). VBA wird zwar prinzipiell dank der COM-Schnittstelle weiterhin unterstützt, aber seit TC V11/12 gehört die VBA-IDE leider nicht mehr zum Lieferumfang. Ersatzweise muss man sich dann mit der VBA-IDE von z.B. EXCEL™ begnügen, oder andere, in der Regel uneffektivere Hilfsmittel anwenden.
Ergebnis einer innerbetrieblichen Schulungsarbeit zur Anwendung von TurboCAD™ ist der Vortrag Einführungs-Schulung in TurboCAD.


AutoIt - die Alternative !

Mit der leicht zu erlernenden Programmiersprache "AutoIt" wurden von PS schon zahlreiche Programme geschrieben. Basis von "AutoIt" ist die konsequente Umsetzung des WINDOWS™-API in leicht handhabbare Funktionen, was eine außerordenlich kleine Programmdatei (.exe) zur Folge hat und auch keine weiteren Frameworks oder sonstige Bibliotheken gebraucht werden.
Als besonderes Problem stellte sich immer mal wieder die nicht so ausführliche Beschreibung der so wichtigen "Events" - d.h. Ereignisse bei Bedienelementen - in der ansonsten hervorragenden deutschsprachigen Dokumentation heraus. Deshalb wurden eigene Untersuchungen angestellt und als Ergebnis kam folgendes Dokument zu Stande: Control-Events in AutoIt.
Als richtiges Programm-Beispiele sei hier auf den Tabellengenerator für TurboCAD™ hingewiesen.
Weitere kleine Programme und Tools haben die Überzeugung zu "AutoIt" vertieft. Ein besonderes Highlight ist jedoch das Vorhaben mittels "AutoIt" mal tief in die Interna eines CAD-Programms vorzudringen, d.h. mal programmtechnisch nachzuvollziehen, wie man das Zeichnen von Geraden, Kreisen und daraus abgeleitete Grafik-Objekte realisiert, sowie deren verwaltungstechnische Organisation innerhalb einer Zeichnung. Dazu gibt es im AutoIt-Forum einen langen Thread unter dem Titel: "Wir bauen uns ein CAD". Die Bearbeitung ist zwar z.Zt. unterbrochen - mangels Interesse Anderer, soll aber ggf. im Rahmen der weiteren Bearbeitung zu "AVR-CNC" weitergeführt werden.

Dadurch ergab sich dann allerdings die Aufgabe aus dem "Tabellen-Generator" für TurboCAD einen "Stücklisten-Generator" zu entwickeln. Die Programm-Beschreibung kann hier Stücklisten-Generator für TurboCAD™ nachgelesen werden.

Als eine weitere AutoIt-Entwicklung soll außerdem noch auf das Programm einer Datenbank-basierenden "Mediathek" hingewiesen werden, welches für den Industriesalon Berlin-Schöneweide (ISS) erstellt wurde. Damit sollen die Besucher in die Lage versetzt werden, sich selbstständig die vielen Videos, Texte und Sounds - die im elektronischen Archiv des ISS vorhanden sind - anzuschauen, bzw. anzuhören.
Erste Eindücke können aus dem Screenshot: Mediathek ISS entnommen werden. Weitere Informationen dazu - siehe Mediathek ...


Andere Programmiersprachen

Als erste ernstzunehmende Alternative zu den teuren Standard-Programmierumgebungen für WINDOWS™-taugliche Programme kam in den 1990ern Jahren "PROFAN™" auf den Markt. Das war zwar auch nicht ganz umsonst, aber doch eher erschwinglich. Von Version zu Version wurde auch die Funktionalität verbessert, aber der etwas komplizierte Ansatz und auch die nicht immer zielführende Dokumentation beflügelten nicht gerade dessen Einsatz in der "PS-Programmierschmiede".
Erst als Microsoft™ weit nach der Jahrtausendwende überraschenderweise eine kostenlose (!) Express-Version des aktuellen "Visual-Studios" zur allgemeinen Verfügung stellte, hat sich PS auch intensiver mit VB und VC++, bzw. den Nachfolge-Versionen in der .net-Technologie beschäftigt. Herausgekommen ist - bzw. daran wird noch hart gearbeitet - eine Bedieneroberfläche für eine universell-grafisch zu programmierende AVR-Hardware - das Projekt AVRLab, mit der alle möglichen MSR- und sonstige Aufgaben gelöst werden können: Visual Programmierung.
Infolge der doch recht komplizierten Arbeitsweise innerhalb der .net-Technologie sind in letzter Zeit auch Überlegungen vorgenommen worden, diese Aufgabe mit den "AutoIt"-Mitteln zu lösen.


HTML und PHP

Mit der Veröffentlichung des PS-Buches "Die Geschichte der Mikroelektronik/Halbleiterindustrie der DDR" im Jahre 2003 war auch eine ständige Aktualisierung des dargelegten Wissensstandes notwendig. Hierzu bot sich der Betrieb einer eigenen Homepage an, was jedoch bedeutete, dass PS sich erst einmal mit der HTML-Programmierung vertraut machen muße. Umfangreiches Literaturstudium und die intuitiv leicht bedienbare Entwicklungsumgebung "SuperHTML" von Mirabyte sicherten jedoch einen schnellen Erfolg:
- PS-Homepage und
- robotron-net
wurden damit erstellt und werden immer noch damit bearbeitet.

Eine neue Herausforderung war aber die Programmierung von dynamischen Webseiten - und das geht leider nicht mit einfacher HTML, sondern z.B. mit PHP.
Ausgangspunkt war die selbst gestellte Aufgabe eine OnLine-Datenbank für die DDR-Fachzeitschrift "Radio und Fernsehen" bzw. "radio fernsehen elektronik" zu entwickeln. Wieder galt es Bücher zu wälzen und erste Versuche zu unternehmen.
Die besondere Schwierigkeit besteht jedoch darin, dass im Gegensatz zu HTML mit seiner sofortigen Vorschau im "SuperHTML" bei php-Datein diese erst auf einen Server hochgeladen werden müssen, um dann im "Try & Error"-Verfahren das Ergebnis in einem Internet-Browser sehen zu können. Um keinen eigenen Server installieren zu müssen, wurde das Datenbank-Angebot von STRATO benutzt, da dieser Webhoster sowieso schon für die o.g. Web-Auftritte zur Verfügung stand.
Etwas nervig gestaltete sich allerdings das Debugging, weil diesbezügliche Fehlermeldungen im Logfile nicht zeitnah zur Verfügung stehen. So konnte bei nicht sofort erkennbaren Fehlern oft erst am nächsten Tag weiter gearbeitet werden.

Das Ergebnis ist die "rfe-Datenbank", in welcher z.Zt. zwar erst Informationen über veröffentlichte Artikel in den Jahrgängen 1965 bis 1968 hinterlegt sind, welche aber nach und nach weiter ergänzt werden sollen. Ziel ist ein umfassender Wissensnachweis von Anfang der 1950er Jahre bis zum Ende der DDR 1990.





Copyright © 2012 by Peter Salomon. Letzte Änderung am 17.01.2021