Trick 64:
  FLEXiermaschine   
               
    
 1. FLEX ohne Datenbank?
2. Jedem User seinen _start.flx
  
  Aufgabe: Ein FLEX, der mit
    einer Datenbank gar nichts zu tun hat,
          
  soll erledigt werden - geht das ohne a99? (Z.B., ein
          
  Kalenderblatt erstellen als RTF-Datei, oder eine Zins-
          
  berechnung für einen Kredit...)
  
  Warum: Mit FLEX kann man z.B. dank
    der Dateifunktionen viel Nützliches
        
  programmieren, was mit der Datenbank gar nichts zu tun hat! 
        
  Das müßte sich doch ausnutzen lassen, um sonstwas machen zu
        
  können!? Es sei denn, man hat z.B. Perl gelernt, versteht sich.
        
  Wer das kann, braucht Ziffer 1. nicht.
        
  Ziffer 2. kann dagegen überall virulent werden, wo es diffizile
        
  Unterschiede zwischen Anwendern gibt.
  
  Lösung:
  Gleich vorweg: Ohne Datenbank geht
    es nicht, a99 kann nicht als
  FLEXiermaschine völlig
    losgelöst von jeder Datenbank arbeiten.
  Das macht aber nichts - jeder HAT
    ja eine Datenbank: warum nicht die
  DemoBank für diesen Zweck als
  "Strohmann" benutzen?! Sie muß nur
  da sein, ihr Inhalt ist egal und
    wird nicht verändert.
  
  Es zeigt sich
  überraschenderweise, daß man mit der Lösung zugleich
  das ganz andere Problem
    erschlägt: Wie kann man jedem Nutzer
  seinen eigenen 
  _Start.flx  geben? 
  
  Der Trick ist drei- bzw. zweiteilig:
  
  1. Am Ende des _start.flx diese 3
    Zeilen anhängen:
  
  var
  "myjob.flx"
  fsize
  if >0 exec
    myjob
  
  2. Den FLEX, der eigentlich zu
    erledigen ist, auf dem Startverzeichnis
     ablegen und 
  myjob.flx  nennen
  
  3. Ans Ende des 
  myjob.flx  den Befehl  STOP  setzen.
  
  
  Wenn es  myjob.flx  nicht
    gibt, startet die Datenbank normal und es
  kommt wegen der Prüfung
    mit  fsize  auch keine Fehlermeldung.
  
  Wer auf einem anderen Verzeichnis
    startet und dort keinen  myjob.flx
  zu liegen hat, merkt nichts. D.h.
    die drei Zeilen im _start.flx  haben
  keine unerwünschte
    Nebenwirkung.
  
  Zweittrick: (und nur dieser ist
    auch für Perlianer interessant)
  Wenn Punkt 3. entfällt, ist
    der  myflex.flx  praktisch eine
  individuelle Erweiterung des 
  _start.flx !!! Denn die Datenbank
  arbeitet dann normal.
  
  Hinweis zu Ziffer 1.:
  Wer eine avanti-Installation auf
    seinem PC hat, kann auch avanti-cl
  zum Abarbeiten von datenbankfremden
    FLEXen entzweckfremden:
  Der FLEX muß nur eine
    entsprechende Endzeile mit @ haben, z.B.
  @ DB=avdemo
    ID=opac/OPAC
  und dann gibt man nur den
    Befehl   avanti-cl <myflex.flx
  Wobei die Unterschiede zwischen a99
    und avanti zu beachten sind!
  Der Vorteil ist: avanti-cl braucht
    weniger Zeit.
  
  Hinweis zu Ziffer 2.:
  Wenn man will, daß jeder
    Nutzer einen ganz individuellen  _start.flx  
  hat, dann ginge das auch so,
    daß man keinen solchen auf
  DbDir, ProgDir und ProgDir\FLEX
    hat, sondern jeweils den ganz
  individuellen auf dem
    Arbeitsverzeichnis des Nutzers. 
  Besser wäre gewiß, der
    Name "_start.flx" wäre nur default und
  man könnte in der INI-Datei
    einen Namen vorgeben. 
  Kommt auf den Zettel, mit H-Faktor
2.