Premier projet en JavaScript / Grand besoin d'aide

moumoutus

Touriste
Voila, je fais des études de JV programmation à l'HEAJ de Namur et je dois dire que notre nouveau prof d'optimisation de code nous demande des choses assez saugrenues.

L'exercice est de créer un script qui va ouvrir un .GIF afin de le transformer en .TGA sous PS CS5 à l'aide du GEGNIAL api de Adobe ( jamais vu un foutoir pareil ).

N'ayant fait que du c/c++ et lua j'ai quelques misères et si quelqu'un d'assez caller en JavaScript pouvait m'aider a me débloquer.

Mon code actuel :

var _wyw=app.preferences.rulerUnits;
app.preferences.rulerUnits = Units.PIXELS;

var _gif = app.activeDocument;
var _posx = _gif.width;//x de l'image
var _posy = _gif.height;//y de l'image
var _ NombreFrames; <=== PROBLEME
SelectFrames ();
var _NewDoc = app.documents.add(_posx * _ NombreFrames ,_posy);


SelectFrames ()
alert("ready?");

//_NewDoc.close(SaveOptions.DONOTSAVECHANGES);

app.preferences.rulerUnits = _wyw;

function SelectFrames()
{
var idslct = charIDToTypeID( "slct" );
var desc2 = new ActionDescriptor();
var idnull = charIDToTypeID( "null" );
var ref2 = new ActionReference();
var idanimationFrameClass = stringIDToTypeID( "animationFrameClass" );
ref2.putIndex( idanimationFrameClass, _NombreFrames );
desc2.putReference( idnull, ref2 );
try
{
executeAction( idslct, desc2, DialogModes.NO );
}
catch
{
return false;
}
_NombreFrames ++;
return true;
}
}

Ma première erreur ce situe au niveau de la variable _NombreFrame où l'erreur qu'il m’envoie est "Attendu : ;". Pourtant je ne vois pas de ; manquant o.O

Petite note : Je sais qu'il y a moyen de faire l'action sous toshop et récupérer le script mais mis à part pour le clic sur la frame, on doit tout faire nous même. Je ne demande pas de me faire le programme mais de me débloquer et m'aider ;), je préfère apprendre.

Merci Beaucoup.
 
Je suis pas du tout un pro de javascript, mais met peut être déjà les balises de code :)

PHP:
var _wyw=app.preferences.rulerUnits; 
app.preferences.rulerUnits = Units.PIXELS;

var _gif = app.activeDocument;
var _posx = _gif.width;//x de l'image
var _posy = _gif.height;//y de l'image
var _ NombreFrames; <=== PROBLEME
SelectFrames ();
var _NewDoc = app.documents.add(_posx * _ NombreFrames ,_posy);


SelectFrames ()
alert("ready?");

//_NewDoc.close(SaveOptions.DONOTSAVECHANGES);

app.preferences.rulerUnits = _wyw;

function SelectFrames()
{
var idslct = charIDToTypeID( "slct" );
var desc2 = new ActionDescriptor();
var idnull = charIDToTypeID( "null" );
var ref2 = new ActionReference();
var idanimationFrameClass = stringIDToTypeID( "animationFrameClass" );
ref2.putIndex( idanimationFrameClass, _NombreFrames );
desc2.putReference( idnull, ref2 );
try
{
executeAction( idslct, desc2, DialogModes.NO );
}
catch
{
return false;
}
_NombreFrames ++;
return true;
}
}
 

eGm_

Gibon Blasé
_NombreFrame n'est jamais initialisé ?!
 

gun_shaft

ANDALOUSE MEXICANOS
_NombreFrame n'est jamais initialisé ?!
J'allais le dire, la seule différence que je vois c'est que c'est la seule variable qui n'es pas initialisée et tu l'utilises ensuite.

Je n'ai jamais fait de JS mais si tu ne l'initialises pas ça peut poser problème.
 
1er
OP
moumoutus

moumoutus

Touriste
Je l'ai initialiser à 0 : var _NombreFrame = 0; même erreur o.O Ou je suis une pure quiche, ou le javascript c'est pas fait pour moi.
 

eGm_

Gibon Blasé
Il manque aussi un ; lors de l'appel de selectFrame()
 

eGm_

Gibon Blasé
Trouvé il y a un espace dans ta déclaration de var _NombreFrame.

Espace après le _
 

gun_shaft

ANDALOUSE MEXICANOS
egm aka le debugger
 

ailless

Asimov, Sagan, Carlin, Hitchens
Ou simplement le gars qui a un éditeur de texte ou un IDE configuré correctement. :cool:
 

eGm_

Gibon Blasé
Meme pas! J'étais sur mon smartphone.
 
Haut