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 WOGEHE sollte ein "Eingriff" in die dynamische Darstellung eines 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 ein grafisches Auslege-Programm entwickelt -> Download Abwasser.zip. Das ist zwar weder fertig noch fehlerfrei, aber ein guter Ansatz zur Demonstration, was man alles mit EXCEL™-VBA machen kann.

Ein recht anspruchsvolles Vorhaben wurde viel später nochmal mit einem EXCEL™-Programm zur "Wechselrichter-Auslegung und Ertragsberechnung" für die Photovoltaik angefangen, dann aber wegen 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.


TurboCAD™ - SDK

Da TurboCAD™ als preiswerte Alternative zu AutoCAD™ seit Beginn des Branchenwechsels zur HT und dann später zur Photovoltaik ständiger Begleiter von PS war, lag es auch nahe, sich eingehender mit der so genannten SDK-Programmierung zu beschäftigen. Herausgekommen ist das PS-Buch SDK-Programmierung bei TurboCAD™, was allerdings laufend noch in der Überarbeitung ist. Alle weiteren Einzelheiten und symthomatische 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.
Auch bei der SDK-Programmierung von TurboCAD™ bestand immer wieder das Problem einer geeigneten Entwicklungsumgebung (IDE). VBA wird zwar noch unterstützt, aber seit TC V11/12 gehört die VBA-IDE nicht mehr zum Lieferumfang. Ersatzweise muss man sich mit der VBA-IDE von EXCEL™ begnügen, oder andere, in der Regel uneffektivere Hilfsmittel anwenden.


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 besonders Problem trat jedoch dabei immer wieder die nicht so ausführliche Beschreibung der so wichtigen "Events", d.h Ereignisse bei Bedienelementen in der ansonsten hervorragenden deutschsprachigen Dokumentation auf. 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 Bearbeitung zu "AVR-CNC" weitergeführt werden.

Als neueste Entwicklung soll hier noch auf eine Datenbank-basierende "Mediathek" hingewiesen werden, die 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 deren Einsatz.
Erst als Microsoft™ weit nach der Jahrtausendwende überraschenderweise eine kostenlose (!) Express-Version des aktuellen "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öste werden können: Visual Programmierung.


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 nicht mit 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 der Jahrgänge 1965 bis 1968 hinterlegt sind, was aber nach und nach weiter ergänzt werden soll.





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