[Allegro] Selbstbestimmte Setzung des M- und W-Verzeichnisses

Heinrich Allers allers at t-online.de
Fr Okt 9 19:22:52 CEST 2009


Ich lege (m)ein Uralt-Thema wieder auf: in der Start-Flexdatei (_start.flx) das Arbeitsverzeichnis W sowie 
das dbaux-Verzeichnis (M) gezielt zu legen, und zwar

a) in der Topographie (um nicht zu sagen: im Labyrinth)
 der Laufwerke- und Verzeichnisse _datenbankverzeichnisnah_

b) datenbankspezifisch

c) benutzerspezifisch (nur im Netz relevant)

Aus verschiedenen Gründen scheint es mir sowohl für den Entwickler als auch für den Anwender die 
Arbeit erleichternd zu sein, wenn diese drei Punkte erfüllt sind.

Bisher (im Standard-Allegro) wird die Definition des M- und des W-Verzeichnisses (des dbaux- und des 
Arbeits-Verzeichnisses) vollkommen der Windows-Umgebungsvariablen %temp% überlassen, mit dem 
Ergebnis, daß zwar Desiderat c) erfüllt ist, die Desiderate a) und b) aber unberücksichtigt bleiben.

###

Die explizite Setzung des Arbeitsverzeichnisses mittels des Flexbefehls 'set W' war immer schon möglich. 
Seit einiger Zeit kann man auch das dbaux-Verzeichnis mittels 'set M' auf gleiche Weise definieren. Damit 
läßt sich sehr einfach dafür sorgen, daß die Desiderate a) und b) erfüllt werden, nämlich dadurch, indem 
man in der _start.flx zwischen den Zeilen

:start

und 

 Flip-Buttons setzen

folgende Zeiulensequenz einfügt:


 // Selbstbestimmte Setzung von 
 // W (Arbeitsverzeichnis) und M (Dbaux-Verz.)
 // BEGINN
 // Eingriffsm"glichkeit in den folgenden vier Zeilen,
 // die die Zeichenfolge 'XXX' enthalten.

#uun
get env username\ins #uun // XXX Deaktivieren,
 // wenn kein Mehrfachzugriff!

 jump kein-m-set // XXX Aktivieren, wenn
 // weder W- noch M-Setzung gewnscht!

 jump kein-w-set // XXX Aktivieren, wenn keine
 // selbstbestimmte W-Setzung (Arbeitsverzeichnis) gewnscht!
var D "temp"
if #uun var +"\\" #uun
var +"\\placebo.sgf"
 // Falls die Datei placebo.sgf im Unterverzeichnis
 // temp bzw. (bei Mehrfachzugriff) temp\<USERNAME> des
 // Datenbankverzeichnisses existiert, ist's ok:
fsize\if no jump temp-nvhd\jump temp-vhd
 // Sonst dieses Verzeichnis einrichten:
:temp-nvhd
var D "temp"\mkdir
if no jump temp-vz1-err\jump temp-vz1-ok
:temp-vz1-err
var "Das Verzeichnis " D "temp lieá sich nicht kreieren." n
var +"Ermitteln Sie bitte die Ursache (Datei des Namens temp" n
var +"in " D ", fehlende Rechte etc.)"
ansi\mes\jump kein-w-set
:temp-vz1-ok
if #uun var D "temp\\" #uun;mkdir
 // Und eine Signaldatei reinlegen, um sp"ter leicht
 // nachprfen zu koennen, ob Verz. temp\<USERNAME>
 // schon da ist:
var D "temp"\var +"\\" #uun "\\placebo.sgf"\xport f
wri "Verzeichnis " D "temp\\" #uun\close x
:temp-vhd
var D "temp"\var +"\\" #uun\set W
:kein-w-set

 jump kein-m-set // XXX Aktivieren, wenn keine
 // selbstbestimmte M-Setzung (dbaux-Verzeichnis) gewnscht!
var D "dbaux"
if #uun var +"\\" #uun
var +"\\placebo.sgf"
 // Falls die Datei placebo.sgf im Unterverzeichnis
 // dbaux bzw. (bei Mehrfachzugriff) dbaux\<USERNAME> des
 // Datenbankverzeichnisses existiert, ist's ok:
fsize\if no jump dbaux-nvhd\jump dbaux-vhd
 // Sonst dieses Verzeichnis einrichten:
:dbaux-nvhd
var D "dbaux"\mkdir
if no jump dbaux-vz1-err\jump dbaux-vz1-ok
:dbaux-vz1-err
var "Das Verzeichnis " D "dbaux lieá sich nicht kreieren." n
var +"Ermitteln Sie bitte die Ursache (Datei des Namens dbaux" n
var +"in " D ", fehlende Rechte etc.)"
ansi\mes\jump kein-m-set
:dbaux-vz1-ok
if #uun var D "dbaux\\" #uun;mkdir
 // Und eine Signaldatei reinlegen, um sp"ter leicht
 // nachprfen zu koennen, ob Verz. dbaux\<USERNAME>
 // schon da ist:
var D "dbaux"\var +"\\" #uun "\\placebo.sgf"\xport f
wri "Verzeichnis " D "dbaux\\" #uun\close x
:dbaux-vhd
var D "dbaux"\var +"\\" #uun\set M
:kein-m-set

#uun // Anwendervariable zurcksetzen
 // Selbstbestimmte Setzung von
 // W (Arbeitsverzeichnis) und M (Dbaux-Verz.)
 // ENDE

###

Damit kommt das M- und das W-Verzeichnis unmittelbar unterhalb des Datenbankverzeichnisses als 

\dbaux\<USERNAME> bzw. \temp\<USERNAME>

zu liegen.

###

Vor einigen Monaten lieferte ich eine Datenbank mit diesem Verfahren der "selbstbestimmten" M- und W-Setzung aus, und zwei 
prominente Allegrologen (Berger und Eversberg) antworteten mir, daß sie die Datenbank erst dadurch zum Laufen zu bringen 
vermocht hätten, daß sie meine in die _start.flx eingebaute M- und W-Setzung außer Kraft gesetzt hätten.

Verstanden habe ich das nie! :-((

Kann mir von den Spezialisten jemand helfen und erklären, was an dem von mir vorgeschlagenen Verfahren der expliziten M- 
und W-Setzung systemwidrig/unanständig/unsauber/netzlogikswidrig/falsch ist, oder wodran es sonst liegen könnte, daß diese 
expliziten Setzungen in einigen Umgebungen (in anderen funktionieren sie ja durchaus!) zur Blockierung des Funktionierens der 
Datenbank führen?


Mit besten Grüße von

Heinrich Allers

allers at t-online.de * http://www.h-allers.de
Netztagebuch: http://heinrich-erlo-ger.blogspot.com/
Bitácora: http://heinrich-erlo-spa.blogspot.com/
-------------- nächster Teil --------------
Ein Dateianhang mit HTML-Daten wurde abgetrennt...
URL: <http://bibservices.biblio.etc.tu-bs.de/pipermail/allegro/attachments/20091009/768c2f73/attachment.html>


Mehr Informationen über die Mailingliste Allegro