FATS - Fast Access Tree System
Inhaltsverzeichnis
Programmierschnittstellen
MS-Basic, Quick Basic Compiler

MS-Basic, Quick Basic Compiler


 
Benötigte Objekt-Dateien

Bis zur Version 6.0 des Basic Compilers wurden sämtliche Strings im Datensegment der Anwendung verwaltet. Ab der Version 7.0 kann der gesamte Hauptspeicher zur Nutzung durch Strings verwendet werden (Compileroption /Fs).
Bei dem Einsatz von FATS müssen Sie daher die entsprechende Schnittstelle verwenden.
Folgende Objekt-Module werden benötigt, wenn FATS zum Anwendungsprogramm gelinkt werden soll:

fats.objUniversalmodul
fats_mb6.objMS-Basic Schnittstelle für NEAR-Strings, oder
fats_mb7.objMS-Basic Schnittstelle für FAR-Strings (/Fs)

Wenn Sie die FATS Workstation Engine aufrufen möchten, dann verwenden Sie die folgenden Bibliotheken:

fatsmb6r.libSchnittstelle für NEAR-Strings, oder
fatsmb7r.libSchnittstelle für FAR-Strings (/Fs)

Wenn Sie die erweiterte Version von FATS erworben haben (FATSXWE.EXE), dann müssen Sie die Bibliotheken fatsxb6r.lib bzw. fatsxb7r.lib verwenden.

Die residente Version von FATS (FATS.COM) kann über die Funktion FABSMB2 angesteuert werden. Diese FABS PLUS kompatible Schnittstelle ist im Objektmodul fatsmb7t.obj enthalten.

Der Assembler-Quellcode der Schnittstellen befindet sich im Lieferumfang.

 
Compilieren der Programme

Um Ihre Programme zu übersetzen ist eine der folgenden Methoden zu wählen:

1. Methode: FATS an das Anwendungsprogramm binden

BC tst1ger6 /Lr
LINK tst1ger6 fats.obj fats_mb6;

oder mit Basic 7.x und FAR-Strings:

BC tst1ger7 /Lr /Fs;
LINK tst1ger7 fats fats_mb7;

2. Methode: Aufruf der Workstation Engine (FATS_WE.EXE)

BC tst1ger7 /Lr [/Fs]
LINK tst1ger7 fatsmb[6 or 7]r.lib;

oder wenn Sie die erweiterte Version von FATS besitzen: (FATSXWE.EXE)

LINK tst1ger7 fatsxb[6 or 7]r.lib;

 
Aufruf von FATS

FATS-Befehle werden mit der Funktion FATSBASIC ausgeführt:

CALL FATSBASIC(CMND$, ERRORCODE%, RECNO&, KEYLEN%)

Bedeutung der verwendeten Parameter:

CMND$Befehlsstring
ERRORCODE%Fehlercode von FATS, einfache Integer
RECNO&Satznummer von FATS, doppelte Integer
KEYLEN%Schlüssellänge, einfache Integer

Wenn Sie auf den zurückgelieferten Schlüsselwert zugreifen wollen, dann müssen Sie den Funktionsaufruf folgendermaßen erweitern:

CALL FATSBASIC(CMND$, ERRORCODE%, RECNO&, KEYLEN%)
FATSKEY$ = SPACE$(KEYLEN%)
CALL FATSGETKEY( FATSKEY$ )

Da es für FATS keine Möglichkeit gibt, Basic-Strings direkt zu manipulieren, müssen Sie selbst dafür sorgen, daß die Stringvariable FATSKEY$ die benötigte Länge hat. Die Basic-Funktion SPACE$ füllt daher den String FATSKEY$ mit der benötigten Anzahl Leerzeichen. Der nachträgliche Aufruf von FATSGETKEY kopiert dann den Schlüsselwert in den Basic-String.

 
Testprogramme

Auf der FATS-Diskette für PC-DOS/MS-DOS befinden sich im Verzeichnis DOS_16I\BASIC\MS Testprogramme, anhand derer Sie die Verwendung von FATS studieren können:

 tst0ger6.basMS-Basic (verwendet FABSMB)
 tst0ger7.basMS-Basic ab Version 7.0 (verwendet FABSMB3)
 tst1ger6.basMS-Basic (verwendet FATSBASIC)
 tst1ger7.basMS-Basic ab Version 7.0 (verwendet FATSBASIC)
 rebldger.basWiederherstellung einer Indexdatei ('BK', 'DL')

Bei der erweiterten Version von FATS befinden sich zusätzlich die folgenden Testprogramme im Verzeichnis:

 tst2_ger.basMatchcode-Suche im Kundenstamm
 mcsort.basAnwendung des Key-Flags beim Kommando 'MC'
 reindger.basSchnelle Re-Indizierung (Befehl 'XB')

 
Kompatible Schnittstellen

Alternativ zu der oben beschriebenen Schnittstelle können auch weiterhin die FABS-Plus Schnittstellen verwendet werden. Bitte beachten Sie dabei die Hinweise auf den Seiten  4-109, 9-5 und 9-11.

Folgende FABS-Schnittstellen sind vorhanden:

FABSMBEinsprungpunkt in FATS.OBJ (Near-Strings)
FABSMB2Aufruf der residenten Version FATS.COM
(im Objektfile FATSMB7T.OBJ)
FABSMB3wie FABSMB, jedoch für Basic 7
(im Objektfile FATS_MB7.OBJ)


 

© 2008  GCS Software, Udo Gertz