EINFHRUNG

PROFAN ist eine uerst mchtige Programmiersprache und Batchsprache
in Einem! Auerdem ist POFAN auch noch ein SQL-fhiges Datenbank-
Entwicklungssystem mit ODBC-Schnittstelle und direkter dBase-Untersttzung.
Auch die Fhigkeiten als MultiMedia-Entwicklungstool knnen berzeugen.
PROFAN enthlt beides: Interpreter und schneller Compiler!

Ziele der Entwicklung von PROFAN sind:

* Eine einfache - an BASIC angelehnte - Syntax auch fr den Anfnger
* Traditionelle prozedurale (nicht objektorientierte) Programmmierung
* Alle Grafikmglichlkeiten, die Windows bietet
* umfangreiche Datei- und Verwaltungsfunktionen
* das komplette Programm in einer nicht zu groen Datei
* keine weiteren DLLs oder sonstige Dateien
* Mglichkeit, Anwendungen ohne weitere Kosten weiterzugeben

Herausgekommen ist bisher "PROFAN 5.5". Eine komplette Programmiersprache.
Der Anfnger 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 eingefhrt
wurde, der die Flexibilitt von Zeigern bietet, ohne deren Gefhrlichkeit
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 knnen Dateien kopiert werden und mit CHDIR, MKDIR und RMDIR
knnen 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 Mens, Listboxen,
Inputboxen, Load- und Save-Dialoge, ... um nur ein paar Mglichkeiten zu
nennen.
Zahlreiche vorgefertigte Dialogboxen nehmen dem Programmierer bei
Standardaufgaben viel Arbeit ab. Wem das nicht ausreicht, wird mit
den vielfltigen Mglichkeiten der Oberflchengestaltung gedient,
die von zwei "Helfern" tatkrftig untersttzt wird. Dialoge knnen
vllig frei gestaltet und variiert werden. Alle wesentlichen
Dialogelemente stehen zur Verfgung.

Und die Krnung sind natrlich 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 knnen Bitmap-Grafiken geladen, verarbeitet und
gespeichert werden. Das Drucken der Grafiken ist natrlich kein Problem!

Fr den Multimedia-Fan bietet PROFAN auch einiges:
Ansteuerung aller Multimediagerte und Abspielen von WAV-Sounddateien ber
die Soundkarte. Das Abspielen von Musik-CDs ist ebensowenig ein Problem wie
das Untermalen von Spielen mit Geruschen oder das Abspielen von Microsofts
Video fr Windows: MCISEND, PLAYSOUND, ...

PROFAN hat zahlreiche Datenbankfunktionen zum Lesen und Bearbeiten von
DBase III-kompatiblen Datenbanken. Kleine und mittlere Datenbankanwendungen
sind fr PROFAN kein Problem. Zustzlich gibt es noch die ODBC-SQL-
Schnittstelle hinzu, soda PROFAN auch im Client-Server-Bereich eine immer
grere Rolle spielt. SQL ist auch fr PROFAN keine Fremdsprache mehr.

Die Kontrolle "fremder" Fenster ist ebenso mglich, wie das Senden von
Messages und Tastaturcodes. Gerade die zahlreichen Windowsbotschaften
erffnen dem Programmierer umfangreiche Mglichkeiten, auch fremde
Anwendungen durch ein PROFAN-Programm anzusteuern und zu beeinflussen.

Einige Spezialbefehle und eine Option des Linkers ermglichen die einfache
Programmierung von ScreenSavern, die ber den Windows-Desktop angesteuert
werden knnen.

Der fortgeschrittene Anwender wird vermutlich zur Bildschirmausgabe die
textorientierten Ausgabebefehle des BASIC weniger verwenden, als vielmehr die
neuen und mchtigen Windows-Befehle, die volle Kontrolle ber die Windows-Grafik
bieten und auch TrueType-Schriften voll untersttzen. Text in allen Gren, Farben
und Ausrichtungen ist kein Problem.

Strukturierte und bersichtliche Programmierung wird ermglicht, indem nur ein
Befehl pro Zeile erlaubt ist und zahlreiche Kontrollstrukturen verfgbar sind:
IF ... ELSEIF ... ELSE ... ENDIF, CASE, WHILE ... WEND.
Mit PROC ... ENDPROC knnen - wie in Pascal - Prozeduren definiert werden und
mit DEF knnen neue Funktionen definiert werden. In Prozeduren und Funktionen
gibt es lokale Variablen. Auerdem ist beliebiges Einrcken 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 eigenstndigen EXE-Datei oder zu einem ScreenSaver linkt.
Und da das Runtime-Modul keine 250 kB gro ist, sind recht aufwendige
Windowsapplikationen unter 300 kB mglich. Da die fertige PROFAN-Applikation
immer noch als Runtime-Modul fr weitere Zwischencode-Dateien dienen kann
und sogar eine bergabe von Parametern (ber die Zwischenablage) mglich ist,
steht der modularisierten Programmierung nichts im Wege.

Die Sahnehaube aber ist PROFED, die komplette Entwicklungsumgebung, die
in der vorliegenden Version noch einmal krftig erweitert wurde.

Ach ja: Das berhmte "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 dazugehrt. Sozusagen eine vollstndige Windows-
Applikation. Mit einem Tastendruck oder ber die entsprechende Fensterfunktion
wird das Programm beendet.

Die Kombination von Interpreter und Compiler bietet interessante Vorteile.
Im Interpretermodus entwickeln Sie das Programm und testen es aus. Ein
zuschaltbarer TRACE-Modus untersttzt Sie dabei. Und wenn es dann fertig
getestet ist, verleihen Sie ihm mit dem Compiler den ntigen Drive!

... und eine Batchsprache fr Windows bentigen Sie auch nicht mehr,
wenn Sie PROFAN haben!
