[Allegro] Exportdatei

Thomas Berger ThB at Gymel.com
Fr Jun 28 12:14:44 CEST 2013


Hallo Herr Fischer,

> Das heißt, dass die mit
>   export file filename   avanti
>         Nachfolgende Exporte (per export oder  write ) sollen in die Datei  filename  gehen.
> und
> open name  c
>         Die Datei name wird zum Lesen geöffnet.
> angegebenen Dateien intern identisch sind.
> (Gibt es in der Wirkung überhaupt einen Unterschied?)
> Ließe sich das ändern?

Ich verstehe die Schlussfolgerung nicht. Soweit ich weiss, kann
man in einem Flex durchaus aus einer Datei lesen und in eine
andere schreiben.


> Bei mir kommt es oft vor, dass ich eine Exportdatei dauerhaft benutzen
> möchte und mir zwischenzeitlich diverse Ergebnismengen zusammensuche, die ich dann
> exportiere.
> Das wird dadurch behindert, dass die Datei bei allen Flexen mit
> Schreibvorgängen auf die Standarddatei zurückgesetzt wird.

Mir scheint, dass "open x" und "close x" falsche Assoziationen wecken:
Die Dateien werden nicht geoeffnet oder geschlossen, in Wirklichkeit
wird nur der aktuelle Name der Ausgabedatei gesetzt bzw. auf das
Default zurueckgesetzt (allerdings wird sie beim "open" /geloescht/).
Tatsaechliche Ausgabebefehle schreiben dann, wobei die aktuell eingestellte
Datei jeweils geoeffnet und wieder geschlossen wird.

Also: "open x" und "close x" sind Augenwischerei, bzw. um es freundlicher
auszudruecken, sie bewegen sich auf einer anderen Abstraktionsschicht
als die konkreten Dateisystemobjekte, die damit verbunden werden.


> Alternativ könnte bei solchen Flexen die interne Sondervariable gesichert
> und wiederhergestellt werden, da will ich mir allerdings nicht gerne eine Sammlung
> von Privatflexen anlegen.
> Konzeptionell käme es mir korrekt vor, wenn allgemeine Flexe so gebaut
> würden, dass sie keinen Einfluss auf interne Einstellungen haben.

Sehr viele Standardflexe retten und restituieren akribisch die Werte
von Ausgabedatei und Ausgabeparametern. Das ist allerdings nie optimal,
da das Neu-Laden der Ausgabeparameter etwas im Unklaren laesst, was
mit Kopf- und Fussteile etc. passiert: Die werden beim ersten/letzten
Export mittels der Parameter erzeugt, und diese Information ist
unbekannt...

Abhilfe sehe ich nicht: Wenn man "lokale Ausfuehrungskontexte" einfuehrt,
gibt es eigentlich keine Moeglichkeit mehr, irgendetwas Globales
setzbar zu machen, d.h. ein Flex kann nicht fuer einen spaeteren Flex
etwa die Ausgabeparameter einstellen...

viele Gruesse
Thomas Berger




Mehr Informationen über die Mailingliste Allegro