From tustep_saw_hoffert at mhlkg.de Thu Jan 12 13:12:33 2017 From: tustep_saw_hoffert at mhlkg.de (Michael Hoffert) Date: Thu, 12 Jan 2017 13:12:33 +0100 Subject: [Tustep-Liste] Frage: Verschachtelte INCLUDEs Message-ID: <6784384b-ccb1-286b-be32-476a8e44962b@mhlkg.de> Hallo TUSTEP_Freunde, ist es möglich innerhalb eines durch INCLUDE eingebundenen Sub-Makros ein weiteres Sub-Makro durch INCLUDE aufzurufen, Im Prinzip ein verschachteltes INCLUDE? Ich bekomme immer die Auskunft: ######## INCLUDE schon/noch aktiv (1.4/7) ######## Viele Grüße aus Leipzig Michael Hoffert From Gottfried.reeg at seegelken-reeg.de Thu Jan 12 14:59:15 2017 From: Gottfried.reeg at seegelken-reeg.de (Gottfried Reeg) Date: Thu, 12 Jan 2017 14:59:15 +0100 Subject: [Tustep-Liste] Frage: Verschachtelte INCLUDEs In-Reply-To: <6784384b-ccb1-286b-be32-476a8e44962b@mhlkg.de> References: <6784384b-ccb1-286b-be32-476a8e44962b@mhlkg.de> Message-ID: <0b077312-045a-ad47-2de8-a2a375013611@seegelken-reeg.de> Hallo Michael, wenn Ich mit Submakros arbeite, sieht das bei mir folgendermaßen aus: Irgendwo am Anfang definiere ich die Submakros SUBMACRO a ! par1, par2 ... ENDSUBMACRO SUBMACRO b ! par1 ... CALL b (z) ENDSUBMACRO Anschließend rufe ich die Submakros auf: CALL a (x,y) CALL b (z) Dabei kann dann auch Submakro "b" in "a" vorkommen. Bei diesem Schema benötige ich kein INCLUDE, es sei denn ich schreibe die Submakros in ein eigenes Segment, das ich dann am Anfang mit INCLUDE einfüge: INCLUDE submacros Nach diesem einen INCLUDE stehen dann die Submakros zur Verfügung und kann mit CALL aufgerufen werden. Grüße aus Berlin Gottfried Am 12.01.2017 um 13:12 schrieb Michael Hoffert: > Diskussionsforum Tustep-Liste > Weitere Informationen: www.itug.de > ------------------------------------------------------------ > > Hallo TUSTEP_Freunde, > > ist es möglich innerhalb eines durch INCLUDE eingebundenen Sub-Makros > ein weiteres Sub-Makro durch INCLUDE aufzurufen, Im Prinzip ein > verschachteltes INCLUDE? Ich bekomme immer die Auskunft: > > ######## INCLUDE schon/noch aktiv (1.4/7) ######## > > Viele Grüße aus Leipzig > Michael Hoffert > > ------------------------------------------------------------ > Tustep-Liste at itug.de > https://lists.uni-wuerzburg.de/mailman/listinfo/tustep-liste From schaelkle at zdv.uni-tuebingen.de Thu Jan 12 16:09:54 2017 From: schaelkle at zdv.uni-tuebingen.de (=?utf-8?Q?Kuno_Sch=C3=A4lkle?=) Date: Thu, 12 Jan 2017 16:09:54 +0100 Subject: [Tustep-Liste] Frage: Verschachtelte INCLUDEs In-Reply-To: <6784384b-ccb1-286b-be32-476a8e44962b@mhlkg.de> References: <6784384b-ccb1-286b-be32-476a8e44962b@mhlkg.de> Message-ID: <10DB9220-EBD9-4C12-9374-AFB43A9E5125@zdv.uni-tuebingen.de> Sehr geehrter Herr Hoffert, > ist es möglich innerhalb eines durch INCLUDE eingebundenen Sub-Makros ein weiteres Sub-Makro durch INCLUDE aufzurufen, Im Prinzip ein verschachteltes INCLUDE? Ich bekomme immer die Auskunft: > > ######## INCLUDE schon/noch aktiv (1.4/7) ######## INCLUDE-Anweisungen können verschachtelt sein, wenn die eingefügten Segmente in der Segment-Datei stehen, in der das aufgerufene (Haupt-)Makro steht. Beispiel: #=: EINS $$! $$=- print "eins 1" include zwei print "eins 2“ #=: ZWEI $$=- print "zwei 1" include drei print "zwei 2“ #=: DREI $$=- print „drei" Mit freundlichen Grüßen Kuno Schälkle From tustep_saw_hoffert at mhlkg.de Fri Jan 13 09:36:20 2017 From: tustep_saw_hoffert at mhlkg.de (Michael Hoffert) Date: Fri, 13 Jan 2017 09:36:20 +0100 Subject: [Tustep-Liste] Frage: Verschachtelte INCLUDEs In-Reply-To: <10DB9220-EBD9-4C12-9374-AFB43A9E5125@zdv.uni-tuebingen.de> References: <6784384b-ccb1-286b-be32-476a8e44962b@mhlkg.de> <10DB9220-EBD9-4C12-9374-AFB43A9E5125@zdv.uni-tuebingen.de> Message-ID: <7051a484-5fcd-1907-746c-2add56d8c700@mhlkg.de> Lieber Gottfried, Lieber Herr Schälkle, vielen Dank für Ihre Anregungen. Sie haben mir sehr geholfen mein Problem aufzulösen. Dieses liegt nur sekundär im Programm selbst sondern vielmehr in meinem Verständnis einer Programmierphilosophie, welche von anderen Sprachen her gebildet ist. In PHP bin ich es z.B. gewohnt, mehrere Dateien ineinander einzubinden: geschachteltes INCLUDE über mehrere Datei hinweg. Dies ist so in TUSTEP scheinbar nicht möglich. Hintergrund meiner Überlegungen: Um Ordnung in meine Programmstruktur zu bekommen, wollte ich diese – wie bisher gewohnt - auf verschiedene Dateien aufteilen, also nicht nur Segmente einer Datei. – ein aufzurufendes Startskript, welches als Pförtner fungiert und je nach Anfrage den weiteren Verlauf steuert – verschiedene Segmente einer Datei (Index), welche im Prinzip die einzelne Programmlogik tragen, das Segmentverzeichnis nutze ich gleichzeitig als Inhaltsverzeichnis zur Auswahl der Inhalte – eine Datei (Snippets), in der verschiedene Programmschnipsel liegen (Segment, Section oder Submacro), aus denen eine Ausgabe gebaut wird, im Prinzip Standardelemente/-gerüste, welche per Variablen angepasst werden – eine Datei (Chunks), welche unveränderte Daten vorhält, die an verschiedenen Stellen eingebunden werden – eine oder mehrere weitere Dateien, deren Segmente Hintergrundaufgaben erledigen und somit Zugriff auf die Ausgabe weiterer Programmlogik ermöglichen Nach meinen Tests ist folgendes möglich: – ich kann von Datei "A", Segment "1" aus Datei "B", Segment "1" aufrufen – ich kann dann in "B/1" weitere Segmente aus Datei "A" einbinden – ich kann innerhalb von "B/1" Sektionen/Submakros aufrufen, welche z.B. in "A/2" stehen und vor dem Aufruf von "B/1" in "A/1" eingebunden wurden – ich kann, wenn "B/1" abgearbeitet wurde (INCLUDE ist beendet, ich befinde mich wieder in "A/1"), weitere Segmente aus "A", "B" oder anderen Dateien einbinden Nicht möglich ist: – ich kann nicht von dem eingebundenen "B/1" weitere Segmente aus "B" oder einer anderen Datei einbinden – ich kann nicht auf Sektionen/Submakros zugreifen, welche auf einer Datei ungleich "A" liegen und vorher eingebunden wurden Nun kann ich dies zwar prinzipiell auch alles in eine bzw. zwei Dateien verpacken, habe aber Angst, daß dies irgendwann sehr unübersichtlich wird. Hinzu kommt, daß es auf diesem Wege schwieriger sein könnte externe Programmlogik (fertige, fremde Skripte) einzubinden. Auf diese kann dann nicht einfach per INCLUDE referenziert werden, sondern sie müssten – mit Eingriff in deren Programmcode – in die eigene Struktur eingebunden werden. Den Vorteil, den ich an dieser Stelle in anderen Programmiersprachen sehe ist der, daß dort relativ einfach Bibliotheken mit Programmroutinen eingebunden und genutzt werden können. Mit der Vorgehensweise in TUSTEP, alles in die Segmente einer Datei zu packen, muss ich mich wohl erst noch anfreunden. Viele Grüße aus Leipzig Michael Hoffert From tustep_saw_hoffert at mhlkg.de Mon Jan 16 13:59:36 2017 From: tustep_saw_hoffert at mhlkg.de (Michael Hoffert) Date: Mon, 16 Jan 2017 13:59:36 +0100 Subject: [Tustep-Liste] [TUSCRIPT] Unterordner in Programm erstellen + Fehlermeldung Message-ID: Liebe Liste, ich möchte innerhalb eines Projektes einen Unterordner erstellen, in den Dateien ausgegeben werden sollen. Nur komme ich nicht so richtig mit der Beschreibung von CREATE klar. Mittels … $$ SET status = CREATE (verz, PROJECT, -std-) … gelingt es mir ein neues Verzeichnis/Projekt innerhalb der TUSTEP_DSK zu erstellen (also eine Ebene zu hoch). Ich habe nun verschiedene Kombinationen aus verz, TUSTEP_DSK und TUSTEP_PRJ an den verschiedenen Positionen (name, träger) mit "/" und "\" ausprobiert und bekomme nur Fehlermeldungen. Interessant ist folgende Kombination: FETCH/SYSTEM prj = TUSTEP_PRJ SET pfad = "{prj}\verz" SET status = CREATE ("{pfad}", PROJECT, TUSTEP_DSK) Dies führt zu folgender Fehlermeldung: ################################################################################ ######## PROGRAMMABBRUCH: Fehlerflag ist von MOVEB noch gesetzt (13) ######## ################################################################################ ################################################################################ ################################################################################ ######## Bitte melden Sie diesen Fehler dem Programmautor ######## ################################################################################ ################################################################################ Nur einer Lösung bin ich noch nicht näher. Kann mir jemand helfen? Michael Hoffert From schneiderm at uni-trier.de Mon Jan 16 14:36:45 2017 From: schneiderm at uni-trier.de (Schneider, Matthias) Date: Mon, 16 Jan 2017 13:36:45 +0000 Subject: [Tustep-Liste] [TUSCRIPT] Unterordner in Programm erstellen + Fehlermeldung In-Reply-To: References: Message-ID: Hallo Michael, wenn ich Deine Aufgabenstellung richtig verstehe, musst Du eigentlich nur bei CREATE den Wert von Träger in -STD- ändern. Dann wird unterhalb des aktuellen Projektverzeichnisses ein Unterverzeichnis mit dem Namen verz eingerichtet: $$ MODE TUSCRIPT, {} FETCH/SYSTEM prj = TUSTEP_PRJ SET pfad = "{prj}\verz" SET status = CREATE ("{pfad}", PROJECT, -STD-) Herzliche Grüße aus Trier Matthias Schneider ==================================================== |           Matthias Schneider, M.A. |__Kompetenzzentrum für elektronische Erschließungs- |     und Publikationsverfahren in den |     Geisteswissenschaften |__Trier Center for Digital Humanities |__Universität Trier |__DM 341 |__Mail: schneiderm at uni-trier.de |__Homepage: |     http://www.kompetenzzentrum.uni-trier.de |     http://www.m-schneider.eu |__twitter: @ms91tru, @museumdighum |__Telephon: |     + 49 651 201 2935 ==================================================== -----Ursprüngliche Nachricht----- Von: tustep-liste-bounces at lists.uni-wuerzburg.de [mailto:tustep-liste-bounces at lists.uni-wuerzburg.de] Im Auftrag von Michael Hoffert Gesendet: Montag, 16. Januar 2017 14:00 An: tustep-liste at itug.de Betreff: [Tustep-Liste] [TUSCRIPT] Unterordner in Programm erstellen + Fehlermeldung Diskussionsforum Tustep-Liste Weitere Informationen: www.itug.de ------------------------------------------------------------ Liebe Liste, ich möchte innerhalb eines Projektes einen Unterordner erstellen, in den Dateien ausgegeben werden sollen. Nur komme ich nicht so richtig mit der Beschreibung von CREATE klar. Mittels … $$ SET status = CREATE (verz, PROJECT, -std-) … gelingt es mir ein neues Verzeichnis/Projekt innerhalb der TUSTEP_DSK zu erstellen (also eine Ebene zu hoch). Ich habe nun verschiedene Kombinationen aus verz, TUSTEP_DSK und TUSTEP_PRJ an den verschiedenen Positionen (name, träger) mit "/" und "\" ausprobiert und bekomme nur Fehlermeldungen. Interessant ist folgende Kombination: FETCH/SYSTEM prj = TUSTEP_PRJ SET pfad = "{prj}\verz" SET status = CREATE ("{pfad}", PROJECT, TUSTEP_DSK) Dies führt zu folgender Fehlermeldung: ################################################################################ ######## PROGRAMMABBRUCH: Fehlerflag ist von MOVEB noch gesetzt (13) ######## ################################################################################ ################################################################################ ################################################################################ ######## Bitte melden Sie diesen Fehler dem Programmautor ######## ################################################################################ ################################################################################ Nur einer Lösung bin ich noch nicht näher. Kann mir jemand helfen? Michael Hoffert ------------------------------------------------------------ Tustep-Liste at itug.de https://lists.uni-wuerzburg.de/mailman/listinfo/tustep-liste From schaelkle at zdv.uni-tuebingen.de Mon Jan 16 17:04:46 2017 From: schaelkle at zdv.uni-tuebingen.de (=?utf-8?Q?Kuno_Sch=C3=A4lkle?=) Date: Mon, 16 Jan 2017 17:04:46 +0100 Subject: [Tustep-Liste] [TUSCRIPT] Unterordner in Programm erstellen + Fehlermeldung In-Reply-To: References: Message-ID: <05AD58D5-25E2-4B70-8743-4347B2087091@zdv.uni-tuebingen.de> Sehr geehrter Herr Hoffert, > Mittels … > $$ SET status = CREATE (verz, PROJECT, -std-) > … gelingt es mir ein neues Verzeichnis/Projekt innerhalb der TUSTEP_DSK zu erstellen (also eine Ebene zu hoch). ich bin mir nicht ganz sicher auf welcher Ebene Sie das Verzeichnis erstellen wollen. Vermutlich erreichen Sie mit $$ SET status = CREATE („verzname", PROJECT, -std-) das gewünschte. Fall nicht, schreiben Sie mir bitte und verraten Sie mir den Inhalt von TUSTEP_DSK, den Namen des neuen Verzeichnisses und den Pfad dorthin aus Sicht des Betriebssystems. Vielen Dank für die Fehlermeldung. Ich werde dem Fehler nachgehen und beheben. Mit freundlichen Grüße Kuno Schälkle From schaelkle at zdv.uni-tuebingen.de Mon Jan 16 19:11:25 2017 From: schaelkle at zdv.uni-tuebingen.de (=?utf-8?Q?Kuno_Sch=C3=A4lkle?=) Date: Mon, 16 Jan 2017 19:11:25 +0100 Subject: [Tustep-Liste] [TUSCRIPT] Unterordner in Programm erstellen + Fehlermeldung In-Reply-To: References: Message-ID: Lieber Herr Hoffert, ich hätte erst besser nachdenken sollen. Ich glaube, dass ich Ihr Problem jetzt verstanden habe. Aus historischen Gründen, darf in TUSTEP der Name eines „Unterordners", der nach einem Ordnername durch einen Backslash bzw. Schrägstrich angegeben wird, maximal 3 Zeichen lang sein (ich weiss, das ist nicht mehr zeitgemäß). Einen Unterordner mit dem Namen "ober\unter" unterhalb von TUSTEP_DSK kann man deshalb leider nicht mit SET status = CREATE („ober\unter“, PROJEKT, -STD-) einrichten. Man muss dafür eine weiter Trägervariable definieren. In der Regel ist es zweckmäßig, diese mit *DESI für die Sitzung permanent zu definieren, z.B. MEIN_TR = xxxx\ober wobei statt xxxx der Inhalt von TUSTEP_DSK anzugeben ist. Eine andere Möglichkeit wäre, in TUSCRIPT eine temporäre Trägervariable zu definieren: FETCH/SYSTEM dsk = TUSTEP_DSK SET prj = "ober" DEFINE/VOLUME MEIN_TR = "{dsk}\{prj}" wobei an Stelle der SET-Anweisung auch FETCH/SYSTEM prj = TUSTEP_PRJ stehen könnte. Wie immer man die zusätzliche Trägervariable definiert, kann das Unterverzeichnis mit SET status = CREATE ("unter“, PROJEKT, MEIN_TR) eingerichtet werden. Mit freundlichen Grüßen Kuno Schälkle From tustep_saw_hoffert at mhlkg.de Tue Jan 17 11:28:04 2017 From: tustep_saw_hoffert at mhlkg.de (Michael Hoffert) Date: Tue, 17 Jan 2017 11:28:04 +0100 Subject: [Tustep-Liste] [TUSCRIPT] Unterordner in Programm erstellen + Fehlermeldung In-Reply-To: References: Message-ID: <7e10d2ae-a130-796f-bd4b-45dd1c9a1c9b@mhlkg.de> Lieber Herr Schälkle, lieber Matthias, vielen Dank für die Mithilfe. > Aus historischen Gründen, darf in TUSTEP der Name > eines „Unterordners", der nach einem Ordnername > durch einen Backslash bzw. Schrägstrich angegeben > wird, maximal 3 Zeichen lang sein (ich weiss, das ist > nicht mehr zeitgemäß). Hinzu kommt, daß der Projektname auch aus maximal 8+3 (4?) Zeichen bestehen darf. Im Prinzip TUSTEP-Grundwissen, aber manchmal muss man sich daran erinnern. :-) Weitere Probleme – und Lösungsansätze – welches sich bei meinen Versuchen auftaten: * Pfadunterschiede zwischen Betriebssystemen. Hier kann eine Abfrage nach dem Beginn der TUSTEP_DSK (erstes Zeichen = Buchstabe oder "/") helfen einen gültigen Pfad zu bauen -> ("\" vs. "/" im Verzeichnispfad) * Groß- und Kleinschreibung: "wahre" Betriebssysteme machen Unterscheidungen zwischen Groß- und Kleinschreibung. Dies funktioniert im Prinzip auch in TUSTEP – mit einer Ausnahme: einige Systemvariablen werden in Großbuchstaben ausgegeben. In meinem Beispiel liegt mein Projekt im Verzeichnis "TUSTEP_DSK/projekt/" und TUSTEP_PRJ gibt "PROJEKT" aus. Ich kann also nicht einfach aus "TUSTEP_DSK/TUSTEP_PRJ" einen Pfad basteln. Windows-Nutzer dürften dieses Problem nicht haben. Genauso wie all diejenigen, welche in weiser Voraussicht ihre Pfade entsprechend anlegen. Nun zurück zum eigentlichen Problem: Ich habe ein Makro, welches eine angegebene Datei verarbeitet und abhängig von den gewünschten Daten eine Vielzahl von Dateien produziert, welche wiederum später weiterverarbeitet werden. Um eine gewisse Übersicht zu erhalten möchte ich diese in einem eigenen (Unter-) Ordner ablegen. Diesen bilde ich abhängig vom aufgerufenen Dateinamen. SET pfad = EXTRACT (datei,0,":.:") ~ Extrahieren des Dateinamens SET pfad = SHORTEN (pfad,0,"",5) ~ Kürzen auf TUSTEP-Größe SET pfad = "NG_{pfad}" ~ zusätzliche Markierung FETCH/SYSTEM stTraeger = TUSTEP_DSK ~ Auslesen des Trägers Jetzt kann ich sowohl mit … DEFINE/VOLUME MN_TR = "{stTraeger}/projekt/{pfad}" SET status = CREATE ("-",PROJECT,MN_TR) … als auch mit DEFINE/VOLUME ST_TR = "{stTraeger}/projekt" SET status = CREATE (pfad,PROJECT,ST_TR) meinen gewünschten Ordner unterhalb von "projekt" anlegen, doch wie greife ich darauf zu? Wenn ich versuche mittels CREATE eine Datei anzulegen … SET status = CREATE (datei,fdf-p,MN_TR) … dann erhalte ich die Fehlermeldung … "Projekt PROJEKT auf Träger MN_TR nicht gefunden" Ebenfalls funktioniert ein Auslesen von MN_TR mittels … FETCH/SYSTEM variable = MN_TR … nicht. Ich sehen aber, daß diese korrekt belegt wird und auch korrekt in CREATE verwendet wird. Sicherlich habe ich nur einen Hinweis im Handbuch nicht richtig gedeutet, aber inzwischen sehe ich den Wald vor Bäumen nicht mehr. Michael Hoffert From tustep_saw_hoffert at mhlkg.de Tue Jan 17 11:48:14 2017 From: tustep_saw_hoffert at mhlkg.de (Michael Hoffert) Date: Tue, 17 Jan 2017 11:48:14 +0100 Subject: [Tustep-Liste] [TUSCRIPT] Unterordner in Programm erstellen + Fehlermeldung In-Reply-To: <7e10d2ae-a130-796f-bd4b-45dd1c9a1c9b@mhlkg.de> References: <7e10d2ae-a130-796f-bd4b-45dd1c9a1c9b@mhlkg.de> Message-ID: <21aeb92b-bcc5-3e2f-5706-d87fb190baea@mhlkg.de> Nachtrag: mittels … SET datei = "{pfad}*{name}.txt" ~ Angabe des SET status CREATE (datei,fdf-p,ST_TR) … ist es mir gelungen die Dateien im gewünschten Ordner zu erstellen und darauf zuzugreifen. Jetzt bleibt nur noch die Frage, wie ich den aktuellen Projektordner ("projekt") mit der Ausgabe von TUSTEP_PRJ ("PROJEKT") in Einklang bringen kann. Danke für die Mithilfe Michael Hoffert From kol at steinheim-institut.org Tue Jan 17 13:43:06 2017 From: kol at steinheim-institut.org (Thomas Kollatz) Date: Tue, 17 Jan 2017 13:43:06 +0100 Subject: [Tustep-Liste] FN-Tasten beim MAC Message-ID: Lieber Freunde und Freundinnen von TUSTEP auf dem MAC, es folgt eine Nachricht aus der Rubrik „Tipps und Tricks“ – heute Funktionstasten auf MACs MACs werden benutzt einerseits von Leuten, die irgendwas mit Medien machen und ihre Bildschirme heller und dunkler machen, ihre Tastatur beleuchten und ihre Lautsprecher regeln wollen, andererseits von Nerds, die programmieren wollen, darum sind die Tasten F1-F12 doppelt belegt, voreingestellt sind die Medienfunktionen. Wir TUSTEPenden MACer haben darum entweder in den Systemeinstellungen Tastatur die Option „Die Tasten F1,F2 als Standard-Funktionstasten verwenden“ aktiviert und wenn sie dann doch mal einen Film sehen wollen, wieder deaktiviert, oder betreiben ungesunden Finger Spagat. Das ist nicht mehr nötig, wenn man die kleine, praktische quelloffene Fluor APP installiert: > https://github.com/Pyroh/Fluor Da kann man dann einstellen, was der Standard ist, und welche Programme vom Standard abweichen. Also wer TUSTEP auf dem MAC benutzen will, kann hier angeben, dass iTerm die Standardfunktionstasten benutzen soll, alle anderen Programme funktionieren mit den MAC Voreinstellungen. Ein sehr praktisches Tool, dass die Medienfuzzis und Nerds versöhnt Viel Spass damit Thomas Kollatz http://orcid.org/0000-0003-1904-1841 -------------- nächster Teil -------------- Ein Dateianhang mit HTML-Daten wurde abgetrennt... URL: From schaelkle at zdv.uni-tuebingen.de Tue Jan 17 16:02:56 2017 From: schaelkle at zdv.uni-tuebingen.de (=?utf-8?Q?Kuno_Sch=C3=A4lkle?=) Date: Tue, 17 Jan 2017 16:02:56 +0100 Subject: [Tustep-Liste] [TUSCRIPT] Unterordner in Programm erstellen + Fehlermeldung In-Reply-To: <7e10d2ae-a130-796f-bd4b-45dd1c9a1c9b@mhlkg.de> References: <7e10d2ae-a130-796f-bd4b-45dd1c9a1c9b@mhlkg.de> Message-ID: Lieber Herr Hoffert, > Weitere Probleme – und Lösungsansätze – welches sich bei meinen Versuchen auftaten: > * Pfadunterschiede zwischen Betriebssystemen. Hier kann eine Abfrage nach dem Beginn der TUSTEP_DSK (erstes Zeichen = Buchstabe oder "/") helfen einen gültigen Pfad zu bauen -> ("\" vs. "/" im Verzeichnispfad) Mir ist nicht klar, an welcher Stelle TUSTEP dies abfragen sollte. > * Groß- und Kleinschreibung: "wahre" Betriebssysteme machen Unterscheidungen zwischen Groß- und Kleinschreibung. Dies funktioniert im Prinzip auch in TUSTEP – mit einer Ausnahme: einige Systemvariablen werden in Großbuchstaben ausgegeben. In meinem Beispiel liegt mein Projekt im Verzeichnis "TUSTEP_DSK/projekt/" und TUSTEP_PRJ gibt "PROJEKT" aus. An welcher Stelle wird sie in Großbuchstaben ausgegeben? Kann es sein, dass Sie die Variable so definiert haben? Bei mir wird sie in Kleinbuchstaben ausgegeben, so wie ich sie definiert habe. > Nun zurück zum eigentlichen Problem: > > Ich habe ein Makro, welches eine angegebene Datei verarbeitet und abhängig von den gewünschten Daten eine Vielzahl von Dateien produziert, welche wiederum später weiterverarbeitet werden. Um eine gewisse Übersicht zu erhalten möchte ich diese in einem eigenen (Unter-) Ordner ablegen. Diesen bilde ich abhängig vom aufgerufenen Dateinamen. > > SET pfad = EXTRACT (datei,0,":.:") ~ Extrahieren des Dateinamens > SET pfad = SHORTEN (pfad,0,"",5) ~ Kürzen auf TUSTEP-Größe > SET pfad = "NG_{pfad}" ~ zusätzliche Markierung > FETCH/SYSTEM stTraeger = TUSTEP_DSK ~ Auslesen des Trägers > > Jetzt kann ich sowohl mit … > DEFINE/VOLUME MN_TR = "{stTraeger}/projekt/{pfad}" > SET status = CREATE ("-",PROJECT,MN_TR) > > … als auch mit > DEFINE/VOLUME ST_TR = "{stTraeger}/projekt" > SET status = CREATE (pfad,PROJECT,ST_TR) > > meinen gewünschten Ordner unterhalb von "projekt" anlegen, doch wie greife ich darauf zu? Wenn ich versuche mittels CREATE eine Datei anzulegen … > SET status = CREATE (datei,fdf-p,MN_TR) > > … dann erhalte ich die Fehlermeldung … > "Projekt PROJEKT auf Träger MN_TR nicht gefunden“ Sie können z.B. wie folgt vorgehen: SET pfad = EXTRACT (datei,0,":.:") ~ Extrahieren des Dateinamens SET pfad = SHORTEN (pfad,0,"",5) ~ Kürzen auf TUSTEP-Größe SET pfad = "NG_{pfad}" ~ zusätzliche Markierung FETCH/SYSTEM stTraeger = TUSTEP_DSK ~ Auslesen des Trägers DEFINE/VOLUME MN_TR = "{stTraeger}/projekt" SET status = CREATE ("{pfad}", PROJECT, MN_TR) SET status = CREATE ("{pfad}*{datei}", fdf-p, MN_TR) > Ebenfalls funktioniert ein Auslesen von MN_TR mittels … > FETCH/SYSTEM variable = MN_TR > … nicht. Mit DEFINE/VOLUME wird keine Systemvariable definiert, sondern nur eine temporäre (d.h. während der Abarbeitung des Makro bekannte) Variable, die als Träger verwendet werden kann. Mit freundlichen Grüßen Kuno Schälkle From tustep_saw_hoffert at mhlkg.de Wed Jan 18 13:22:52 2017 From: tustep_saw_hoffert at mhlkg.de (Michael Hoffert) Date: Wed, 18 Jan 2017 13:22:52 +0100 Subject: [Tustep-Liste] [TUSCRIPT] Unterordner in Programm erstellen + Fehlermeldung In-Reply-To: References: <7e10d2ae-a130-796f-bd4b-45dd1c9a1c9b@mhlkg.de> Message-ID: Lieber Herr Schälkle, vielen Dank für Ihre Hilfe. >> * Pfadunterschiede zwischen Betriebssystemen > > Mir ist nicht klar, an welcher Stelle TUSTEP dies abfragen sollte. TUSTEP muss dies meiner Meinung nach nicht leisten. Vielmehr müssen wir uns als Programmierer dieser Tatsache bewusst sein und – sollten wir Skripte entwickeln wollen, die auch weitergegeben werden – evtl. in unseren Skripten beachten. > An welcher Stelle wird sie in Großbuchstaben ausgegeben? > Kann es sein, dass Sie die Variable so definiert haben? > Bei mir wird sie in Kleinbuchstaben ausgegeben, so wie > ich sie definiert habe. Scheinbar war mein System an dieser Stelle etwas vermurkst. Der Pfad zum Projekt befindet sich in einem Ordner mit Kleinbuchstaben, die Ausgabe der Variablen ergibt aber Großbuchstaben. Ich habe gerade noch einmal versucht dies nachzuvollziehen und habe keine Erklärung. In einem neuen Projekt war alle wie gewünscht. Ich habe die Variable nun von Hand geändert und jetzt geht es. >> meinen gewünschten Ordner unterhalb von "projekt" anlegen, doch wie greife ich darauf zu? Wenn ich versuche mittels CREATE eine Datei anzulegen … >> SET status = CREATE (datei,fdf-p,MN_TR) >> >> … dann erhalte ich die Fehlermeldung … >> "Projekt PROJEKT auf Träger MN_TR nicht gefunden“ > > Sie können z.B. wie folgt vorgehen: > > SET status = CREATE ("{pfad}*{datei}", fdf-p, MN_TR) Im Prinzip habe ich dies auch so gelöst. Es funktioniert. >> Ebenfalls funktioniert ein Auslesen von MN_TR mittels … >> FETCH/SYSTEM variable = MN_TR >> … nicht. > > Mit DEFINE/VOLUME wird keine Systemvariable definiert, > sondern nur eine temporäre (d.h. während der Abarbeitung > des Makro bekannte) Variable, die als Träger verwendet > werden kann. Danke dies erklärt mein Problem. Ich werde mein Vorgehen noch einmal verallgemeinert zusammenfassen und das Ergebnis die nächsten Tage ins Wiki stellen. Viele Grüße aus dem verschneiten Leipzig Michael Hoffert From tustep_saw_hoffert at mhlkg.de Mon Jan 30 15:51:55 2017 From: tustep_saw_hoffert at mhlkg.de (Michael Hoffert) Date: Mon, 30 Jan 2017 15:51:55 +0100 Subject: [Tustep-Liste] =?utf-8?q?=5BTUSCRIPT=5D_Gro=C3=9Fbuchstaben_in_Kl?= =?utf-8?q?einbuchstaben?= Message-ID: <3125d4c0-ec01-f6d0-66f2-4f22195eb02d@mhlkg.de> Liebe Liste, mit CAPS (var) gibt es eine Funktion um Kleinbuchstaben in Großbuchstaben umzuwandeln. Doch gibt es auch eine Umkehrfunktion (alle Großbuchstaben in Kleinbuchstaben)? Ich habe diese nicht im Handbuch gefunden. Viele Grüße aus Leipzig Michael Hoffert From kol at steinheim-institut.org Mon Jan 30 15:57:07 2017 From: kol at steinheim-institut.org (Thomas Kollatz) Date: Mon, 30 Jan 2017 15:57:07 +0100 Subject: [Tustep-Liste] =?utf-8?q?=5BTUSCRIPT=5D_Gro=C3=9Fbuchstaben_in_Kl?= =?utf-8?q?einbuchstaben?= In-Reply-To: <3125d4c0-ec01-f6d0-66f2-4f22195eb02d@mhlkg.de> References: <3125d4c0-ec01-f6d0-66f2-4f22195eb02d@mhlkg.de> Message-ID: <6F317185-513E-4CBA-97EC-1363AFF353EC@steinheim-institut.org> Lieber Michael, das müsste so gehen: alt=„Ich bin ein Haus" BUILD X_TABLE caps2small=* DATA /{\a}/{+1+}/ neu=EXCHANGE (alt,caps2small) neu —> ICH BIN EIN HAUS Hilft das weiter? Herzliche Grüße Thomas > Am 30.01.2017 um 15:51 schrieb Michael Hoffert : > > Diskussionsforum Tustep-Liste > Weitere Informationen: www.itug.de > ------------------------------------------------------------ > > Liebe Liste, > > mit CAPS (var) gibt es eine Funktion um Kleinbuchstaben in Großbuchstaben umzuwandeln. Doch gibt es auch eine Umkehrfunktion (alle Großbuchstaben in Kleinbuchstaben)? Ich habe diese nicht im Handbuch gefunden. > > Viele Grüße aus Leipzig > Michael Hoffert > > ------------------------------------------------------------ > Tustep-Liste at itug.de > https://lists.uni-wuerzburg.de/mailman/listinfo/tustep-liste From tustep_saw_hoffert at mhlkg.de Mon Jan 30 16:21:05 2017 From: tustep_saw_hoffert at mhlkg.de (Michael Hoffert) Date: Mon, 30 Jan 2017 16:21:05 +0100 Subject: [Tustep-Liste] =?utf-8?q?=5BTUSCRIPT=5D_Gro=C3=9Fbuchstaben_in_Kl?= =?utf-8?q?einbuchstaben?= In-Reply-To: <6F317185-513E-4CBA-97EC-1363AFF353EC@steinheim-institut.org> References: <3125d4c0-ec01-f6d0-66f2-4f22195eb02d@mhlkg.de> <6F317185-513E-4CBA-97EC-1363AFF353EC@steinheim-institut.org> Message-ID: <7787c126-2ec5-e92a-795a-475f3d7b5f11@mhlkg.de> Thomas Kollatz schrieb am 30.01.2017 um 15:57: > alt=„Ich bin ein Haus" > > BUILD X_TABLE caps2small=* > DATA /{\a}/{+1+}/ > > neu=EXCHANGE (alt,caps2small) Lieber Thomas, mit einer kleinen Anpassung … DATA /{\A}/{+1-}/ neu=EXCHANGE (alt,caps2small) neu -> "ich bin ein haus" … funktioniert es. Zwar etwas umständlich, aber funktionabel. Danke @-`,- Michael :-D