<< Inhaltsverzeichnis Suchen >>

Version 5.0

Bei den Indexdateien sind jetzt bis zu 20 Sekundärschlüssel möglich.

 

Zugriffsschutz:

FILEACCESS legt den Zugriffsmodus der Indexdatei fest (Read-only oder Read-Write)

 

DENY_ACCESS verhindert den Zugriff auf Indexdateifelder.

 

ALLOW_ACCESS erlaubt den Zugriff auf Indexdateifelder.

 

DISABLE GR_FORMAT_TEXT: Zwei aufeinander folgende Leerzeichen führen nicht mehr zur Bildung eines neuen Textblockes.

 

Bei numerischen Eingabefeldern können am Feldende weitere Ziffern eingegeben werden. Alle bereits vorhandenen Ziffern werden dabei nach links verschoben.

Bei numerischen Eingabefeldern mit Vorzeichen kann an jeder beliebigen Stelle das Minuszeichen '-' eingegeben werden. Durch zweimalige Eingabe von '-' wird das Minuszeichen wieder zurückgesetzt.

 

Die Voreinstellung von EBUS_INSMODE_ALPHA ist jetzt 1, d.h. in alphanumerischen Maskenfeldern werden die Zeichen nicht überschrieben sondern eingefügt.

 

Bei GR_FIELDFONT können auch Proportionalschriften angegeben werden. Die Voreinstellung bei Programmbeginn ist jetzt 0. Sollen die Maskeneingabefelder weiterhin im Fixed Font angezeigt werden, so muß im Initmacro GR_FIELDFONT = 1 eingefügt werden.

Da die Feldbreite von 1-stelligen und 2-stelligen alphanumerischen Maskenfeldern für die Anzeige der breiten Proportionalschrift-Zeichen (z.B. 'W') unter Umständen nicht ausreicht, kann mit Hilfe der Variablen EBUS_ALPHA_FIELDLENGTH_1 und EBUS_ALPHA_FIELDLENGTH_2 die Feldbreite verlängert werden. Beim Programmstart hat EBUS_ALPHA_FIELDLENGTH_1 den Wert 1,5 und EBUS_ALPHA_FIELDLENGTH_1 den Wert 2,0. 1,5 bedeutet, daß die Feldbreite das 1,5-Fache der Zeichenbreite eines Fixed-Font-Zeichens beträgt.

Ist der Feldinhalt eines alphanumerischen Maskenfeldes mit Proportionalschrift breiter als das Maskenfeld, so wird nur ein Teil des Feldinhaltes angezeigt. Mit den Cursortasten kann der sichtbare Teil verschoben werden.

 

In den Maskeneingabefeldern können, wie unter WINDOWS üblich, Zeichen mit der Maus oder mit den Tasten <SHIFT/CURSOR LINKS>, <SHIFT/CURSOR RECHTS>, <SHIFT/HOME> und <SHIFT/END> markiert werden. Die markierten Zeichen können unter WINDOWS mit CTRL/C oder CTLR/X in die Zwischenablage kopiert werden oder mit der Taste <DEL> oder durch Eingabe eines Zeichens gelöscht werden.

 

Mit CTRL/V wird der Inhalt der Zwischenablage an der aktuellen Cursorposition eingefügt.

 

Schalter ENABLE / DISABLE FIELDMARK

 

Bei ENABLE FIELDMARK wird jedes neu angesprungene Maskenfeld, wie unter WINDOWS üblich, markiert dargestellt und der Cursor an das Ende des Feldes gesetzt. Wird im Macro vorher eines Maskenfeldes mit der Anweisung SETCOL der Cursor gesetzt, so hat in diesem Maskenfeld ENABLE FIELDMARK keine Wirkung.

 

 

Schalter ENABLE / DISABLE NUM_FIELD_RIGHT

 

Bei ENABLE NUM_FIELD_RIGHT wird beim Ansprung eines numerischen Feldes der Cursor an das Ende des Feldes gesetzt. Bei Eingabe einer Ziffer werden die bereits vorhandenen Ziffern nach links verschoben. Bei DISABLE NUM_FIELD_RIGHT wird der Cursor an den Anfang des numerischen Feldes gesetzt.

 

 

