+==================================================+
# Wichtige Hinweise, die nicht in der Hilfe stehen #
+==================================================+
Stand: 10.09.1994 / Version 3.2


Themen:

* Neue Funktionen in Version 3.2 
* Seltene Probleme mit dem Anzeigen der 3D-Elemente und CTRL3D.DLL

* Versions-Historie und behobene Fehler


Neue Funktiuonen in Version 3.2
-------------------------------

Neben einigen kleineren Verbesserungen und Ergnzungen (z.B. einem Editierdialog) wurde PROBAT mit einer 
ODBC-SQL-Schnittstelle ausgestattet. Wenn auf Ihrem System ODBC, der Windows-Datenbankstandart,
installiert ist, stehen Ihnen folgende Funktionen und Befehle zur Verfgung:

@SQLINIT(S$)                   S$ ist der Initialisierungsstring, um den Datenbankserver zu ffnen und zu
                               initialisieren. Ist auf Ihrem System ODBC nicht installiert, kommt die Fehler-
                               meldung "ODBC.DLL nicht gefunden". Geben Sie als S$ einen Leerstring an, wird
                               eine Dialogbox geffnet, mit der Sie den Datenbankserver whlen knnen. Es gibt
                               auch ODBC-Treiber fr dBase-, Fox-Pro-, Paradox- und Acess-Datenbanken. Damit 
                               ist es mglich auch ohne Netzwerk ODBC und SQL zu nutzen. Konnte der Datenbank-
                               server nicht geffnet werden, liefert die Funktion 0 zurck, ansonsten 1.
                               Beispiele: @SQLINIT("DSN=SQLserver;UID=USER;DATABASE=TEST")
                                          @SQLINIT("DSN=dBase-Dateien")

SQLEXEC S$,N                   Sendet einen SQL-Befehl an die Datenbank. S$ ist das SQL-Statement und N der
                               Ergebnismodus:
                                 0: Das Ergebnis wird angezeigt. Jeder Datensatz ist ein Zeile und kann
                                    maximal 255 Zeichen enthalten.
                                 1: Das Ergebnis wird in die Listbox-Liste geschrieben und kann dann z.B.
                                    mit der @LISTBOX$-Funktion betrachtet werden. Jeder Datensatz ist
                                    ein Eintrag in der Liste und kann maximal 255 Zeichen enthalten;
                                    maximal 10000 Datenstze passen in die Liste.
                                 2: Das Ergebnis wird in die Datei "SQL.DAT", die im aktuellen Pfad erzeugt
                                    wird, geschrieben. Jeder Datensatz ist eine Zeile.
                               In &SQLCOUNT wird zurckgeliefert, wieviele Datenstze bearbeitet wurden oder
                               -1, wenn ein Fehler auftrat.
                               Beispiel: SQLEXEC "SELECT * FROM KUNDEN",1

SQLSETNULL S$                  Legt fest, das NULL als S$ im Ergebnis dargestellt wird. Ein Datensatzfeld hat
                               den Wert NULL, wenn ihm kein Wert zugewiesen wurde. NULL steht also fr nichts.

SQLSETDEL S$                   Legt fest, mit welchem Zeichen die einzelnen Felder im Ergebnis getrennt werden.
                               Voreingestellt ist "|". Wenn S$ zwei Zeichen gro ist, legt das zweite Zeichen
                               fest, mit welchem Zeichen die Feldinhalte begrenzt werden. Voreingestellt ist
                               hier der Leerstring. Das zweite Zeichen wirkt nur, wenn das Ergebnis des SQL-
                               Befehles in eine Datei ausgegeben wird (Modus 2). Will man zum Beispiel erreichen, 
                               da in der Ergebnisdatei die Feldinhalte in Anfhrungszeichen stehen und die 
                               Felder mit einem Komma getrennt werden, mte S$ die Zeichen , und " enthalten: 
                               SQLSETDEL @ADD$(",",@CHR$(34))

SQLDONE                        Beendet die Verbindung zum SQL-Server und gibt die von ODBC.DLL belegten
                               Speicherbereiche wieder frei.

&SQLCOUNT                      Anzahl der vom letzen SQL-Befehl bearbeiteten Datenstze.

Weitere Neuerungen:

%BUTTON                        Die Systemvariable Button wird auf Wunsch meherer Anwender jetzt nicht nur
                               bei der MessageBox benutzt, sondern bei allen vorgefertigten Dialogen 
                               (ListBox, LoadFiles, SaveFiles, ...). %Button hat den Wert 1, wenn "OK"
                               gedrckt wurde und 2, wenn "Abbruch" gedrckt wurde. Bestehende Programme
                               werden von der nderung nicht beeinflut!

@LISTBOX$(S$,N)                Sind die Eintrge der Listbox lnger, als die Listbox breit ist, kann nun auch
                               horizontal gescrollt werden. Zur Betrachtung von SQL-Ergebnissen ist dies
                               unerllich, wurde aber auch sonst von vielen Anwendern gewnscht.

@EDITBOX(S$,N)                 Nun gibt es einen weiteren fertigen Dialog: Den Editierdialog. S$ ist die
                               berschrift des Dialoges und N der Modus: 1 = Proportionalschrift, 2 = Courier.
                               Editiert werden die Zeilen der Listbox-Liste. Um einen Text zu editieren, ist er
                               zuvor in die Listbox-Liste einzulesen. Das Ergebnis des Editiervorganges steht
                               wiederum in der Listbox-Liste und kann in eine Datei geschrieben werden. Der zu
                               editierende Text darf etwa 30 kB gro sein.

