[Allegro] Selbstbestimmte Setzung des M- und W-Verzeichnisses
Anando Eger
a.eger at aneg-dv.de
So Okt 11 22:12:43 CEST 2009
Hallo Herr Allers,
habe die bewußte Befehlsfolge mal testweise in einigen meiner Datenbanken
in die _start.flx eingetragen und konnte keine Nebenwirkungen
feststellen (a99 V29.9, alle Datenbanken $a-ähnliches Schema)
Selbst janas, das früher die dbaux-Setzung nicht vertrug, zeigte
keine ungewöhnlichen Reaktionen.
Viele Grüße
Anando Eger
---------------------------------------------------------------------
Anando Eger Datenverarbeitung
Herr Dipl.-Ing. Anando Eger
Gustav-Voigt-Str. 24
01156 Dresden
Tel.: +49 (0)351 454 1236 http://www.aneg-dv.de
Fax: +49 (0)351 454 1238 mailto:a.eger at aneg-dv.de
---------------------------------------------------------------------
On 9 Oct 2009 at 19:22, Heinrich Allers wrote:
> 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 gewnscht!
>
> jump kein-w-set // XXX Aktivieren, wenn keine
> // selbstbestimmte W-Setzung (Arbeitsverzeichnis) gewnscht!
> 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
> // nachprfen 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) gewnscht!
> 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
> // nachprfen 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 zurcksetzen
> // 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/
>
Mehr Informationen über die Mailingliste Allegro