[GastForen Programme Print/Bildbearbeitung Adobe InDesign Skriptwerkstatt Frage zu #include

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Print/Bildbearbeitung - Photos, Layout, Design
Themen
Beiträge
Moderatoren
Letzter Beitrag

Frage zu #include

JuMayr
Beiträge gesamt: 96

6. Dez 2012, 09:10
Beitrag # 1 von 10
Bewertung:
(12768 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo zusammen,

ich kämpfe nun schon seit ein paar Stunden mit eine #include Anweisung rum.

Konkret möchte ich eine Datei mit Sprachvariablen in meine Scripte einbinden.

Code
#include File(Folder(Folder.userData.fullName+'/Sprachfiles/Sprachdaten.jsx')); 


Wenn ich in der Konsole
File(Folder(Folder.userData.fullName+'/Sprachfiles/Sprachdaten.jsx')).length eingebe, dann wird mir die korrekte Größe der Datei angezeigt.

Die #include Anweisung sagt mir aber "Datei oder Ordner existiert nicht".

Hat evtl. jemand einen Tipp für mich wo mein Problem liegt?

Viele Grüße
Jürgen
X

Frage zu #include

WernerPerplies
Beiträge gesamt: 2500

6. Dez 2012, 09:44
Beitrag # 2 von 10
Beitrag ID: #505183
Bewertung:
(12706 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Jürgen,

Include-Anweisungen können relativ oder absolut sein.

Einige Beispiele gibt es hier in Screenshots der Beiträge:
WpsIncludesInCludes

HTH

Einen schönen Tag wünscht

Werner Perplies
Auftragsprogrammierung und Skripte für Adobe InDesign
neu: WpsProjectHandler 15.06.2018, Version 1.75, neue Funktionen
Aktuelles
XING


als Antwort auf: [#505177]

Frage zu #include

JuMayr
Beiträge gesamt: 96

6. Dez 2012, 09:59
Beitrag # 3 von 10
Beitrag ID: #505186
Bewertung:
(12691 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Werner,

vielen Dank für den Link.
Noch eine Frage: Wenn ich nur #include "Sprachdaten.jsx" angebe, in welchem Ordner wird dann gesucht?
Gibt es einen Betriebssystem- und InDesignversion unabhängigen Ordner der dann als Basis genommen wird?

Schade eigentlich, dass man nicht mit den definierten Pfaden wie Folder.userData.fullName o.ä. arbeiten kann:(

Gruß
Jürgen


als Antwort auf: [#505183]

Frage zu #include

WernerPerplies
Beiträge gesamt: 2500

6. Dez 2012, 10:06
Beitrag # 4 von 10
Beitrag ID: #505188
Bewertung:
(12678 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Jürgen,

wenn Du keinen Basispfad angibst, gilt der Pfad des aufrufenden Skripts.

Hast Du eigentlich gesehen, das mein Beispielskript unter anderem auch bereits die Behandlung unterschiedlicher Sprachdateien behandelt?

Einen schönen Tag wünscht

Werner Perplies
Auftragsprogrammierung und Skripte für Adobe InDesign
neu: WpsProjectHandler 15.06.2018, Version 1.75, neue Funktionen
Aktuelles
XING


als Antwort auf: [#505186]

Frage zu #include

JuMayr
Beiträge gesamt: 96

6. Dez 2012, 10:19
Beitrag # 5 von 10
Beitrag ID: #505189
Bewertung:
(12669 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Werner,

ja, das hatte ich gesehen.
Ich verwende in meinen Scripten bisher die YALT 2 Engine.

http://www.indiscripts.com/...-localization-engine

Gruß
Jürgen


als Antwort auf: [#505188]

Frage zu #include

WernerPerplies
Beiträge gesamt: 2500

6. Dez 2012, 10:30
Beitrag # 6 von 10
Beitrag ID: #505190
Bewertung:
(12649 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Jürgen,

ich habe da mal kurz reingesehen, ich denke, da widerspricht sich nichts, dass müsste auch direkt in meinem Framework einsetzbar sein, außer dass ich alle Meldungen in einer globalen Variable verwalte und bei Meldungen zwischen dem individuellen Teil und dem globalen Teil des gesamten Skripts unterscheide.

Insgesamt ist das Beispiel ein Framework für fast beliebige Skripts, die je nach Bedarf mit separaten Indcludedateien oder durch Einsatz meines IncludesIncludes-Skript als Gesamtdatei ausgeliefert werden können.

Einen schönen Tag wünscht

Werner Perplies
Auftragsprogrammierung und Skripte für Adobe InDesign
neu: WpsProjectHandler 15.06.2018, Version 1.75, neue Funktionen
Aktuelles
XING


als Antwort auf: [#505189]

Frage zu #include

Martin Braun
Beiträge gesamt: 78

6. Dez 2012, 20:19
Beitrag # 7 von 10
Beitrag ID: #505233
Bewertung: ||
(12551 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Jürgen,

versuch's mal so:

Code
eval("#include " + Folder.userData + '/Sprachfiles/Sprachdaten.jsx'); 


#include ist keine gewöhnliche Javascript-Funktion sondern eine "Präprozessoranweisung" und kann nicht Variablen oder Ausdrücke als Argument annehmen. Der einzuschließende Dateipfad muss buchstäblich hinter include stehen. Mit eval() kann man das quasi simulieren.

Sauberer wäre es in diesem Fall aber, die Sprachdatei mit app.doScript() auszuführen:

Code
app.doScript(File(Folder.userData + '/Sprachfiles/Sprachdaten.jsx')); 


LG
Martin


als Antwort auf: [#505177]

Frage zu #include

Dirk Becker
Beiträge gesamt: 170

12. Dez 2012, 00:11
Beitrag # 8 von 10
Beitrag ID: #505485
Bewertung:
(12449 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Noch einige Ansätze:

- #include arbeitet relativ zur aktuellen Quelle
- es gibt da eine Variable $.includePath ...
- $.evalFile() schluckt auch File-Objekte
- app.doScript hat einige Problemchen beim Debuggen und bei verschachtelten Aufrufen

Grüße,
Dirk


als Antwort auf: [#505233]

Frage zu #include

Martin Braun
Beiträge gesamt: 78

12. Dez 2012, 07:49
Beitrag # 9 von 10
Beitrag ID: #505488
Bewertung:
(12432 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
und:

- mit #includepath lassen sich weitere Pfade hinzufügen

LG
Martin


als Antwort auf: [#505485]

Frage zu #include

WernerPerplies
Beiträge gesamt: 2500

12. Dez 2012, 07:58
Beitrag # 10 von 10
Beitrag ID: #505489
Bewertung:
(12431 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Ich denke, der beste Ansatz für Sprachanpassungen ist nicht der Include-Weg, sondern das Einlesen der Meldungen beim Start des Skriptes.
Die Meldungen können dann in einer einfachen Testdatei gespeichert sein und damit zu jeder Zeit angepasst werden.

Damit entfallen dann auch die Verzeichnisprobleme.

Ich persönlich würde die Sprachdateien so speichern:
Code
Folder.userData+"/"+companyName + "/" + scriptName+"/"+$.locale+"/"+ groupName + ".msg" 


Code
Folder.userData:    Systemvariable, 
companyName: Scriptvariable mit der Entwicklerfirma,
scriptName: Scriptvariable
$.locale: Systemvaiable
groupName Scriptvariable mit Meldungsgruppe


Zur Laufzeit würde ich die Existenz der Datei prüfen, und ggf., wenn nicht vorhanden, eine Standardsprache verwenden.

Die Meldungsdatei könnte z. B. so aussehen:

Code
fileNotFound;Die Datei {0} wurde nicht gefunden 
selectFirstDir;Bitte zuerst ein Verszeichnis auswählen
...


Solche eine Datei kann zeilenweise eingelesen, bei ";" gesplittet und in ein Meldungsobjekt gespeichert werden.

Ein Vorteil des Verfahrens wäre es, dass Anwender oder Vertreiber des Skriptes die Meldungen leicht in der gewünschten Sprache ergänzen können.

Einen schönen Tag wünscht

Werner Perplies
Auftragsprogrammierung und Skripte für Adobe InDesign
neu: WpsProjectHandler 15.06.2018, Version 1.75, neue Funktionen
Aktuelles
XING


als Antwort auf: [#505485]
X

Aktuell

Diverses
03_FM_Stilvorlagen_300x300

Veranstaltungskalender

Hier können Sie Ihre Anlässe eintragen, welche einen Zusammenhang mit den Angeboten von HilfDirSelbst.ch wie z.B. Adobe InDesign, Photoshop, Illustrator, PDF, Pitstop, Affinity, Marketing, SEO, Büro- und Rechtsthemen etc. haben. Die Einträge werden moderiert freigeschaltet. Dies wird werktags üblicherweise innert 24 Stunden erfolgen.

pdf-icon Hier eine kleine Anleitung hinsichtlich Bedeutung der auszufüllenden Formularfelder.

Veranstaltungen
25.05.2020 - 29.05.2020

Experten teilen mit Dir ihr Wissen

Online
Montag, 25. Mai 2020, 11.00 Uhr - Freitag, 29. Mai 2020, 17.45 Uhr

Seminar

Möchtest du deine Online-Reichweite vergrössern und deine digitale Präsenz optimieren? Dann könnte dich der #DigitalMarketingSummit vom 25. bis 29. Mai 2020 interessieren. An 10 Sessions zu verschiedenen Themen erhältst du je drei sofort umsetzbare Tipps. Montag 25.05.2020 Facebook für Unternehmen LinkedIn Profil und mehr Dienstag 26.05.2020 Twitter für Unternehmen Inhalt & Funktion der Webseite überprüfen Mittwoch 27.05.2020 E-Commerce (mit WooCommerce) Grundlagen für die Digitalisierung Donnerstag 28.05.2020 Google Search Ads (SEA) Google My Business (Maps Eintrag) Freitag 29.05.2020 Xing für Unternehmen Storytelling mit Instagram

Teilnahme Gratis!!
Anmeldung unter: https://digital.rogerruckstuhl.ch/digital-marketing-summit

Ja

Organisator: Roger Ruckstuhl Digital Marketing

Kontaktinformation: Eric Mächler, E-Mailinfo AT ericmaechler DOT com

https://digital.rogerruckstuhl.ch/digital-marketing-summit/

Digital Marketing Summit für Selbständige, Einzelunternehmer Dienstleister & Serviceanbieter
Veranstaltungen
02.06.2020 - 03.06.2020

Digicomp Academy AG, Limmatstrasse 50, 8005 Zürich
Dienstag, 02. Juni 2020, 08.30 Uhr - Mittwoch, 03. Juni 2020, 17.00 Uhr

Kurs

Dieser Basic-Kurs ist der perfekte Einstieg in die Welt von InDesign, dem vielseitigen Layout-Programm. Sie lernen, wie InDesign aufgebaut ist, wie saubere Dokumente erstellt werden und wie man korrekt mit gelieferten InDesign-Projekten umgeht.

Preis: CHF 1'400.–
Dauer: 2 Tage

Nein

Organisator: Digicomp Academy AG

Kontaktinformation: Isil Günalp, E-Mailisil.guenalp AT digicomp DOT ch

https://www.digicomp.ch/weiterbildung/software-anwendungs-trainings/adobe-trainings/desktop-publishing/adobe-indesign-cc/kurs-indesign-cc-basic

Neuste Foreneinträge


EPS mit Konvertierungsoptionen

Grepstil-Problem mit Positiven Lookahead

Grobes ICC-Profil aus wenigen gemessenen Farben

PDF (Speisekarte) auf Android-Tablet anzeigen, Adobe Reader im Kiosk-Modus m�glich?

Ausschneiden und automatisch Hintergrund ersetzen

Zeichnungen miteinander verschmelzen in AI CS6

Umriss Anzeige einer Schrift in Negativ

Tabulator Tastendruck automatisch einf�gen

Dateien kopieren

Feldberechnung: null ausblenden
medienjobs