headerimage
ROWE Technik-Blog

XProfan - Ersatzlösung für dBASE IV

04.08.2016

Sind Sie noch Nutzer von dBASE IV oder zumindest von dem dBASE-Dateiformat?

Dann ist es in der neuen 64 Bit-Welt ab MS Windows 10 ohne integrierte DOS-Box nur noch über Umwege möglich, die alten 16 Bit-Programme zu nutzen. Zwar ist es durchaus praktikabel per Emulator "dosbox" oder "virtualbox" lösbar, doch noch komfortabler wäre eine Portierung der wichtigsten Funktionalität in die 32/64 Bit-Welt. Während vor einigen Jahren das dBASE-Format von Excel noch für Im- und Export unterstützt wurde, lassen sich in den heute üblichen Versionen nur noch Dateien importieren. Das lässt die Verwendung von dBASE IV abermals umständlicher werden.

Während ich Profan in der Version 4.5 nach einer Programmierung einer kleinen Firmenanwendung Ende der 90ziger als langsam und bezogen auf die Syntax als umständlich abgetan habe, ist durch konsequente Weiterentwicklung in den darauffolgenden 15 Jahren in dieser Hinsicht vieles verbessert worden. Zudem stellt der Autor die heute mit XProfan bezeichnete Version 10 (Anm. mittlerweile V. 11) als Freeware zum Download zur Verfügung, so dass jeder testen kann, ob ihm der Leistungsumfang für seine Anforderungen genügt. Die letzte XProfan-Version lässt sich im Nachgang für einen vergleichsweise geringen Betrag von knapp 60,- EUR als Einzellizenz beschaffen.

Folgende Eigenschaften waren mir beim Ersatz von dBASE IV wichtig:

  • 15stellige Fließkomma-Arithmetik für kaufmännische Anwendungen (float-Variablen)
  • Kommandozeilen-Aufruf
  • Konsequente Unterstützung des dBASE III – Dateiformates (ich nutze keine MEMO-Felder)
  • Sehr einfache Handhabung durch Anwendung weniger Befehle
  • Im- und Export-Möglichkeit zu Office-Standardanwendungen, wie z. B. Excel
    XProfan als Alternative

Diese Eigenschaften werden mittlerweile auch durch XProfan erfüllt, so dass sich eine interessante Alternative bietet. Die Syntax von XProfan ist an Pascal und Basic angelehnt. Auf eine objektorientierte Programmierung kann verzichtet werden, mit wenigen Befehlen können kleine Programme prozedural erstellt und mit dem integrierten Interpreter sofort getestet werden. Ein Compiler erlaubt eine Steigerung der Ablaufgeschwindigkeit. Die Datenbankbefehle sind ähnlich einfach strukturiert und benannt, so dass ein Umstieg leicht fällt. Das grundsätzlich alle Variablen vor Nutzung zu deklarieren sind, ist für dBASE-Programmierer neu. Doch es führt am Ende zu stabileren Programmen und erleichtert die Fehleranalyse. Das von XProfan unterstützte dBase-III-Format wurde erweitert: 

  • max. 1.024 Felder pro Datensatz sind möglich
  • max. 16.000 Bytes pro Datensatz sind erlaubt
  • max. ca. 2 Milliarden Sätze pro Tabelle können verwendet werden
  • Es können bis zu 15 Datenbanktabellen gleichzeitig geöffnet sein

Eine ausführliche Beschreibung aller Konstanten, Befehle und Funktionen erhalten Sie über die XPorfan-Hilfe, die auch eine Einführung in die Programmierung aufzeigt. 

Die kleinen Programme zur Auswertung, Konvertierung von dBASE-Daten lasse sich direkt über den Editor schreiben und sofort über den Interpreter (F7-Taste) aufrufen. Im einfachsten Fall - so wie von mir verwendet - kann auf die Programmierung einer gesonderten Bedienoberfläche verzichtet werden, die Eingaben können direkt im Code vorgegeben werden. Die Ausgabe kann trivial über PRINT-Anweisungen stattfinden.

