[Allegro] ZAboM Lektion 20: Externe Dateien

Bernhard Eversberg ev at biblio.tu-bs.de
Die Apr 8 08:02:04 CEST 2008


ZAboM Lektion 20 : Externe Dateien                           2008-04-08
----------------------------------

Zuerst mal rasch wieder aktualisieren, damit alles klappt:
          http://ftp.allegro-c.de/zabom/zabu.exe


A. Was hat es auf sich mit der "externen Datei"?

Im Feld  #97w  kann man bei jedem Datensatz den Namen einer
"externen Datei" unterbringen. Es ist freigestellt, was für eine Art
von Datei das ist! Oft oder meistens wird es eine Word-Datei sein,
vielleicht auch eine Excel-Datei. Darin kann z.B. weiteres Material
zur Zeitschrift bzw. zum Abo stecken, etwa ein Schriftverkehr mit
dem Lieferanten zu der betr. Zeitschrift oder Notizen zu den
Besonderheiten des Abonnements. Oder was man sonst so braucht.
Der Sinn ist, daß man direkt vom Datensatz aus, wenn also z.B. eine
Zeitschrift in der Anzeige steht, in diese Datei springen kann, d.h.
automatisch soll Word starten und diese Datei öffnen.

Wo müssen sie liegen, die externen Dateien?
Den Pfad dafür kann man einstellen in den "Grundeinstellungen"
(Variable $Exdat in zabom.inc, s. Lektion 29. Default ist das
Unterverzeichnis "extern" am DbDir. Bei Nichtexistenz wird es
angelegt.)

Wenn der Dateityp im Namen nicht angegeben ist, wird als Default
der Typ aus $Extyp genommen. D.h. wenn man nur mit .doc-Dateien
arbeitet, können die Namen in #97w ohne .doc angegeben und
dafür $Extyp=doc gesetzt sein. Nur wenn es mal im Einzelfall ein
anderer Typ ist, muß er in #97w mit angegeben sein.

Aber werden wir konkret:

B. Wie wird sie geöffnet, die externe Datei?

Das wird in den Anzeigeparametern vorbereitet.
Haben wir in einem Datensatz z.B.

#97w abc

dann bereitet d-krtf.apr einen Flip vor, der
"Externe Datei"
lautet. Dahinter steckt dann der Befehl:  X z-exdat abc

Statt mit Flip kann man auch mit Alt+7 und "Externe Datei" das Öffnen
der Datei auslösen, wenn ein Titelsatz in der Anzeige steht.
(Klappt übrigens auch bei Büchern!)

Der FLEX  z-exdat.flx  schaut zunächst, ob auf dem Pfad $Exdat, der
in zabom.inc angegeben ist, die Datei  abc.doc  schon existiert.
Wenn ja, wird sie geöffnet. Mit Strg+v kann man den Inhalt
der Anzeige hineinkopieren!
Wenn nein, wird der Inhalt des Anzeigefeldes kopiert und in die Datei
  abc.rtf  (!) geschrieben. So hat man, wenn man die Funktion erstmals
benutzt, gleich einen brauchbaren Inhalt, den man nutzen, ändern
oder auch sofort löschen kann.
Tip: Speichern kann man  abc.rtf  dann als  abc.doc. Dann aber im
      Datensatz das  .rtf  wieder wegnehmen, das dann dort steht.

Wenn #97w nicht belegt ist, kann man trotzdem  z-exdat.flx  aufrufen,
dann wird die IdNr aus #00 genommen, 'd' davor und ".rtf" dahinter
gesetzt und dies als Dateiname genommen.

Ausprobieren?
Nehmen Sie irgendeinen Datensatz, dann Alt+7 und "Externe Datei"!


Für FLEXperten
Die Arbeit macht der neue FLEX  z-exdat.flx
Man kann ihn auch aufrufen, wenn #97 nicht besetzt ist.
Er prüft, ob es eine #97w schon gibt. Wenn nicht, wird die #00 zu
einem Dateinamen umgenutzt und .rtf als Typ gesetzt, der Inhalt des
Anzeigefelds hineingeschrieben und dann die Datei geöffnet. Dafür
nimmt das Betriebssystem dasjenige Programm, das mit .RTF verknüpft
ist - meist Word oder Wordpad.

Die Kategorie #97w wird im Reg. 10 indexiert, d.h. man findet dort die
Namen der externen Dateien, dahinter mit : angehängt die IdNr des
Datensatzes aus #00. Funktional notwendig sind diese Einträge nicht.