Vom U880-Assembler über AutoIt zu PHP und PowerBASIC
Vorgeschichte
ExcelVBA
AccessVBA
EdAss
TC-SDK
AutoIt
Mediathek
Andere Programmiersprachen
HTML und
PHP
PowerBASIC (in Arbeit)
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.
PowerBASIC
Mit AutoIt kann man schon Vieles programmieren - sogar
infolge der COM-Unterstützung sowas, wie in "TurboCAD-Forum"
aufgeführt.
Zum "Planarspulen-Generator" gab's allerdings das Problem, dass
mit AutoIt offensichtlich nur die COM-Anbindung als "OutProcServer" funktioniert ->
"AutoIt-Forum".
Als weiteres Manko bei all den Versuchen mit AutoIt erwies sich das Fehlen
eines geeigneten Debuggers. Ohne die Hilfe eines "intelligenten Fehlersuchers" ist das Programmieren wie das Herumstockern in einem Heuhaufen!
Auf der Suche nach einer Alternative zu AutoIt (mit Debugger) wurde viele weitere Programmier-Werkzeuge angeschaut, so z.B. PureBASIC, FreeBASIC und zum Schluß PowerBASIC. Bei letzterem bin ich dann fündig geworden. In der aus dem Internet downloadbaren Beschreibung ist auf über 2000 Seiten nun alles aufgeführt, was ein Programmierer bei seiner Arbeit so braucht - auch ein überaus umfangreiches Debugger-Tool und die COM-Anbindung sowohl als "OutProcServer", wie auch als "InProgServer".
Im Gegensatz zu AutoIt ist PowerBASIC allerdings keine Freeware, aber preislich mit ~100$ doch angemessen. Leider hatte bereits vor Jahren die deutsche Distribution "Kirschbaum-Software" infolge Todesfall den Vertrieb eingestellt und auch die HP des US-amerikanische Mutter-Konzerns PowerBASIC Inc. steht seit geraumer Zeit "Under Construction". Deshalb sind viele "Profi"-Programmierer der Meinung: PowerBASIC ist tot und somit nicht mehr relevant.
Dem kann ich nicht zustimmen! - Nach dem was hier -> "PBWin10-Einführung" offeriert wird und die US-Firma offensichtlich kein Interesse mehr daran hat, das diesbezüglich Forum nun auch noch abgeschaltet wurde - sollte diese geniale Software in den Status "OpenSource" überführt werden.
Um mal zu dokumentieren um was es sich bei PowerBASIC in der Version 10 handelt, hier mal ein Auszug aus dem über 700seitigen Referenzhandbuch in der selbst erarbeiteten deutschen Fassung ->
"PBWin10_Ref-Auszug".
Weitere Diskussionen dazu gibt es, bzw. wird es im Forum -> " It-BeraterForum" geben.
Copyright © 2012 by Peter Salomon. Letzte Änderung am 26.09.2025