28 Beiträge rss

Test dBase IV Version 1.5 für DOS

Trotz des Versionsnummern-Sprungs von 1.1 auf 1.5 stecken in der neuen dBase-Ausgabe nur wenig grundlegende Änderungen, aber viele kleine Verbesserungen.

Erschienen in der PC-Direkt 07/1992

Borland hat der Datenbank dBase IV einige Unsitten ausgetrieben und von den Benutzern geforderte Detailverbesserungen eingebaut.

Was man neben der geänderten und auf Borland verweisenden Startmeldung sofort bemerkt, ist der Mauscursor. Endlich kann man auch in dBase mit der allseits beliebten Eingabehilfe etwas anfangen. Verwenden läßt sie sich bei allen dBase-eigenen Menüs, bei programmierten Menüs, im Browser, bei eigenen Masken und dem Query-Bildschirm. Besonders nützlich macht sich der Nager bei der Herstellung von Applikationen: im Screen-Generator kann man jetzt elegant Bildschirm-Objekte plazieren und verschieben. So durchgängig wie beim Konkurrenten Foxpro wurde die Mausbedienung dennoch nicht integriert: Per Maus lassen sich keine Fenster verschieben oder anwählen.

Die Hilfefunktion zur Erklärung von Befehlen und dBase-Menüs wurde zwar überarbeitet und verbessert, erreicht aber noch nicht das Niveau anderer Borland-Produkte. Die Hilfetexte sind zu knapp, Beispielprogramme fehlen. Außerdem könnte man gerade bei der hinzugekommenen Mausunterstützung eine elegante Verknüpfung eines Hilfetextes zu Infos über verwandte Stichwörter durch Anklicken im Text erwarten.

Die frühere Abgrenzung von dBase in eine Normal- und eine Entwicklerversion wurde abgeschafft. So entspricht jetzt schon die Normalfassung dem früheren Entwicklerpaket, hat also deren Template-Sprache und Template-Compiler zur automatisierten Herstellung von Programmen. Dafür gibt es jetzt eigens zu erwerbende Runtime-Module, um eigene Anwendungen weitergeben zu können.

Dbase IV 1.5 für DOS

Um eine sinnvolles Zusammenspiel zwischen dBase und anderen Anwendungen zu erlauben, gibt es neben dem Run-Befehl auch eine Funktion run(), die das in den Klammern genannte externe Programm aufruft. Mit dieser neuen Methode lagert sich dBase bis auf einen Rest von 10 kByte aus dem Speicher aus. So kann man endlich auch größere Anwendungen aus der Datenbank heraus starten. Für den umgekehrten Fall, daß eine andere Anwendung ein dBase-Programm starten soll, hat der Befehl quit die Option with hinzubekommen. Dadurch kann man der aufrufenden Anwendung einen Fehlerwert zurückgeben, wie er etwa in einer Batch-Datei mit errorlevel abgefragt wird.

Sinnvoll ist auch die Einführung eines Wertes blank für alle Feldtypen. Er entspricht dem Zustand undefiniert, etwa dem leeren Datumsfeld. Der erste Vorteil hierdurch ergibt sich bei numerischen Feldern. Bei einem leeren Datensatz, etwa mittels append blank angelegt, wird ein numerisches Feld mit dem Wert Null vorbelegt. Man konnte bisher nicht unterscheiden, ob ein numerisches Feld absichtlich auf Null gesetzt wurde, oder ob dort der von dBase vorgegebene Initialisierungwert stand. Nun zeigt die Funktion isblank() an, was Sache ist.

Der zweite Vorteil liegt im Befehl blank. Mit ihm läßt sich ein beliebiges Feld auf den undefinierten Zustand setzen, ohne daß man sich wie bisher noch um den Feldtyp zu kümmern hat.

Ein weiterer leistungsfähiger Befehl vermeidet in der neuesten dBase-Version den Einsatz der langsamen Anweisung set filter to. Mit set key to kann man bestimmte Sätze einer Datenbank über einen Index herausfiltern. Wenn man etwa zu Adressen einen Index für die Postleitzahl gebildet hat, und sich auf alle Adressen in Frankfurt beschränken will, gibt man ein:

set key to "6000"

Sofort springt dBase zur ersten Adresse in Frankfurt und gibt auch bis zur Löschung des Key-Ausdrucks keine anderen Datensätze als die von Frankfurtern aus. Neben dieser genauen Übereinstimmung könnte man auch einen Bereich definieren, etwa alle Postleitzahlen von 8000 bis 8999. Durch die Benutzung der Indexdatei wird der Befehl set key to deutlich schneller als die alte Filteranweisung. Allerdings kann man ausschließlich Ausdrücke aus der Indexdatei benutzen. set filter to unterliegt dagegen keiner Beschränkung; Hauptsache der genannte Ausdruck ergibt einen Wahrheitswert.

Endlich enthalten sind nun Befehle für Low-Level-Dateioperationen. Sie heißen genauso wie beim Konkurrenz-System Clipper fopen oder fgets. Damit ist jetzt das byte- oder zeilenweise Einlesen und Ausgeben von beliebigen Dateiformaten möglich. So könnte man eine Routine zur Ausgabe von Serienbrief-Daten für MS-Word schreiben, die keine manuelle Nachkorrektur mehr erfordert. Auch die Auswertung exotischer Dateiformate anderer Anwendungen wäre denkbar. Selbst die Bearbeitung der dBase-Konfigurationsdatei config.db aus dBase heraus ist so kein Problem mehr.

