PROFAN² ist eine äußerst mächtige Programmiersprache und Batchsprache für Windows in Einem! Außerdem ist PROFAN² auch noch ein SQL-fähiges Datenbank-Entwicklungssystem mit ODBC-Schnittstelle und direkter dBase-Unterstützung. Auch die Fähigkeiten als MultiMedia-Entwicklungstool können überzeugen. PROFAN² enthält beides: Interpreter und schnellen Compiler!
PROFAN² 7.x gibt es nur noch als 32-Bit-Version für Windows 9x/NT/2000. Die letzte 16-Bit-Version war PROFAN 6.5 und ist auf der CD der Version 7.0 mit dabei. Wenn Sie noch 16-Bit-Programme haben: Lediglich ein neues Linken mit der 32-Bit-Version ist in der Regel notwendig, um aus einem 16-Bit-Programm ein 32-Bit-Programm für die gewünschte Plattform zu machen. Die Ausnahme von der Regel: DLL-Aufrufe müssen angepaßt werden.
Es gibt auch PROFAN-Versionen für LINUX und DOS mit eingeschränktem Befehlsumfang. Auch hier gilt: Ein neues Linken reicht aus, um aus einen LINUX- oder DOS-Programm ein Windowsprogramm zu machen. Im Netzwerk könnte ein und dasselbe (!) Kompilat von Windows-, LINUX- oder DOS-Runtimes gestartet werden: Ein Programm auf dem Server - beliebige Clients!
Ziele der Entwicklung von PROFAN² sind:
eine einfache - an BASIC angelehnte - Syntax auch - aber nicht nur - für den Anfänger
traditionelle prozedurale (nicht objektorientierte) Programmierung
alle Grafik- und Multimedia- Möglichkeiten, die Windows bietet
umfangreiche Datei- und Verwaltungsfunktionen
das komplette Programm in einer nicht zu großen Datei
keine weiteren DLLs oder sonstige Dateien
Möglichkeit, Anwendungen ohne weitere Kosten weiterzugeben
Herausgekommen ist bisher "PROFAN² 7". Eine komplette Programmiersprache. Der Anfänger wird viele BASIC-Befehle in gewohnter Form wiederfinden, u.a.:
PRINT, LOCATE, CLS, INPUT, IF, WHILE, WEND, SOUND, PRINT #n, INPUT #n, END, LET, ...
Auch die Variablen und Konstanten werden weitestgehend wie in BASIC gehandhabt, wenn auch mit dem Bereichs-Typ ein Datentyp eingeführt wurde, der die Flexibilität von Zeigern bietet, ohne deren Gefährlichkeit in der Anwendung.
Bei den Dateioperationen wurde allerdings das etwas vielseitigere Konzept von PASCAL übernommen:
ASSIGN, RESET, REWRITE, APPEND, RENAME, ERASE, CLOSE, SETFATTR, ...
Mit COPY können Dateien kopiert werden und mit CHDIR, MKDIR und RMDIR können Verzeichnisse verwaltet werden. Spezielle Funktionen geben Auskunft über das aktuelle Laufwerk, den aktuellen Pfad, Attribute, Änderungsdatum und vieles mehr.
Dazu kommen dann noch WINDOWS-spezifische Dinge, wie Menüs, Listboxen, Inputboxen, Load- und Save-Dialoge, ... um nur ein paar Möglichkeiten zu nennen. Zahlreiche vorgefertigte Dialogboxen nehmen dem Programmierer bei Standardaufgaben viel Arbeit ab. Wem das nicht ausreicht, wird mit den vielfältigen Möglichkeiten der Oberflächengestaltung gedient, die von mehreren "Helfern" tatkräftig unterstützt werden. Dialoge können völlig frei gestaltet und variiert werden. Alle wesentlichen Dialogelemente stehen zur Verfügung.
Sogar der Zugriff auf Resourcen ist möglich, sodaß es z.B. denkbar ist alle Menüs, Dialoge, Texte, Icons und Bitmaps eines Programmes mit einem Tool wie dem "Resource Hacker" einer DLL oder dem Runtime-Modul unterzubringen.
Sehr wichtig sind natürlich auch die umfangreichen Grafikbefehle, die direkt auf den Grafik-Kern von Windows zugreifen: USEBRUSH, USEFONT, USEPEN, USEICON, COPYBMP, RECTANGLE, ROUNDRECT, ELLIPSE, ARC, PIE, DRAWTEXT, ...
Mit LOADBMP und SAVEBMP können Bitmap-Grafiken geladen, verarbeitet und gespeichert werden. Memorybitmaps sorgen für das notwendige Tempo bei Animationen. Das Drucken der Grafiken ist natürlich kein Problem!
Für den Multimedia-Fan bietet PROFAN² auch einiges: Ansteuerung aller Multimediageräte und Abspielen von WAV-Sounddateien über die Soundkarte. Über die MIDI-Erweiterung der Befehle PLAY und MUSIC komponieren Sie mehrstimmige Songs mit den Sounds Ihrer Soundkarte. Das Abspielen von Musik-CDs ist ebensowenig ein Problem wie das Untermalen von Spielen mit Geräuschen oder das Abspielen von Microsofts Video für Windows: MCISEND, PLAYSOUND, ...
PROFAN² hat zahlreiche Datenbankfunktionen zum Lesen und Bearbeiten von DBase III- kompatiblen Datenbanken. Kleine und mittlere Datenbankanwendungen sind für PROFAN² kein Problem. Zusätzlich gibt es noch die ODBC-SQL-Schnittstelle hinzu, sodaß PROFAN² auch im Client-Server-Bereich eine immer größere Rolle spielt. SQL ist auch für PROFAN² keine Fremdsprache mehr.
Die Kontrolle "fremder" Fenster ist ebenso möglich, wie das Senden von Messages und Tastaturcodes. Gerade die zahlreichen Windowsbotschaften eröffnen dem Programmierer umfangreiche Möglichkeiten, auch fremde Anwendungen durch ein PROFAN²-Programm anzusteuern und zu beeinflussen. Mittels DDE können z.B. Programmanagergruppen angelegt, umbenannt und auch wieder entfernt werden.
Einige Spezialbefehle und eine Option des Linkers ermöglichen die einfache Programmierung von ScreenSavern, die über den Windows-Desktop angesteuert werden können.
Der fortgeschrittene Anwender wird vermutlich zur Bildschirmausgabe die textorientierten Ausgabebefehle des BASIC weniger verwenden, als vielmehr die neuen und mächtigen Windows-Befehle, die volle Kontrolle über die Windows-Grafik bieten und auch TrueType-Schriften voll unterstützen. Text in allen Größen, Farben und Ausrichtungen ist kein Problem.
Wem all dies nicht ausreicht, der kann Funktionen aus Windows-API und DLLs einbinden und so den Funktionsumfang nahezu beliebig erweitern.
Strukturierte und übersichtliche Programmierung wird ermöglicht, indem nur ein Befehl pro Zeile erlaubt ist und zahlreiche Kontrollstrukturen verfügbar sind:
IF ... ELSEIF ... ELSE ... ENDIF, CASE, WHILE ... WEND.
Mit PROC ... ENDPROC können - wie in Pascal - Prozeduren definiert werden und mit DEF können neue - auch externe - Funktionen definiert werden. In Prozeduren und Funktionen gibt es lokale Variablen. Außerdem ist beliebiges Einrücken ebenso statthaft, wie komplett leere Zeilen.
PROFAN² hat einen Compiler, der einen sehr kompakten Zwischencode erzeugt, der mit einem Runtime-Modul gestartet werden kann. Das letzte Glied in der Kette zur kompletten Programmiersprache ist der Linker, der Runtimemodul und Zwischencode zu einer eigenständigen EXE- Datei oder zu einem ScreenSaver linkt.
Und da das Runtime-Modul keine 500 kB groß ist, sind recht aufwendige Windowsapplikationen unter 1 MB möglich. In den meisten Fällen paßt ein komplettes PROFAN-Programm immer noch auf eine Diskette. Da die fertige PROFAN-Applikation immer noch als Runtime-Modul für weitere Zwischencode- Dateien dienen kann und sogar eine Übergabe von Parametern (über die Zwischenablage) möglich ist, steht der modularisierten Programmierung nichts im Wege.
Die Sahnehaube aber ist PROFED, die komplette Entwicklungsumgebung, die in der vorliegenden Version noch einmal erweitert wurde und das Editieren nahezu beliebig großer Dateien zuläßt. Syntaxhighlighting ist natürlich auch möglich.
Ach ja: Das berühmte "Hallo Welt"-Programm in Profan:
PRINT "Hallo Welt"
WAITKEY
END
So einfach ist das. Das "WAITKEY" steht nur deshalb da, damit der Anwender Gelegenheit hat, das Ergebnis zu betrachten: Ein Programm in einem Windows- Fenster mit allem was dazugehört. Sozusagen eine vollständige Windows- Applikation. Mit einem Tastendruck oder über die entsprechende Fensterfunktion wird das Programm beendet. Auch das END könnte man noch weglassen, es steht nur der Form halber da.
Die Kombination von Interpreter und Compiler bietet interessante Vorteile. Im Interpretermodus entwickeln Sie das Programm und testen es aus. Ein zuschaltbarer TRACE-Modus, Debug-Infos und Breakpoints unterstützen Sie dabei. Und wenn es dann fertig getestet ist, verleihen Sie ihm mit dem Compiler den nötigen Drive!
... und eine Batchsprache für Windows benötigen Sie auch nicht mehr, wenn Sie PROFAN² haben!
--- aus der PROFAN² Hilfe der Version 7 ---