[GastForen Programme Print/Bildbearbeitung Adobe InDesign Skriptwerkstatt Bitte um Skript-Hilfe: Swatches unterscheiden

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

Bitte um Skript-Hilfe: Swatches unterscheiden

Stephan_M
Beiträge gesamt: 480

1. Apr 2009, 03:10
Beitrag # 1 von 3
Bewertung:
(2986 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,
Ich brauche einen Weg um Swatches zu unterscheiden (beim durchgehen von 0 bis document.swatches.count)

Wenn Swatch ein Color-Swatch dann,...
Wenn Swatch ein Gradient-Swatch dann, ...
Wenn Swatch ein Mixed-Ink dann, ...
Wenn Swatch ein Tint-Swatch dann, ...

Nicht funktionierender Ansatz:
if ( mySwatch.type == '1635282023' ) continue;
if ( mySwatch.space == ColorSpace.MIXEDINK ) continue;

Problem dabei:
Wenn mySwatch zum Beispiel nun ein Color-Swatch ist, kennt es die Methode .type eines Gradient-Swatches gar nicht, wenn ich danach frage, und das führt zu Skriptabbruch.

Wie überprüfe ich bitte auf Swatch-Typ?
X

Bitte um Skript-Hilfe: Swatches unterscheiden

Martin Fischer
  
Beiträge gesamt: 12783

1. Apr 2009, 06:47
Beitrag # 2 von 3
Beitrag ID: #391587
Bewertung:
(2975 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Stephan,

spontan würde ich Dir empfehlen, behelfsweise (bis eine andere Lösung gefunden ist) mit der try-catch Klammer zu arbeiten:

Code
try { 
//tu dieses
}
catch (e) {
// wenn Fehler tu jenes
}


Eine andere Idee: prüfe. ob der swatch eine bestimmte Eigenschaft hat: hasOwnProperty().


als Antwort auf: [#391585]
(Dieser Beitrag wurde von Martin Fischer am 1. Apr 2009, 07:17 geändert)

Bitte um Skript-Hilfe: Swatches unterscheiden

Stephan_M
Beiträge gesamt: 480

1. Apr 2009, 09:02
Beitrag # 3 von 3
Beitrag ID: #391600
Bewertung:
(2943 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
>> hasOwnProperty()

Ah, sehr gut! Das probier ich aus. Ich poste das Skriptchen an dem ich arbeite später. Mit try/catch gäb das an der Stelle doch eine recht dreckige Lösung.


als Antwort auf: [#391587]