Um die Zugriffsgeschwindigkeit bei Dateioperationen zu vergrößern, hat Borland seinem dBase ein Cacheprogramm spendiert. Eine auf die Datenbank zugeschnittene Version von Hyperdisk bringt selbst langsame Festplatten in Fahrt.

Der Umgang mit mehreren dBase-Konfigurationen ist ebenfalls einfacher geworden. Beim Start von dBase IV 1.5 erlaubt ein neuer Parameter die Nennung einer Konfigurationsdatei. Nützlich, wenn man eine dBase-Applikation programmtechnisch betreut und für sich selbst eine andere Konfiguration wünscht als für andere Benutzer.

Das Speichermanagment wurde in der Version 1.5 zum Teil neu gestaltet. Das zeigt sich daran, daß jetzt zum Beispiel 40 Dateibereiche statt nur 10 unterstützt werden. Dabei wird der jeweils nötige Speicher für die Datei-Infos dynamisch verwaltet. Das heißt, dBase benutzt nur soviel Speicher, wie tatsächlich benötigt wird.

Über die Qualität des Handbuchs von dBase IV 1.5 läßt sich noch nicht viel sagen. Zum Test lag lediglich das Update für Besitzer früherer Versionen vor. Das hier beiliegende Dokument beschränkt sich in der Erklärung auf die Unterschiede zu dBase III und dBase IV 1.0 sowie 1.1. Leider findet sich hier kein einziges Programmbeispiel, das die neu hinzugekommenen Fähigkeiten darstellen würde. Zum Teil fallen die Erklärungen auch zu kurz aus.

Nachdem Ashton-Tate in einer Startmeldung einer früheren Version sogar den eigenen Firmennamen (Ashton-Tade) falsch schrieb, möchte anscheinend auch Borland an diese Tradition anknüpfen. Oder weist das Wort "Wahrenzeichen" in der Copyright-Meldung von dbsetup.exe etwa nur auf die neue Offenheit gegenüber erkannten Fehlern hin?

Markus Schraudolph/go

KURZGEFASST

Weiterentwicklung des bekannten Datenbank-Standards. dBase IV 1.5 wendet sich sowohl an Entwickler als auch an Endbenutzer. In der aktuellen Version wurden dBase vor allem Details überarbeitet.

Nutzwert: +

Installation: o

Bedienung: o

Handbuch (der Update-Version): -

+ Mausbedienung * zu früheren Versionen kompatible Weiterentwicklung des Standards

- Hilfefunktion nicht umfassend genug

Technische Daten

Produkt: dBase IV Version 1.5

Typ: Datenbanksystem

Hersteller: Borland GmbH, Langen

Anbieter: Borland GmbH

Monzastraße 4c

6070 Langen

Tel.:(061 03) 768-0

Fax: (061 03) 768-290

Mindestkonfiguration: XT 8088 640 kByte RAM, Festplatte 20 MByte, Hercules

Empfohlene Konfiguration: AT 80286 1 MByte RAM, Festplatte 40 MByte, VGA

Import- und Exportformate: Framework II bis IV, Lotus 1-2-3 Version 1.0 bis 2.1, Rapid File

Neue Befehle und Funktionen in dBase IV 1.5

@ x,y scrollScrollt einen beliebigen Bildbereich
ascending()gibt .T. zurück, wenn der aktuelle Subindex mit der Option ascending erstellt wurde
blank fields beliebige Feldtypen mit dem jeweiligen Äquivalent für leer besetzen
catalog()der Name der aktuellen Katalog-Datei
descending()gibt .T. zurück, wenn der aktuelle Subindex mit der Option descending erstellt wurde
fdate()das Datum der letzen Änderung einer Datei
fldcount()Anzahl der Felder einer geöffneten Datei
fopen(), fgets(),...low-level Dateioperationen um beliebige Dateitypen bearbeiten zu können
for()gibt die FOR-Bedingung zurück, die bei der Erstellung eines Subindexs benutzt wurde
fsize()die Größe einer Datei
ftime()der Zeitpunkt der letzen Änderung einer Datei
home()das Verzeichnis, in sich das dBase-Programmsystem befindet
id()der Name eines Benutzers in einer LAN-Umgebung
isblank()Feststellen, ob ein Feld leer ist
keyboardnimmt nun alle Tastenbezeichnungen an, die inkey() verarbeiten kann
noorganizediese Option verhindert bei browse oder append, daß der Benutzer in die Menüoption Verwaltung gelangen kann
quit with gibt einen Errorlevel an das dBase aufrufende Programm zurück
reindexneue Befehlsoption, die etwa bei append einen bestehenden Index erst nach Abschluß aller Aktionen aktualisiert
run()ruft wie der Befehl run eine Anwendung oder einen DOS-Befehl auf; gibt den Arbeitspeicher aber bis auf 10 kByte frei
select unterstützt jetzt bis zu 40 Areas
set key toschnelle Selektierung von Datensätzen
set librarydefiniert eine Prozedur-Bibliothek, die im Gegensatz zu set procedure für alle dBase-Programme zur Verfügung steht
tagno()Nummer des angegebenen Subindexes
unique()ermittelt, ob ein Index mit der Option unique gebildet wurde


Bedingungen für die Kommentareingabe
Hinweis



Ihr Kommentar:


Name: E-Mail:
Name und E-Mail in einem Cookie auf Ihrer Festplatte speichern

Copyright © schraudolph.de 1999-2012   | Tippscout 4.0
Zurück Home