@UPPER$(S$)                    Bei der Umwandlung von Klein- in Grobuchstaben werden jetzt nicht nur die
                               deutschen Sonderzeichen bercksichtigt, sondern alle die, die im ANSI-Zeichen-
                               satz verfgbar sind.

@LOWER$(S$)                    Wandelt einen String von Grobuchstaben in KLeinbuchstaben um.

@SUBSTR$(S$,N,Z$)              Aus dem String S$ wird der N-te Teilstring herausgefiltert, wobei Z$ das Trenn-
                               zeichen zwischen den Teilstrings ist. Beispiel:
                                     LET A$ = "eins,zwei,drei,vier,fnf"
                                     PRINT @SUBSTR$(A$,3,",")
                               Das Ergebnis wre der String "drei".
                               Wird das Trennzeichen im String S$ nicht gefunden, ist das Ergebnis fr den
                               ersten Teilstring der gesamte String und fr alle weiteren der Leerstring. Ist
                               N kleiner als 1, erfolgt eine Fehlermeldung. Ist N hingegen grer als die 
                               Anzahl der vorhandenen Teilstrings, so ist das Ergebnis ein Leerstring.
                               HINWEIS: Z$ darf auch aus mehreren Zeichen bestehen!


Seltene Probleme mit dem Anzeigen der 3D-Elemente und CTRL3D.DLL
----------------------------------------------------------------
Sollte es in seltenen Fllen hiermit Probleme geben, etwa weil Sie mit einem Tool bereits 
die Anzeige aller Dialoge im 3D-Look realisiert haben oder weil es andere Inkompatibilitten 
gibt, fgen Sie bitte in Ihre AUTOEXEC.BAT die Zeile "SET PRO3D=NEIN" ein. Dann versuchen 
PROBAT-Programme erst gar nicht, den 3D-Look selbst einzustellen. 

+-----------------------------------------------------------------------+
| Die aktuelle offizielle Version von Interpreter:             3.2      | 
|                                     Entwicklungsumgebung:    3.2      |
|                                     Hilfe:                   3.1      |
+-----------------------------------------------------------------------+

Version 3.2  (06.09.1994)
===========

ODBC-Untersttzung             PROFAN untersttzt nun auch die Programmierung der ODBC-Schnittstelle, wenn
                               sie auf dem Rechner installiert ist. Hierzu dienen die Befehle SQLEXEC, 
                               SQLDONE, SQLSETNULL und SQLSETDEL, die Funktion @INITSQL und die System-
                               variable &SQLCOUNT.

%BUTTON                        Die Systemvariable Button wird nun sondern bei allen vorgefertigten Dialogen 
                               genutzt.

@LISTBOX$                      Die Listbox kann nun auch horizontal gescrollt werden.

@EDITBOX                       Nun gibt es einen weiteren fertigen Dialog: Den Editierdialog. 

@UPPER$                        Es werden jetzt alle Sonderzeichen bercksichtigt.

@LOWER$                        Wandelt einen String von Grobuchstaben in KLeinbuchstaben um.

@SUBSTR$                       Aus dem String wird der n-te Teilstring herausgefiltert.

MESSAGES.TXT                   Der Text erlutert die Verwendung der Funktion @SENDMESSAGE.


Version 3.1  (13.08.1994)
===========

Neue Befehle und Funktionen    Folgende neue Befehle und Funktionen wurden hinzugefgt:
                               @USEDLL, DRAWEXTICON, MLOADBMP, MCOPYBMP. Diese werden in Handbuch und Hilfe
                               ausfhrlich erlutert.

Fehler bei INPUT               Ein Fehler verhinderte den Einsatz des INPUT-Befehles bei LongInt-Variablen.
                               Der Fehler wurde behoben.

%GETDESKTOP                    Diese Systemvariable heit in Wirklichkeit %DESKTOP. Der Fehler in Handbuch
                               und Hilfe wurde ausgemerzt.

@CREATEICON                    Bei dieser Funktion wurden in Handbuch und Hilfe flschlicherweise zwei
                               Parameter zu viel angegeben. Dies wurde korigiert.

COPY / ADDFILES                In einigen Fllen wurde IOResult nicht zurckgesetzt, soda man es im Programm
                               selbst tun mute: Nach ADDFILES war IOResult flschlicherweise gesetzt. Der
                               COPY-Befehl meldete einen Fehler wenn IOResult durch eine vorherige Aktion,
                               etwa MKDIR, gesetzt war. Beide Probleme wurden behoben. Es gilt jedoch 
                               weiterhin, da man IOResult bei Datei- und Verzeichnisoperationen abfragen
                               sollte.

Version 3.0 (17.04.1994)
===========

Die wesentlichen Ergnzungen in aller Krze:

A) SPRACHUMFANG                Besonders folgenden vier Bereichen wurden ber 70 neue Befehle, 
                               Funktionen und Systemvariablen hinzugefgt:
                               - DBase-kompatible Datenbanken
                               - Selbstdefinierte Dialogfenster
                               - Kommunikation mit anderen Fenstern
B) GRENZEN                     Arrays und Listboxliste knnen jetzt 9999 Eintrge haben,
                               Es sind bis zu 9999 Programmzeilen pro Programm erlaubt und die
                               maximale Zeilenlnge wurde auf 254 hochgesetzt.
C) FEHLER                      Alle bisher bekannten Fehler wurden behoben (und hoffentlich nicht
                               allzuviele neue produziert).

Der Umfang der Neuerungen verbietet es, hier alle gesondert aufzufhren. In der aktuellen Hilfe-
Datei sind unter der Rubrik "Was ist Neu?" alle Neuerungen und Ergnzungen aufgefhrt. Es wird
dringend geraten diese ausfhrlich zu studieren!