Schalter ENABLE / DISABLE READ_RECORD

 

Bei DISABLE READ_RECORD wird bei EBUS-Indexdateien nur der Index gelesen und nicht der Datensatz. DISABLE READ_RECORD kann dazu verwendet werden, Datensätze zu zählen oder zu suchen. Da nur der Index gelesen wird, laufen die Dateizugriffe erheblich schneller ab als bei ENABLE READ_RECORD. Der gelesene Index ist in der Variablen EBUS_INDEXKEY$ als String verfügbar.

 

 

In Windows-Dialogen können auch statische Texte mit Variablen verknüpft werden. Dies kann dazu verwendet werden, statische Texte während des Programmablaufs zu verändern. Statische Texte sind keine Eingabefelder, deshalb kann weder ein Macro-vorher noch ein Macro-nachher angegeben werden.

 

In der Programm-INI-Datei werden weitere Parameter (aktuelle Größe und Position des Main-Windows, GR_FIELDSTYLE, GR_FIELDFONT, GR_TEXTFONT, GR_FONTWIDTH, EBUS_-HILITEMODE, EBUS_PUSHBUTTON$, EBUS_RADIOBUTTON$, EBUS_CHECKBOX$) gespeichert. Beim nächsten Start des Programmes werden die Programmparameter mit den zuletzt gespeicherten Werten initialisiert.

 

Die Variable EBUS_MAINPROG$ enthält stets den aktuellen Hauptprogrammnamen.

 

Die Variable EBUS_NUM_FIELD_MODE legt fest, wie numerische und Datums-Maskenfelder in Proportionalschrift angezeigt werden.

 

CALL __CHOOSEFONT ruft unter WINDOWS den Dialog zur Auswahl einer Schrift aus.

 

Im Systemmenue des Main-Windows ist anstelle des Menuepunktes 'Schrift' der Menuepunkt 'Konfiguration' verfügbar. Es wird damit die EBUS-Konfigurationsmaske aufgerufen, die es ermöglicht, Programmeinstellungen zu verändern. Die aktuellen Einstellungen werden in der INI-Datei des Programms gespeichert und beim nächsten Start des Programms wieder geladen. #GR_NOCONFIG führt dazu, daß der Menuepunkt 'Konfiguration' nicht erzeugt wird.

 

Die EBUS-Konfigurationsmaske kann auch mit CALL EBCONFIG() aufgerufen werden.

 

GR_MARK_BACKGROUNDCOLOR legt die Markierfarbe fest.

 

GR_HILITE_BACKGROUNDCOLOR legt fie Farbe für die Hervorhebung des aktuellen Eingabefeldes fest.

 

GR_MAIN_BACKGROUNDCOLOR legt die Hintergrundfarbe des Main-Windows fest.

 

GR_WINDOW_BACKGROUNDCOLOR legt die Hintergrundfarbe der Windows fest.

 

Die Anweisung GR_WINDOWCOLOR ist nicht mehr verfügbar. Die Hintergrundfarbe der Windows kann jetzt mit der Anweisung GR_WINDOW_BACKGROUNDCOLOR gesetzt werden.

 

Standardmäßig wird als INI-Dateiname der Name <HAUPTPROGRAMM-NAME>.INI verwendet. Mit der Compiler-Anweisung #GR_INI_FILENAME kann ein anderer INI-Dateiname festgelegt werden. Dies kann z.B. dazu verwendet werden, mehreren Programmen eines Programmsystems dieselbe INI-Datei zuzuordnen. Wird dann in irgendeinem Programm die Konfiguration geändert, so gilt sie automatisch für alle anderen Programme.

 