Für das Editieren der dBASE-Dateiinhalte verwende ich kostenlose Programme, wie z. B. Exportizer, WinDBF32 oder DBF Navigator. Dabei ziehe ich den DBF Navigator vor, da lediglich 2 Programmdateien in ein Verzeichnis zu kopieren sind, dann ist die Applikation schon einsatzbereit. In XProfan sind auch entsprechende Befehle bzw. Funktionen implementiert und sie lassen sich auch leicht aufrufen, doch separate Software ist komfortabler. Reports können gut über Office-Pakete, wie OpenOffice (BASE) und LibreOffice (BASE), erstellt werden, die auch auf dBASE-Dateien zugreifen können. 

Besonderheiten

XProfan ist deutlich intoleranter für Zugriffe auf ungeöffnete Dateien, die Laufzeitfehler werden teilweise nicht abgefangen und die Runtime-Anwendung hängt sich auf. Wenn ein entsprechendes Rahmenprogramm genutzt wird, kann diese Eigenschaft allerdings in der Regel vermieden werden.
XProfan kann von Haus aus besser mit Dateien im ANSI-Code umgehen, ansonsten stehen umständliche Konvertierungen an. An sich kein Problem, doch beim Einsatz von externen Editorprogrammen ist das zu berücksichtigen. Bei dBASE IV wurden natürlich die in der DOS-Welt üblichen OEM-Codetabellen genutzt.
XProfan liest grundsätzlich die Feldinhalte im Textformat, so dass bei numerischen Pragrammvariablen der Feldinhalt mit der Funktion @val()  konvertiert werden muss.
XProfan kann nur über eine Zusatzbibliothek mit Datumswerten rechnen. Die kostenlos erhältliche DATUMS-DLL ist direkt vom Profan-Autor und enthält dafür einige wichtige Datumsfunktionen. Es kann nur die 32 Bit-Version der DLL genutzt werden, die ebenfalls beiliegende 16 Bit-Version wird von XProfan 10 nicht unterstützt.

Beispielprogramme

Um schnell in die praktische Anwendung von XProfan einzusteigen, habe ich kleine Beispielprogramme zum Download bereitgestellt. Zwei kleine Programme dienen der Datenkonvertierung von dem CSV-Format zum dBASE-Format und umgekehrt. Die Programme sind nützlich bei dem Datenaustausch mit Excel. Ein weiteres Programm zeigt eine simple Auswertung einer Quelldatei und das Ablegen von Ergebnissen in einer Zieldatei.

Als Datendatei verwende ich knapp 60.000 Datensätze aus dem OpenGeoDB–Projekt. Die Daten sind dem freien Portal für Geoinformatik (GIS) entnommen. Die Datenbank OpenGeoDB ist Public Domain (opengeodb.giswiki.org) und der Inhalt steht unter der GNU-Lizenz für freie Dokumentation.

Download: OpenGeoDB_Ort.csv (im zip-Format gepackt)

Die XProfan-Programme sind als Paket bereitgestellt und haben folgende Funktion:

Download: XProfan-Programmpaket (im zip-Format gepackt)

 

 

Kommentare: 0

Keine Kommentare vorhanden!

Neuen Kommentar verfassen:

Bitte füllen Sie mit * markierte Felder korrekt aus. JavaScript und Cookies müssen aktiviert sein.
Name: (Pflichtfeld)*
email: (Pflichtfeld, wird nicht veröffentlicht)*
Homepage:
Bild hochladen:
jpg - jpeg - gif - png   (max. 10 MByte)
Ihr Kommentar: *
(Das Bild wird erst beim speichern links oben eingefügt)
 
Bitte tragen Sie den Spamschutz Code ein:*
Captcha
Powered by CMSimpleBlog