Autor |
Nachricht |
KUNSTdrucker
Threadersteller
Dabei seit: 22.08.2011
Ort: -
Alter: -
Geschlecht: -
|
Verfasst Fr 03.02.2012 11:41
Titel Javascript Photoshop String in INT umwandeln |
|
|
Moin,
ich versuche mich gerade an einer Aktion mit Java für Photoshop.
Ich hab mir jetzt ein Dialogfenster über prompt angelegt wo beim user eine variable abgefragt wird.
Diese Variable wird auch übernommen aber leider als string und nicht als integer.
Wie kann ich entweder die variable gleich als INT setzen lassen bzw. im sctipt im Nachhinein umwandeln?
Hab schon verschiedene normale java snippets aus dem netz probiert, hat aber nicht funktioniert.
Kann mir jemand helfen?
Grüße
micha
|
|
|
|
|
Alex
Dabei seit: 29.11.2005
Ort: Dortmund
Alter: 37
Geschlecht:
|
Verfasst Fr 03.02.2012 11:44
Titel
|
|
|
hat nicht funktioniert?
Zuletzt bearbeitet von Alex am Fr 03.02.2012 12:00, insgesamt 1-mal bearbeitet
|
|
|
|
|
Anzeige
|
|
|
KUNSTdrucker
Threadersteller
Dabei seit: 22.08.2011
Ort: -
Alter: -
Geschlecht: -
|
Verfasst Fr 03.02.2012 12:35
Titel
|
|
|
hhhm, leider nicht, wie ich es angegangen war;
aber danke für das stichwort
über google bin ich dann hierauf gekommen:
x = parseFloat( x );
Grüße
Micha
|
|
|
|
|
phihochzwei
Moderator
Dabei seit: 08.06.2006
Ort: Mülheim an der Ruhr
Alter: 46
Geschlecht:
|
Verfasst Fr 03.02.2012 15:16
Titel
|
|
|
KUNSTdrucker hat geschrieben: | hhhm, leider nicht, wie ich es angegangen war;
aber danke für das stichwort
über google bin ich dann hierauf gekommen:
x = parseFloat( x );
Grüße
Micha |
Dir is aber aufgefallen, das das kein Integer sondern ein Float ist, oder ?
|
|
|
|
|
pixxxelschubser
Dabei seit: 02.10.2011
Ort: -
Alter: -
Geschlecht: -
|
Verfasst Fr 03.02.2012 20:25
Titel
|
|
|
Alex hat geschrieben: |
hat nicht funktioniert? |
Kommt drauf an, was man will. Diese Funktion rundet nicht, sondern schneidet ab!
_______________
@KUNSTdrucker,
Was genau soll mit der Abfrage geschehen? Du lässt also jegliche Eingabewerte im prompt() zu und möchtest was genau heraus bekommen? Eine Zahl und wenn überhaupt, dann nur eine Ganzzahl? Oder lässt du Kommaeingaben zu und möchtest nur Ganzzahlen herausbekommen? Zeige doch einfach die entsprechenden Codeschnipsel, mit den zu erwartenden Eingabewerten und gibt ganz exakt an, was du am Ende herausbekommen möchtest.
Ein einfaches Beispiel:
Die Eingabewerte sind immer Ganzzahlen und es gibt keine „Spielkinder“, dann reicht die Number()-Funktion wahrscheinlich schon aus.
z.B.:
Code: | var a = prompt ("Eingabe", 100)
alert (a + 1 + " = falsches Ergebnis");
//a = Number (a); //Eingabe muss Ganzzahl sein, sonst NaN
//a = parseInt (a); //rundet nicht, sondern schneidet ab
a = Math.round (a) //erwartet (bei Kommazahlen) einen Punkt, ansonsten abfangen oder per Skript automatisch ersetzen lassen
alert (a + 1); |
Vielleicht hilft das ja schon.
|
|
|
|
|
KUNSTdrucker
Threadersteller
Dabei seit: 22.08.2011
Ort: -
Alter: -
Geschlecht: -
|
Verfasst Sa 04.02.2012 15:04
Titel
|
|
|
[quote="pixxxelschubser"] Alex hat geschrieben: |
@KUNSTdrucker,
Was genau soll mit der Abfrage geschehen? Du lässt also jegliche Eingabewerte im prompt() zu und möchtest was genau heraus bekommen? Eine Zahl und wenn überhaupt, dann nur eine Ganzzahl? Oder lässt du Kommaeingaben zu und möchtest nur Ganzzahlen herausbekommen? Zeige doch einfach die entsprechenden Codeschnipsel, mit den zu erwartenden Eingabewerten und gibt ganz exakt an, was du am Ende herausbekommen möchtest.
|
Die prompt-Abfrage war:
var DruckHoehe = prompt("Geben Sie hier die Druckhöhe (Summe aller Teile) in cm an",'z.B. 40');
Damit erhalte ich ja eine Variable als Zeichenkette.
Diese habe ich nun in einen Integer umgewandelt mit:
DruckHoehe = DruckHoehe.replace( /,/,"." );
DruckHoehe2 = parseFloat( DruckHoehe );
Es sollen also durchaus Kommazahlen erlaubt sein, obwohl momentan nur Ganzzahlen gebraucht werden.
Funktioniert jetzt eigentlich alles prima.
Jetzt hänge ich aber an einer anderen Stelle des Scripts fest und zwar beim Speichern der Druckdatei als JPG
Code: | function speichern() {
var myFile = new File("C:/HOTFOLDER/LEINWAND/"+BestNr+"_"+ArtNr+DruckHoehe+"x"+DruckBreite);
saveOptionen = new JPEGSaveOptions;
saveOptionen.embedColorProfile = false;
saveOptionen.formatOptions = FormatOptions.OPTIMIZEDBASELINE;
saveOptionen.matte = MatteType.WHITE;
saveOptionen.quality = 12;
activeDocument.save(myFile, saveOptionen);
}
speichern();
|
Es öffnet mir jetzt in PS immer den Speichern-Unter Dialog. Eigentlich wollte ich aber, dass die fertigen Druckdateien sofort im Hotfolder unseres RIPS abgespeichert werden. Der Datenname besteht dann aus Bestellnummer und Artikelnummer sowie den Größenvariablen (diese werden alle im script vorher definiert und abgefragt). Das Script meldet auch keine Fehler.
Ich hab sowohl save und saveAs ausprobiert. Immer dasselbe. Speichere ich als PSD - also über photoshopSaveOptions funktioniert alles prima.
Danke für Eure Hilfe!
|
|
|
|
|
xaos
Dabei seit: 06.10.2004
Ort: Kargath
Alter: -
Geschlecht: -
|
Verfasst Sa 04.02.2012 15:38
Titel
|
|
|
Probier mal
Code: | activeDocument.saveAs(myFile, saveOptionen, true, Extension.LOWERCASE); |
|
|
|
|
|
KUNSTdrucker
Threadersteller
Dabei seit: 22.08.2011
Ort: -
Alter: -
Geschlecht: -
|
Verfasst Sa 04.02.2012 19:24
Titel
|
|
|
super! danke!
|
|
|
|
|
|
|
|
Ähnliche Themen |
Actionscript String in Array umwandeln...
[Javascript -> PHP] String wird falsch übergeben [solved]
RegExp String zwischen 2 Zeichen in einem String entfernen
MwSt-Berechnung in Javascript umwandeln
Dateiformat *.CR2 - Kann Photoshop umwandeln?
Problem beim Photoshop .psd in Illsutrator .eps umwandeln
|
|