Werden 1-stellige Maskenfelder in Proportionalschrift angezeigt, so reicht die Breite des Maskenfeldes im allgemeinen nicht aus für die Anzeige der breiten Zeichen (z.B. 'W'). Die Variable EBUS_ALPHA_FIELDLENGTH_1 legt fest, in welcher Breite 1-stellige alphanumerische Felder in Proportionalschrift angezeigt werden. Der Mindestwert ist 1, d.h jeder Wert kleiner als 1 ist identisch mit 1. Beim Programmstart ist diese Variable mit dem Wert 1,5 vorbelegt. Dies bedeutet, daß die Breite der 1-stelligen Maskenfelder in Proportionalschrift das 1,5-Fache der Breite eines Fixed-Font-Zeichens beträgt.

 

Werden 2-stellige Maskenfelder in Proportionalschrift angezeigt, so reicht die Breite des Maskenfeldes unter Umständen nicht aus für die Anzeige der breiten Zeichen (z.B. 'W'). Die Variable EBUS_ALPHA_FIELDLENGTH_2 legt fest, in welcher Breite 2-stellige alphanumerische Felder in Proportionalschrift angezeigt werden. Der Mindestwert ist 2, d.h jeder Wert kleiner als 2 ist identisch mit 2. Beim Programmstart ist diese Variable mit dem Wert 2,0 vorbelegt. Dies bedeutet, daß die Breite der 2-stelligen Maskenfelder in Proportionalschrift das 2,0-Fache der Breite eines Fixed-Font-Zeichens beträgt.

 

Beim SELECT/SHOW kann im ON SELECT MACRO die Variable EBUS_SELECT = 99 gesetzt werden. Dies bewirkt, daß keine weiteren Datensätze mehr gelesen werden. EBUS_SELECT = 99 simuliert somit das Dateiende und kann dazu verwendet werden, die anzuzeigenden Datensätze einzugrenzen.

Wird bei <SELECT-FELDERN>, die mit $ oder " beginnen, eine <LAENGE> angegeben, so wird das Feld in dieser Länge angezeigt. <LAENGE> kann dabei nicht nur zur Verkürzung sondern auch zur Verlängerung der Anzeige verwendet werden.

Unter WINDOWS werden die einzelen Datenfelder im SELECT/SHOW auch bei Proportionalschrift richtig positioniert. Außerdem können bei der Zeilenüberschrift die Überschriften der Felder jetzt auch einzeln angegeben werden. Dazu muß das 1. Zeichen in der Zeilenüberschrift das Zeichen ';' sein und die einzelnen Feldüberschriften müssen durch das Zeichen ';' getrennt werden.

 

            Beispiel: H% = SELECT(KUNDEN,0,0,"Kunden",";Nummer;Name;PLZ",

                         2,1,3,NR,,NAME$,,PLZ)

 

Die Voreinstellung von GR_SELECTSTYLE beim Programmstart ist 10.

 

Die Wirkung der Variablen EBUS_INSMODE_ALPHA wurde erweitert.

Wert von EBUS_INSMODE_ALPHA

Bedeutung bei alphanumerischen Eingabefeldern

0

Überschreibmodus, <INS> bzw. <CTRL/B> fügt ein Zeichen ein

1

Einfügemodus, <INS> bzw. <CTRL/B> fügt ein Zeichen ein

jeder andere Wert

Beim Ansprung eines alphanumerischen Feldes wird stets der Einfügemodus aktiviert. Mit der Taste <INS> bzw. <CTRL/B> kann zwischen dem Einfügemodus und dem Überschreibmodus gewechselt werden. Die Änderung des Modus gilt aber nur für das aktuelle Feld, beim Ansprung des nächsten alphanumerischen Feldes wird wieder der Einfügemodus aktiviert.

 

Beim Programmstart wird EBUS_INSMODE_ALPHA mit 2 vorbelegt.

 

Die Anweisung LOCKTIMEOUT hat jetzt auch eine Wirkung unter MS-DOS und WINDOWS.

 

Die Berechnung der durchschnittlichen Schriftbreite GR_FONTWIDTH wurde geändert. Die Voreinstellung beim Programmstart ist jetzt 1.0.

 

Die Anweisung GR_PRINTFONTHEIGHT legt unter WINDOWS die Schrifthöhe der mit der Anweisung PRINT ausgegebenen Texte fest. Dadurch können beliebig große Schriften angezeigt werden.

