Premier projet en JavaScript / Grand besoin d'aide

Discussion dans 'Windows' créé par moumoutus, 14 Novembre 2011.

  1. Offline
    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.
    moumoutus, 14 Novembre 2011
    #1
  2. Offline
    L@rgo_XIII G33K
    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.putIndexidanimationFrameClass_NombreFrames );
    desc2.putReferenceidnullref2 );
    try
    {
    executeActionidslctdesc2DialogModes.NO );
    }
    catch
    {
    return 
    false;
    }
    _NombreFrames ++;
    return 
    true;
    }
    }
    L@rgo_XIII, 14 Novembre 2011
    #2
  3. Offline
    eGm_ Guinea Trump
    _NombreFrame n'est jamais initialisé ?!
    eGm_, 14 Novembre 2011
    #3
  4. Offline
    gun_shaft Bicky 3 Sauces
    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.
    gun_shaft, 14 Novembre 2011
    #4
  5. Offline
    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.
    moumoutus, 14 Novembre 2011
    #5
  6. Offline
    eGm_ Guinea Trump
    Il manque aussi un ; lors de l'appel de selectFrame()
    eGm_, 14 Novembre 2011
    #6
  7. Offline
    eGm_ Guinea Trump
    Trouvé il y a un espace dans ta déclaration de var _NombreFrame.

    Espace après le _
    eGm_, 14 Novembre 2011
    #7
  8. Offline
    gun_shaft Bicky 3 Sauces
    egm aka le debugger
    gun_shaft, 14 Novembre 2011
    #8
  9. Offline
    ailless Asimov, Sagan, Carlin, Hitchens
    Ou simplement le gars qui a un éditeur de texte ou un IDE configuré correctement. :cool:
    ailless, 14 Novembre 2011
    #9
  10. Offline
    eGm_ Guinea Trump
    Meme pas! J'étais sur mon smartphone.
    eGm_, 14 Novembre 2011
    #10