Home

Grundsätzliches
Installation
Konfiguration
Erste Schritte
Laufzeitschalter
Textdateien
Systemfunktionen
Tabellenfunktionen
Indexfunktionen
Volltext-Indizierung
Memos und Blobs
Semaphoren-Konzept

Support Datenbank
Einführungskurs

Erste Schritte

Zum Lieferumfang gehören neben tdbengine folgende Tools:

test.prg   (schreibt "Hello world...")
pdk.prg         (Übersetzt Quelltexte = program development kit)
ddk.prg         (Tool zur Administration von Datenbanken = database development kit)
dmk.prg         (Einfache Datenbank-Verwaltung = database modification kit)
...

Das wichtigste Werkzeug ist pdk.prg. Starten Sie also einen Browser und geben Sie als URL http://localhost/cgi-tdb/pdk.prg ein. Sie erhalten eine Seite mit zwei Eingabefeldern und ein paar Schaltern. Drücken Sie dann den Schalter load. Es wird ein neues Programm gestartet (scanfile.prg), das die interaktive Auswahl eines Dateinamens erlaubt. Dieses Programm übergibt schließlich die Kontrolle wiede an das pdk, und der ausgewähle Quelltext wird geladen. Wählen sie test.mod, und der Quelltext des Programms test wird im großen Fenster dargestellt. Hier sehen Sie nun:

PROCEDURE Main
  CGIWriteLn("content-type: text/html")
  CGIWriteLn("")
  CGIWriteLn("Hello world...")
ENDPROC

Das ist ein kleines EASY-Programm. EASY heißt die Programmiersprache der TurboDatenbank. Es handelt sich dabei um eine prozedurale Programmiersprache mit vielen Features von Pascal und C. Ein EASY-Programm hat normalerweise die Endung .mod (für Modul) und muß erst in eine .prg-Datei übersetzt werden, bevor es von der tdbengine geladen werden kann. Diese Übersetzung hat zwei Vorteile: Zum einen kann die Syntax vorab geprüft werden und zum anderen wird das übersetzte Programm wesentlich schneller ausgeführt als Quelltext-Scripten. Eine prg-Datei benötigt immer die tdbengine, um ausgeführt werden zu können.

Wie wollen jetzt ein paar kleiner Experimente durchführen. Dazu öffnen Sie ein weiteres Browser-Fenster und tragen dort die URL: http://localhost/cgi-tdb/test.prg ein. Sie sehen wiederum die Ausgabe "Hello world...", was ja auch nicht weiter verwundert.

Wechseln Sie nun in das ursprüngliche Browserfenster mit dem Quelltext test.mod. Ändern Sie das Wort Main in Mein und drücken Sie dann den compile-Schalter. Auch dieses Programm wird ohne Fehlermeldung übersetzt. Wenn Sie es aber nunmehr ausführen (in zweites Browser-Fenster wechseln und "Reload" drücken, sehen Sie eine Meldung wie:

Fehler -5 in Modul: /usr/bin/cgi-tdb/test.prg

Das bedeutet, daß irgendetwas schiefgegangen ist. Im konkreten Fall konnte die Prozedur Main nicht gefunden werden. Nur diese Prozedur wird von der tdbengine ausgeführt! Wir wollen also schnell wieder Mein in Main ändern und den Quelltext compilieren. Jetzt ist wieder alles in Ordnung.

Im zweiten Experiment setzen Sie vor die ersten beiden Vorkommen von CGIWriteLn zwei aufeinanderfolgende Punkte. Damit werden in EASY Zeilen auskommentiert, werden also nicht übersetzt.

PROCEDURE Main
  ..CGIWriteLn("content-type: text/html")
  ..CGIWriteLn("")
  CGIWriteLn("Hello world...")
ENDPROC

Auch dieses Programm wollen wir wieder testen, indem wir zuerst den compile-Schalter drücken und dann im anderen Browser-Fenster reload ausführen. Jetzt erhalten wir eine Fehlermeldung des http-servers, die uns darauf hinweist, daß die Anwendung keinen korrekten Header zurückgeliefert hat. Wir sehen also, daß die beiden Zeilen besonders wichtig für unser Programm waren. Schließlich machen wir auch diese Änderung rückgängig, kommentieren dafür aber die dritte Zeile innerhalb der Prozedur aus. Die Ausführung dieses Programms bringt diesmal eine Fehlermeldung des Browsers: Das Dokument ist leer.