Bei den Boxenattributen kann für die Texte in der Box die Schriftgröße als Vielfaches der Zeilenhöhe angegeben werden.

 

Bei den Feldattributen kann ein individueller 3D-Style angegeben werden. Für alle Maskenfelder ohne individuellen 3D-Style gilt weiterhin der durch GR_FIELDSTYLE festgelegte 3D-Style.

 

Die Hilfetexte der Icons werden nicht mehr in der Statuszeile sondern direkt unterhalb der Icons angezeigt.

 

Die Funktion GETSWITCH(<SCHALTER>) liefert als Ergebnis 1, wenn der <SCHALTER> eingeschaltet ist (ENABLE), und 0, wenn denn der <SCHALTER> ausgeschaltet ist (DISABLE).

 

Im Menuepunkt Programm-Generator kann bei den Parametern (F6) die Größe des Stacks des EBUS-Programms für MS-DOS und Windows angegeben werden.

 

Die Compileranweisung #STACK legt die Größe des Stack im EBUS-Programm fest.

 

Mit der Anweisung REPORT_DATABLOCKLENGTH kann die Anzahl der Reportzeilen des Datenblocks geändert werden.

 

Mit der Anweisung REPORT_GROUPBLOCKLENGTH kann die Anzahl der Reportzeilen des Gruppenwechselblocks geändert werden.

 

Mit der Anweisung REPORT_ENDBLOCKLENGTH kann die Anzahl der Reportzeilen des Report-Endeblocks geändert werden.

 

CALL __OPENCOMM öffnet eine serielle Schnittstelle für die Datenübertragung.

 

CALL __CLOSECOMM schließt eine serielle Schnittstelle.

 

CALL __READCOMM liest Daten von einer seriellen Schnittstelle.

 

CALL __WRITECOMM schreibt Daten auf eine serielle Schnittstelle.

 

Der Schalter GR_WINDOW ist nicht mehr verfügbar. Alle Fenster werden unter WINDOWS als WINDOWS-Fenster dargestellt.

 

GR_PRINT_TEXTCOLOR legt unter WINDOWS die Textfarbe für die mit der Anweisung PRINT ausgegebenen Texte fest.

 

Blinkende Maskentexte und -felder sind auch unter WINDOWS möglich.

 

Die Anweisung GR_BLINK_FREQUENCY legt unter WINDOWS die Blinkfrequenz der blinkenden Maskentexte fest.

 

Die Anweisung BMP_TRANSPARENTCOLOR legt die Transparentfarbe bei Bitmaps fest.

 

Durch GR_PRINTSTYLE = -1 werden mit PRINT ausgegebene Bildschirmtexte transparent angezeigt.

 

Mit GR_SEND_EBUS_MESSAGE können unter WINDOWS Meldungen (Messages) an andere EBUS-Programme geschickt werden.

 

Mit der Anweisung CALL __TOPMOST wird gesteuert, ob ein EBUS-Programm unter WINDOWS stets im Vordergrund bleibt oder nicht.

 

Neben Pushbuttons kann unter WINDOWS auf den Masken jetzt auch ein Default-Pushbutton erzeugt werden. Ist auf einer Maske ein Default-Pushbutton vorhanden, so wird stets einer der vorhanden Pushbuttons oder Default-Pushbuttons hervorgehoben angezeigt (je nach Auswahl durch den Benutzer) und die RETURN-Taste wirkt in allen Maskenfeldern nur auf den aktuell hervorgehoben Pushbutton, d.h. der zugehörige Macro-nachher wird ausgeführt. Auch im EBUS-GENERATOR-C selbst werden Default-Pushbuttons jetzt verwendet.

 

Mit der Funktion GR_TABCONTROL können beliebige Masken als TabControls (Karteikarten) angezeigt und bearbeitet werden.

 

Die Anweisung GR_DIALOGHEADER ändert die Überschrift in einem Dialog.

 

Die Funktion GET_KEYSTATE zeigt an, ob die Tasten SHIFT, Strg (Control) und ALT gedrückt sind.

 

Die Funktion GR_SHOWWINDOW bringt eine WINDOWS-Anwendung in den Vordergrund.

 

Die Variable EBUS_TITLE legt fest, ob unter WINDOWS bei DISABLE GR_TITLE die Maskenüberschriften in der Überschriftszeile des Main-Windows angezeigt werden.

 

Die Anweisung GR_CURSOR erlaubt die Positionierung zwischen Zeilen und Spalten.

 

Die Variable EBUS_GR_MOUSE_ROW enthält die exakte vertikale Mausposition als Gleitkommazahl.

 

Die Variable EBUS_GR_MOUSE_COL enthält die exakte horizontale Mausposition als Gleitkommazahl.

 

Änderungen bei ODBC

 

 

Die Funktion ODBC_GET_ERROR$ wurde ersetzt durch die Funktion ODBC_GET_LAST_ERROR$.

 

Die Befehle ODBC_PREPARE und ODBC_EXECUTE sind nicht mehr verfügbar, da sie nicht mehr benötigt werden.

Bisher konnten Platzhalter-Parameter ('?') konnten durch die Sequenz
               ODBC_PREPARE(<DATEI-NUMMER>,"SELECT ... ? ... ")
               ODBC_SETPARAM(<DATEI-NUMMER>,<WERT-1>)
               ODBC_SETPARAM(<DATEI-NUMMER>,<WERT-2>)
               ...
               ODBC_EXECUTE(<DATEI-NUMMER>)
behandelt werden.

Dasselbe läßt sich durch folgende Sequenz erreichen:
               ODBC_SETPARAM(<DATEI-NUMMER>,<WERT-1>)
               ODBC_SETPARAM(<DATEI-NUMMER>,<WERT-2>)
               ...
               ODBC_EXEC_DIRECT(<DATEI-NUMMER>,"SELECT ... ? ... ")

 

Die Funktion ODBC_INDEX_NAMES$ liefert die Indexschlüssel einer Tabelle.

 

Die Funktion ODBC_DATA_TYPES$ liefert die vom ODBC-Treiber unterstützten Datentypen.

 

ODBC_EXTFETCH ist der erweiterte Fetch.

 

Die Funktion ODBC_SET_AUTOCOMMIT setzt den Autocommit-Modus.

 

Die Funktion ODBC_SET_ISOLATION setzt den Nebenläufigkeitsmodus.

 

Die Funktion ODBC_SET_CURSORTYPE setzt den Cursor-Typ.

 

Die Funktion ODBC_SET_CONCURRENCY wechselt den Modus zur Nebenläufigkeitskontrolle.

 

Die Variable EBUS_ODBC_CONNECT legt fest, welcher Dialog geöffnet wird, wenn bei ODBC-Indexdateien die Verbindung zur Datenbank aufgebaut wird.

 

Die Funktion GR_FILLRECT füllt ein Rechteck auf dem Bildschirm.

 

Die Funktion GR_LINE zeichnet eine Linie auf dem Bildschirm.

 

Die Variable EBUS_PIXEL_HEIGHT enthält die Höhe eines Pixels als Vielfaches der Zeilenhöhe.

 

Die Variable EBUS_PIXEL_WIDTH enthält die Breite eines Pixels als Vielfaches der Spaltenbreite.

 

Die Variable EBUS_WINDOW_BORDER steuert, ob bei DISABLE GR_WINDOW_BORDER die Windows mit einer Linie umrahmt werden oder nicht.

 

Drag & Drop ist jetzt auch zwischen verschiedenen EBUS-Programmen möglich.

 

GR_DRAGCURSOR definiert einen individuellen Mauscursor bei Drag & Drop.

 

GR_NORMALCURSOR definiert den normalen Mauscursor.

 

GR_WAITCURSOR definiert den Mauscursor, der angezeigt wird, wenn das Programm arbeitet.

 

#ADDMOUSECURSOR macht einen indivuellen Mauscursor dem Programm bekannt.

 

#LINKLIB bindet zusätzliche externe Bibliotheken in die Compilierungsprozedur des Generators ein.