Erreur de script sous 2K

j'utilise dans un de nos programmes
une fonction d'impression avec IQ
qui genere une erreur sous W2000.
le probleme est le meme avec l'un de vos exemples (sauf 98 et NT).
il suffit d'executer un script dans le fichier IQ/examples\working with IQ-script/working with 2D graph
pour voir apparaitre le message d'erreur ci joint.
Existe t il un correctif ou une parade?
Attachments:
MSG_erreur_IQ.bmp ‏50 KB

Bonjour,
C'est un problème de droits sur les fichiers installés. Je vous laisse découvrir la note d'application à ce sujet...
http://digital.ni.com/public.nsf/websearch/5300AA5B93A4CC9C86256E360000E955?OpenDocument
Cordialement

Similar Messages

  • Erreurs incompréhensible sous indesign cs 6

    Bonjour à tous,
    je viens de finir un doc sous indesign cs6 qui est destné à être imprimé. J'ai donc bien fait attention à passer toutes mes photos en CMJN et n'utiliser que ce mode colorimétrique. Mais avant de faire l'assemblage je me rends compte qu'il me trouve prêt d'une centaines d'erreurs en me faisant remarquer que j'utilise du RVB un peu partout !
    Alors, je vérifie et je revérifie sur bridge et sur photoshop mais je suis certain de moi, les photos sont bien en CMJN ! la preuve :
    Et ben pour celle là (comme pour les autres) monsieur indesign me dit : "problème : fond utilise RVB"
    Quelqu'un aurait une idée ?

    "Cette alerte ne signifie pas que tu utilises des images RVB importées, mais que les fonds des blocs image utilisent une couleur RVB."
    […] comment se fait-il que le fond ne soit pas modifié ? Ou alors ça vient de la couleur de ma page sous indesign ...
    De quel fonds parles-tu ? Moi, je te parle des fonds de blocs créés dans InDesign. Rien ne t'empêche, même si ça n'a aucun intérêt, d'importer des images CMJN dans un bloc image dont le fond est en RVB.
    Alors là j'apprends un truc ! Je pensais pas que le passage en PDF offset avec les paramétres qui vont bien pouvait modifier le mode colorimétrique de l'ensemble du document
    Mais oui ! C'est ce qu'on appelle un flux RVB. De cette manière, tu n'as pas à convertir individuellement chaque image, et surtout, ça permet de convertir au final vers le bon profil, correspondant à tes conditions d'impression.
    Ceci dit on peut avoir des surprises avec les modifications de couleur et de nuances post impression d'où l'intéret d'avoir une prévisualisation en quadri.
    InDesign te permet une prévisualisation CMJN du fichier, même si les imports sont en RVB (menu Affichage > Format d'épreuve)
    Et comme je suis sur un document de 60 pages je devrais surement fournir un fichier natif avec les liens.
    Pourquoi ? Pour faire faire des corrections de chromie sur les images ? Là, oui, effectivement.
    "D'autre part, tu fais imprimer ce document en Amérique du nord ? Parce que le profil colorimétrique de l'image que tu nous montres en exemple ne correspond pas à des conditions d'impression européennes."
    Bon ben j'apprends encore un truc ! A quoi tu vois ça
    Je le vois en regardant ta capture d'écran de Bridge qui affiche Profil colorimétrique : Coated Fogra 27. Oups, en me relisant, je m'aperçois que j'ai écrit n'importe quoi ! C'est bien un profil européen que tu utilises, mais néanmoins pas le meilleur, car son taux d'encrage est trop élevé. Si tu ne connais pas le profil qui sera utilisé par ton imprimeur, je te suggère d'utiliser le ISO Coated V2 300 % que tu peux trouver sur le site de l'European Color Intiative
    qu'est ce qu'il faudrait que je modifie ?
    Si tu disposes d'une version RVB de tes images, tu as tout intérêt à les utiliser dans ta compo InDesign. Sinon, c'est trop tard… Enfin, une conversion d'un profil CMJN vers un autre profil CMJN est une opération un peu délicate.

  • Erreur google maps api V3 onion.js

    Bonjour,
    Voila mon projet est d'afficher google maps dans un web browser dans labview apres des recherche sur intenet j'ai trouver des solutions. il y a donc un fichier HTML qui appelle google maps api et un javascript avec les fonctions.
    Bref j'ai reussi a faire marcher mon application tout fonctionné tres bien l'itineraire, l'ajout et la suppression de marker etc...
    Pour afficher google maps j'ai donc utiliser un webbrowser dans labview que j'ai creer avec un objet .NET containers dans lequel j'ai ajouter un .NET control qui est "System.windows.forms 4.0.0" et j'ai utiliser le control webbrowser.
    Donc tout ceci marcher pour le mieux jusque hier. lors de l'appelle du fichier HTML j'ai un erreur de script.... SAUF que suprise ce script ne vien pas de moi et du coup la map de s'affiche plus dans le webbrowser. L'erreur parle de la propriete display dans l'url "https://maps.gstatic.com/maps-api-v3/api/js/20/0/i​ntl/fr_ALL/onion.js"
    je vous joint le code d'erreur ainsi que mon code qui charge mon fichier html
    Pouvez vous donc m'aider a trouver comment resoudre cette erreur ou encore si quelqu'un la deja eu...
    Merci
    Cordialement Florian
    Pièces jointes :
    erreur_onionjs.PNG ‏13 KB
    code_webbrowser.PNG ‏22 KB

    Bonjour Florian,
    De la lecture de ta problématique je n'ai pas vraiment l'impression que l'erreur est provoquée par LabVIEW. Peux-tu tester ton exemple dans un autre environnement de programmation et voir si cela ne reproduit pas l'erreur? J'imagine que tu as du partir d'un exemple d'un autre langage avant de créer ton programme sous LabVIEW en utilisant les containers .NET?
    Bonne journée,
    M-Junior

  • ENREGISTREMENT PDF sous PHOTOSHOP CC

    Bonjour,
    voilà avant sur PHOTOSHOP CS6 j'avais un script pour enregistrer directement mon doc en PDF.
    Je l'ai migré sur CC mais là problème lors de l'ouverture du PDF sous ACROBAT PRO.
    Acrobat Pro m'indique le message "Mémoire insuffisante" mais si je l'ouvre dans aperçu sous mac nickel.
    Lorsque j'envoi le fichier à mon client idem pour lui.
    J'ai refait le script sous CC entièrement mais idem. Je paume mon latin.
    Auriez vous une idée sur ce problème ?
    Merci bien.

    Bonjour Patrice,
    Je ne connais pas le plugin mais comme pour tous les autres plugins, c'est vers le support l’éditeur du plugin que tu dois te tourner pour être certain que tu disposes de la dernière mise à jour compatible avec ton OS et la CC2014.
    Si le plugin comporte un installateur, par expérience, il vaut mieux l'utiliser plutôt que d'installer manuellement le plugin dans le dossier des Plug-ins.Photoshop.
    Bon Week-end.
    Andres

  • Erreur lors de la création de l'application

    Bonjour à tous,
    j'ai un petit soucis.
    j'ai corrigé un programme, qui a été développé sous Labview 2011 avec labview 2012.
    Au moment de re-créer mon application, j'ai un message d'erreur ( voir image jointe).
    j'ai donc enlever mes corrections, et re-essayer, mais j'ai toujours la même erreur.
    je suis sous Window XP.
    Quelqu'un peut-il m'aider ?
    Par avance merci
    Résolu !
    Accéder à la solution.
    Pièces jointes :
    Pb_application.JPG ‏85 KB

    re
    Si tu as activé le serveur ActiveX : ton application est serveur activeX
    Mais ton exe peut très bien piloter via activeX d'autres serveurs, sans être elle-même serveur. Donc cocher cette option, juste parceque tu pilotes des logiciels en ActiveX est une erreur.
    Donc la configuration du builder est (pour moi) juste.
    Enable ActiveX server—(Windows) Enables the ActiveX server so the application can respond to requests from ActiveX clients. The functionality of the ActiveX server in the application is a subset of the LabVIEW ActiveX server. When you build an application myapp.exe, Application Builder also creates an ActiveX type library myapp.tlb. The type library defines an application class and a virtual instrument class and exports both Application properties and methods and VI properties and methods. When you distribute the application, include the type library with the executable file. The name of the application that you enter in the ActiveX server name text box uniquely identifies the application in the system registry. After you build the application, run it at least once to enable registry with the system. After the application is registered, ActiveX clients access the server objects using progIDs. For example, if the ActiveX server name is myapp, clients instantiate an application object using the progID myapp.application. If you are packaging the application into an installer build specification, place a checkmark in the Register COM checkbox for the application file on the Source File Settings page of the Installer Propertiesdialog box so the installer registers the ActiveX server.
    Note  If you enable the ActiveX server, you must save the application build specification after you build the application for the first time.
    ActiveX server name—(Windows) Specifies the prefix of the progID for the application. This text box is enabled when you place a checkmark in the Enable ActiveX server checkbox.
    Luc Desruelle | Voir mon profil | LabVIEW Code & blog
    Co-auteur livre LabVIEW : Programmation et applications
    CLA : Certified LabVIEW Architect / Certifié Architecte LabVIEW
    CLD : Certified LabVIEW Developer / Certifié Développeur LabVIEW

  • Slanted rectangle behind text - any chance to automate the process?

    Hi there,
    I would like to create effect which you can see on this image:
    The black and orange rectangles behind the capitals. The source which is pictured above comes from professional studio. They put separate rectangle behind the textframe:
    Imagine, that you create a catalog of 500 products. Each product has one black and one color rectangle. There are 20 different color codes for the bottom rectangle (these rectangles vary a bit in length, depending on the size of the text above). I feel putting a square object to the bottom layer like a bit clumsy approach. It is like creating paragraph dividers by Line Tool. Could you recommend some more tidier way for this? I am almost sure, that I will put a thousand of those rectangles to the layout and the client will decide ( a day before print), that "the reversed skew would look more professional"…
    The best way for this would be a Paragraph rule, but — what a surprise — no chance to skew the ends.
    I tried to create the new stroke preset, but no skew options.
    I also skewed the line manually and try to create the Object Style from it. The skew was not inherited by the new Object Style.
    Do I really do this manually in the age of spaceflights, cellphones and even electric tea kettles?
    Thank you!

    Hi all,
    Marc Autret has confirmed me his OK to unveil this great code.
    AjustementMagique.jsx permits a horizontal "scaling", in particular for tables. It works fine with ID CS4 (a very little bug sometimes). Not tested with CS5.
    But ... it does not work under ID CS6, CC and CC 2014!
    Marc gives his blessing to the heroes who would wish to do the update! 
    Enjoy!
    /*      AjustementMagique pour InDesign CS / CS2 -- 18/01/06           */
    /*      version 2.1b (FR) -- auteur: Marc Autret                       */
    /*      Explications : http://marcautret.free.fr/geek/indd/magicfit/   */
    /*      Installation et Utilisation:                                   */
    /*      0) !! Pour InDesign CS2 seulement !!                           */
    /*         Renommez le present fichier avec l'extension .jsx           */
    /*         (afin d'activer les fonctions extend script)                */
    /*      1) Placer le present fichier dans le sous-dossier              */
    /*         Presets/Scripts/ de l'application InDesign                  */
    /*      2) Lancer InDesign, ouvrir un document et selectionner         */
    /*         le(s) elements(s) a ajuster: bloc(s), colonnes(s)           */
    /*         [a defaut, le script ajuste le conteneur du pt d'insertion] */
    /*      3) Executer le script par Fenetre>Scripts>Scripts              */
    /*         suivi d'un double-clic sur AjustementMagique.js             */
    /*         (ou affecter au script un raccourci-clavier via             */
    /*         Edition>Raccourcis-clavier>Zone:"scripts")                  */
    /*      4) Un second appel du script sous un delai de 2 secondes       */
    /*         optimise si c'est possible l'ajustement (mode "fluide")     */
    /*                  Feedbacks : [email protected]                     */
    // REGLAGES
    var LATENCE = 2; // en secondes (defaut: 2)
    var PRECISION = 0.5; // en points (defaut:0.5)
    var APP_INT_VERSION = parseInt(app.version);
    // UTILITAIRES
    /*void*/ function exitMessage(/*exception*/ ex)
    alert("Erreur:\n" + ex.toString());
    exit();
    // METHODES DE LA CLASSE DOCUMENT
    /*void*/ Document.prototype.setUnitsTo = function(/*units*/ newUnits)
    // units est soit une valeur simple (horiz=vert), soit un array(horizUnits, vertUnits)
    var arrUnits = (newUnits.length) ? newUnits : new Array(newUnits,newUnits);
    this.viewPreferences.horizontalMeasurementUnits = arrUnits[0];
    this.viewPreferences.verticalMeasurementUnits = arrUnits[1];
    /*arr2*/ Document.prototype.getUnits = function()
    return(Array(
      this.viewPreferences.horizontalMeasurementUnits,
      this.viewPreferences.verticalMeasurementUnits));
    /*bool*/ Document.prototype.withinDelay = function()
    if (this.label)
      return( (Date.parse(Date())-this.label) <= LATENCE*1000 );
    return(false);
    /*void*/ Document.prototype.storeTimeStamp = function()
    this.label = Date.parse(Date()).toString();
    // METHODES GENERIQUES (NIVEAU OBJECT)
    /*arr*/ Object.prototype.asObjsToFit = function()
    // Retourne le(s) "conteneur(s) ajustable(s)" associe(s) a THIS
    // Type de retour: array OU collection
    // NULL en cas d'echec
    switch(this.constructor.name)
      case "TextFrame" : // textframe -> singleton this
      return(Array(this));
      case "Cell" : // cells -> parent columns
      var r = new Array();
      // !! [CS1] Cell::parentColumn === Cell !!
      // !! [CS2] Cell::parentColumn === Column !!
      // !! [CS2] Cells::lastItem().parentColumn BUG !!
      var c0 = this.cells.firstItem().name.split(":")[0];
      var c1 = this.cells.lastItem().name.split(":")[0];
      for (var i=c0 ; i<=c1; i++)
      r.push(this.parent.columns[i]);
      return(r);
      case "Table" /*CS2*/ : // table -> columns
      return(this.columns);
      case "Group" : // group -> textFrames
      return((this.textFrames.length>0) ? this.textFrames : null);
      case "Text" : // Text ou InsertionPoint
      case "InsertionPoint" : // -> travailler sur le conteneur
      var textContainer = this.getTextContainer();
      return((textContainer) ? textContainer.asObjsToFit() : null);
      default:
      return(null);
    /*obj*/ Object.prototype.getTextContainer = function()
    // Renvoie le TextFrame ou la cellule (Cell) contenant THIS
    // (Text ou InsertionPoint)
    // NULL si echec
    try { // try...catch because of CS2 behaviour
      if (this.parent.constructor.name == "Cell")
      return(this.parent);
      if (this.parentTextFrames) // pluriel sous CS2
      return(this.parentTextFrames[0]);
      if (this.parentTextFrame) // sing. sous CS1
      return(this.parentTextFrame);
      return(null);
    catch(ex) {return(null);}
    /*int*/ Object.prototype.computeIncludedObjectsWidth = function()
    // Analyse les objets incorpores (tables, PageItems) pour extraire
    // la largeur maxi qu'ils occupent
    // Le tableau objsNames peut etre etendu pourvu que
    // l'objet ajoute fournisse une methode computeWidth()
    var objsNames = new Array("pageItems","tables");
    var objsWidth = 0;
    var w = 0;
    for (var j=objsNames.length-1 ; j>=0 ; j--)
      for (var i=this[objsNames[j]].length-1 ; i>=0 ; i--)
      try
      {w = this[objsNames[j]][i].computeWidth({VISIBLE:true});}
      catch(ex)
      {w=0;}
      if (w > objsWidth) objsWidth=w;
    return(objsWidth);
    /*int*/ Object.prototype.computeWidth = function(/*bool*/ VISIBLE)
    // Methode generique pour les composants possedant des Bounds
    // VISIBLE true -> largeur EXTERNE
    // VISIBLE false -> largeur INTERNE
    if (VISIBLE)
      if (this.visibleBounds)
      return(this.visibleBounds[3]-this.visibleBounds[1]);
    else
      if (this.geometricBounds)
      return(this.geometricBounds[3]-this.geometricBounds[1]);
    return(0);
    /*int*/ Table.prototype.computeWidth = function()
    // Specialise Object::computeWidth dans le cas d'une Table
    return(this.width);
    /*arr*/ Object.prototype.createLinesSizesArray = function()
    // Renvoie sous forme de tabeau la taille (en cars) des lignes de THIS
    // Tableau vide si this.lines==NULL  OU  this.lines.length==0
    r = new Array();
    if (this.lines)
      for (var i=this.lines.length-1; i>=0 ; i--)
      r.unshift(this.lines[i].characters.length);
    return(r);
    /*bool*/ Object.prototype.isoceleLines = function(/*arr*/ arrSizes)
    // Indique si THIS.lines[i].characters.length == arrSizes[i] pour tout i
    if (this.lines.length != arrSizes.length) return(false);
    for (var i=arrSizes.length-1 ; i>=0 ; i--)
      if (arrSizes[i] != this.lines[i].characters.length)
      return(false);
    return(true);
    // METHODES SPECIFIQUES A TEXTFRAME
    /*bool*/ TextFrame.prototype.isEmpty = function()
    return(this.characters.length==0);
    /*bool*/ TextFrame.prototype.isOverflowed = function()
    return(this.overflows);
    /*int*/ TextFrame.prototype.getWidth = function()
    return(this.computeWidth({VISIBLE:false}));
    /*void*/ TextFrame.prototype.resizeWidthBy = function(/*int*/ widthOffset)
    // Redimensionne la largeur de widthOffset (signe)
    this.geometricBounds = Array(
      this.geometricBounds[0],
      this.geometricBounds[1],
      this.geometricBounds[2],
      this.geometricBounds[3] + widthOffset);
    /*int*/ TextFrame.prototype.computeMinWidth = function()
    // Renvoie la largeur mini du bloc compte tenu des objets
    // incorpores et de l'espacement interne (inner space)
    var inSpace = this.textFramePreferences.insetSpacing;
    var inWidth = (inSpace.length) ?
      inSpace[1] + inSpace[3] : // inspace gauche et droit distincts
      2*inSpace; // inspace uniforme
    return(this.computeIncludedObjectsWidth() + inWidth);
    /*int*/ TextFrame.prototype.getCharsCount = function()
    return(this.characters.length);
    /*int*/ TextFrame.prototype.getLinesCount = function()
    return(this.lines.length);
    /*arr*/ TextFrame.prototype.getLinesSizes = function()
    return(this.createLinesSizesArray());
    /*int*/ TextFrame.prototype.preserveCharsCount = function(/*int*/ charsCount)
    // OUI -> -1  , NON -> 1
    return( (this.characters.length != charsCount) ? 1 : -1 );
    /*int*/ TextFrame.prototype.preserveLinesCount = function(/*int*/ linesCount)
    // Indique si:
    // - nb de chars = linesCount
    // - le bloc NE DEBORDE PAS
    // OUI -> -1  , NON -> 1
    return( ((this.overflows) || (this.lines.length != linesCount)) ? 1 : -1 );
    /*int*/ TextFrame.prototype.preserveLinesSizes = function(/*arr*/ linesSizes)
    // Indique si:
    // chaque ligne x est isocele a linesSizes[x]
    // YES -> -1  , NOT -> 1
    return( (this.isoceleLines(linesSizes)) ? -1 : 1 );
    // METHODES SPECIFIQUES A COLUMN
    /*bool*/ Column.prototype.isEmpty = function()
    for (var i=this.cells.length-1; i>=0 ; i--)
      if (this.cells[i].characters.length>0) return(false);
    return(true);
    /*bool*/ Column.prototype.isOverflowed = function()
    // Indique si au moins une cellule est saturee
    // !! ATTENTION: Column::overflows n'est pas fiable !!
    for (var i=this.cells.length-1 ; i>= 0 ; i--)
      if (this.cells[i].overflows) return(true);
    return(false);
    /*int*/ Column.prototype.getWidth = function()
    return(this.width);
    /*void*/ Column.prototype.resizeWidthBy = function(/*int*/ widthOffset)
    // Redimensionne la largeur de colonne de widthOffset (signe)
    // !! Il faut RAFRAICHIR l'affichage !!
    this.width += widthOffset;
    // rafraichissement
    if (APP_INT_VERSION > 3)
      // CS2+
      this.recompose();
    else
      // CS -- merci a Tilo pour ce hack --
      for(var i = this.cells.length - 1 ; i >= 0 ; i-- )
      // Ce test stupide provoque le rafraichissement!
      if (this.cells[i].contents == null) {}
    /*int*/ Column.prototype.computeMinWidth = function()
    // Renvoie la largeur mini de la colonne compte tenu des
    // objets incorpores et de l'espacement interne
    var iCell = null;
    var w = 0;
    var r = 0;
    for (var i=this.cells.length-1 ; i>= 0 ; i--)
      iCell = this.cells[i];
      w = iCell.computeIncludedObjectsWidth() +
      iCell.leftInset + iCell.rightInset;
      if (w > r) r = w;
    return(r);
    /*arr*/ Column.prototype.getCharsCount = function()
    // Renvoie (tableau) le nb de cars de chaque cellule
    // si la cellule est saturee, le nb de cars est signe negativement
    var r = new Array();
    var sgn = 0;
    for (var i=this.cells.length-1 ; i>= 0 ; i--)
      sgn = (this.cells[i].overflows) ? -1 : 1;
      r.unshift(sgn * this.cells[i].characters.length);
    return(r);
    /*arr*/ Column.prototype.getLinesCount = function()
    // Renvoie (tableau) le nb de lignes par cellules
    var r = new Array();
    for (var i=this.cells.length-1 ; i>= 0 ; i--)
      r.unshift(this.cells[i].lines.length);
    return(r);
    /*bi-arr*/ Column.prototype.getLinesSizes = function()
    // Renvoie le nb de chars par cellule et par ligne (matrice)
    var r = new Array();
    for (var i=this.cells.length-1 ; i>= 0 ; i--)
      r.unshift(this.cells[i].createLinesSizesArray());
    return(r);
    /*int*/ Column.prototype.preserveCharsCount = function(/*arr*/ charsCount)
    // Indique si:
    // le signe de debordement (overflow) de la cellule X egale sgn(charsCount[X])
    // OUI -> -1  , NON -> 1
    var sgn = 0;
    for (var i=this.cells.length-1 ; i>= 0 ; i--)
      sgn = (this.cells[i].overflows) ? -1 : 1;
      if (sgn * charsCount[i] < 0) return(1);
    return(-1);
    /*int*/ Column.prototype.preserveLinesCount = function(/*arr*/ linesCount)
    // Indique si:
    // - le compte de lignes de la cellule x egale linesCount[x]
    // - aucune cellule ne deborde
    // OUI -> -1  , NON -> 1
    for (var i=this.cells.length-1 ; i>= 0 ; i--)
      if (this.cells[i].overflows) return(1);
      if (this.cells[i].lines.length != linesCount[i]) return(1);
    return(-1);
    /*int*/ Column.prototype.preserveLinesSizes = function(/*bi-arr*/ linesSizes)
    // Indique si:
    // - dans chaque cellule x, chaque LIGNE y est isocele a linesSizes[x][y]
    // (si une cellule deborde, renvoie 1)
    // OUI -> -1  , NON -> 1
    for (var i=this.cells.length-1 ; i>= 0 ; i--)
      if (this.cells[i].overflows) return(1);
      if (this.cells[i].isoceleLines(linesSizes[i]) == false) return(1);
    return(-1);
    // METHODES CENTRALES
    /*void*/ Object.prototype.manageFit = function(/*bool*/ FLUIDFITTING)
    // !! Sous CS2, previent un crash sur les "grosses" selections multicolonnes !!
    // !! Thx to Tilo for this hack --
    if (APP_INT_VERSION>=4)
      $.gc();
    // ne rien faire si objet vide
    if (this.isEmpty()) return;
    // largeur mini a preserver
    var minWidth = this.computeMinWidth();
    // let's go!
    this.processFit(FLUIDFITTING, minWidth);
    /*void*/ Object.prototype.processFit = function(/*bool*/ FLUIDFITTING, /*int*/ minWidth)
    // Ajuste cet objet en largeur
    // FLUIDFITTING true -> methode fluide, sinon: methode stricte
    // minWidth fixe le seuil minimal
    if (FLUIDFITTING)
      { // AJUSTEMENT FLUIDE
      if (this.isOverflowed())
      { // NB : les cellules saturees sont "transparentes" (negligees)
      var charsCount = this.getCharsCount();
      var evalFlag = function(thisObj)
      {return(thisObj.preserveCharsCount(charsCount));}
      else
      var linesCount = this.getLinesCount();
      evalFlag = function(thisObj)
      {return(thisObj.preserveLinesCount(linesCount));}
    else
      { // AJUSTEMENT STRICT
       // NB : les colonnes contenant 1 cellule saturee sont inchangees
      if ((this.constructor.name=="Column") && (this.isOverflowed()))
      return;
      var linesSizes = this.getLinesSizes();
      var evalFlag = function(thisObj)
      {return(thisObj.preserveLinesSizes(linesSizes));}
    // BOUCLE DICHOTOMIQUE
    var sgnFLAG = -1;
    var w = ( this.getWidth() - minWidth ) / 2;
    while (w >= PRECISION)
      // redim la largeur de +/- w
      this.resizeWidthBy(sgnFLAG*w);
      // +1 = augmenter | -1 = reduire
      sgnFLAG = evalFlag(this);
      // diviser le segment
      w = w/2;
    // sortie avec sgnFLAG==+1 -> annuler la derniere reduction -> +2w
    if (sgnFLAG>0) this.resizeWidthBy(2*w);
    // PROGRAMME PRINCIPAL
    if ( app.documents.length > 0 )
      if ( app.activeWindow.selection.length > 0 )
      try {
      var thisDoc = app.activeDocument;
      var FLUIDFLAG = thisDoc.withinDelay();
      var memUnits = thisDoc.getUnits();
      thisDoc.setUnitsTo(MeasurementUnits.points);
      var selObjs = app.activeWindow.selection;
      var objsToFit = null;
      for (var i=selObjs.length-1 ; i>=0 ; i--)
      objsToFit = selObjs[i].asObjsToFit();
      if (objsToFit)
      for (var j=objsToFit.length-1 ; j>=0 ; j--)
      objsToFit[j].manageFit(FLUIDFLAG);
      thisDoc.setUnitsTo(memUnits);
      thisDoc.storeTimeStamp();
      catch(ex)
      thisDoc.setUnitsTo(memUnits);
      exitMessage(ex);
      else
      alert("Aucun objet n'est selectionne!");
    else
      alert("Aucun document n'est ouvert!");

  • Encoding problem with XSL

    Hi,
    I have problems when printing the result of processing XML with an XSL that contains locale specific chars.
    Here is a sample:
    XML :
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <ListePatients>
    <Patient>
    <Nom>Zeublouse</Nom>
    <NomMarital/>
    <Prinom>Agathe</Prinom>
    </Patient>
    <Patient>
    <Nom>Stick</Nom>
    <NomMarital>Laiboul</NomMarital>
    <Prinom>Ella</Prinom>
    </Patient>
    <Patient>
    <Nom>`ihnotvy</Nom>
    <NomMarital/>
    <Prinom>Jacques</Prinom>
    </Patient>
    </ListePatients>
    XSL :
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
    <xsl:output method="html"/>
    <xsl:template match="*|/"><xsl:apply-templates/></xsl:template>
    <xsl:template match="text()|@*"><xsl:value-of select="."/></xsl:template>
    <xsl:template match="/">
    <HTML>
    <HEAD>
    <META http-equiv='Content-Type' content='text/html; charset=iso-8859-1'/>
    <TITLE>Liste de patients</TITLE>
    </HEAD>
    <BODY>
    <xsl:apply-templates select='ListePatients'/>
    </BODY>
    </HTML>
    </xsl:template>
    <xsl:template match='ListePatients'>
    <TABLE>
    <xsl:for-each select='Patient'>
    <xsl:sort select='Nom' order='ascending' data-type='text'/>
    <TR TITLE='`ihnotvy'>
    <TD> <xsl:value-of select='Nom'/> </TD>
    <TD> <xsl:value-of select='NomMarital'/> </TD>
    <TD> <xsl:value-of select='Prinom'/> </TD>
    </TR>
    </xsl:for-each>
    </TABLE>
    </xsl:template>
    </xsl:stylesheet>
    Test program (from Oracle sample) :
    import java.net.URL;
    import java.io.*;
    import oracle.xml.parser.v2.DOMParser;
    import oracle.xml.parser.v2.XMLDocument;
    import oracle.xml.parser.v2.XMLDocumentFragment;
    import oracle.xml.parser.v2.XSLStylesheet;
    import oracle.xml.parser.v2.XSLProcessor;
    public class XSLSampleOTN
    * Transforms an xml document using a stylesheet
    * @param args input xml and xml documents
    public static void main (String args[]) throws Exception
    DOMParser parser;
    XMLDocument xmldoc, xsldoc, out;
    URL xslURL;
    URL xmlURL;
    try
    if (args.length != 2)
    // Must pass in the names of the XSL and XML files
    System.err.println("Usage: java XSLSampleOTN xslfile xmlfile");
    System.exit(1);
    // Parse xsl and xml documents
    parser = new DOMParser();
    parser.setPreserveWhitespace(true);
    // parser input XSL file
    xslURL = DemoUtil.createURL(args[0]);
    parser.parse(xslURL);
    xsldoc = parser.getDocument();
    // parser input XML file
    xmlURL = DemoUtil.createURL(args[1]);
    parser.parse(xmlURL);
    xmldoc = parser.getDocument();
    // instantiate a stylesheet
    XSLStylesheet xslSS = new XSLStylesheet(xsldoc, xslURL);
    XSLProcessor processor = new XSLProcessor();
    // display any warnings that may occur
    processor.showWarnings(true);
    processor.setErrorStream(System.err);
    // Process XSL
    XMLDocumentFragment result = processor.processXSL(xslSS, xmldoc);
    // print the transformed document
    result.print(System.out);
    // an other way to print, it doesn't print the same !!!!
    processor.processXSL(xslSS, xmldoc, System.out);
    catch (Exception e)
    e.printStackTrace();
    When printing the transformed document with DocumentFragment.print() it work fine but when using processXSL(xslSS, xmldoc, System.out) it don't works for locale specific chars and a second <META> balise appears, Why ?
    with DocumentFragment.print(), it's Ok :
    <HTML>
    <HEAD>
    <META http-equiv="Content-Type"
    content="text/html; charset=iso-8859-1"/>
    <TITLE>Liste de patients</TITLE>
    </HEAD>
    <BODY>
    <TABLE>
    <TR TITLE="`ihnotvy">
    <TD>`ihnotvy</TD>
    <TD/>
    <TD>Jacques</TD>
    </TR >
    <TR TITLE="`ihnotvy">
    <TD>Stick</TD>
    <TD>Laiboul</TD>
    <TD>Ella</TD>
    </TR>
    <TR TITLE="`ihnotvy">
    <TD>Zeublouse
    </TD>
    <TD/>
    <TD>Agathe</TD>
    </TR>
    </TABLE>
    </BODY>
    </HTML>
    With processXSL(xslSS, xmldoc, System.out), it's not Ok :
    <HTML>
    <HEAD>
    <META http-equiv="Content-Type" content="text/html">
    <META http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <TITLE>Liste de patients</TITLE>
    </HEAD>
    <BODY>
    <TABLE>
    <TR TITLE="C C)C(C.C/C4C6C9">
    <TD>C C)C(C.C/C4C6C9</TD>
    <TD></TD>
    <TD>Jacques</TD>
    </TR>
    <TR TITLE="C C)C(C.C/C4C6C9">
    <TD>Stick</TD>
    <TD>Laiboul</TD>
    <TD>Ella</TD>
    </TR>
    <TR TITLE="C C)C(C.C/C4C6C9">
    <TD>Zeublouse</TD>
    <TD></TD>
    <TD>Agathe</TD>
    </TR>
    </TABLE>
    </BODY>
    </HTML>
    TIA
    Didier
    null

    Two other problems with XSL and print:
    first one :
    XSL :
    <SCRIPT langage="Javascript" type="text/javascript" src="scripts/erreur.js"></SCRIPT>
    DocumentFragment.print() produce :
    <SCRIPT langage="Javascript" type="text/javascript" src="scripts/erreur.js"/>
    => IE5.5 don't load the file !!, it required syntaxe like <SCRIPT ...></SCRIPT> to load.
    the second one :
    XSL:
    <TD><IMG src="images/menuleft.gif"/></TD>
    DocumentFragment.print() produce :
    <TD>
    <IMG src="images/menuleft.gif">
    </TD>
    processXSL(xslSS, xmldoc, System.out) produce :
    <TD><IMG src="images/menuleft.gif">
    </TD>
    Why a cariage return ?? it cause prisentation failure when you want to specifie the size off the cell !!
    TIA
    Didier
    null

  • [JS] app.menuActions on XMLElement

    Hi,
    I'm trying to apply italics using xml rules and this method : http://forums.adobe.com/thread/744713
    function Italique() {
         this.name = "Italique";
         this.xpath = "//hi[@rend='italic']";
         this.apply = function(myElement, myRuleProcessor){
              with(myElement){
                   app.select(myElement);
                   app.menuActions.itemByID(119611).invoke();
              return true;
    myElement is an XMLElement who contains exactly what I want but at :
    app.menuActions.itemByID(119611).invoke();
    a javascript error occurs : n° 54 at line 78 of the "glue code.jsx" file.
    "Exception Javascript non interceptée : Erreur : Le script n'est pas activé"
    In English : the script isn't activated.
    I don't know what to do.
    Help me please!

    Hi,
    I figured it out by myself : I wasn't selecting the good object.
    With
    myElement.texts.item(0).select();it works fine!

  • Importing file names

    I want to create an inventory spreadsheet of my artwork jpeg files.
    How do I import into Numbers just the file names of a folder full of jpg files?
    I would like the file name to be one column and the extension another column because I also have .mov and .pdf files and would like to sort them later.
    Thanks

    Here is a script doing the entire trick.
    --[SCRIPT insertFolderContents]
    Enregistrer le script en tant que Script : insertFolderContents.scpt
    déplacer le fichier ainsi créé dans le dossier
    <VolumeDeDémarrage>:Users:<votreCompte>:Library:Scripts:Applications:Numbers:
    Il vous faudra peut-être créer le dossier Numbers et peut-être même le dossier Applications.
    Sélectionner la cellule où devra être inséré le premier nom de fichier.
    menu Scripts > Numbers > insertFolderContents
    Naviguer jusqu'au dossier à examiner.
    Les noms de fichiers et leurs éventuelles extensions sont collées dans la table.
    Rien n'est collé si le dossier est vide.
    Il est également possible d'enregistrer le script sous forme de Progiciel (Application sous 10.6).
    Dans ce cas il peut être activé par un double clic ou par glisser-déposé d'un dossier sur son icône.
    --=====
    L'aide du Finder explique:
    L'Utilitaire AppleScript permet d'activer le Menu des scripts :
    Ouvrez l'Utilitaire AppleScript situé dans le dossier Applications/AppleScript.
    Cochez la case "Afficher le menu des scripts dans la barre de menus".
    --=====
    Save the script as a Script: insertFolderContents.scpt
    Move the newly created file into the folder:
    <startup Volume>:Users:<yourAccount>:Library:Scripts:Applications:Numbers:
    Maybe you would have to create the folder Numbers and even the folder Applications by yourself.
    Select the cell where filenames must be inserted.
    menu Scripts > Numbers > insertFolderContents
    Navigate to the folder to scan.
    The file names and the extension names (if they exist) are pasted in the table.
    If the folder is empty, nothing is pasted.
    Alternatively, the script may be saved as an Application package (Application under 10.6).
    In this case, it may be triggered by double click on by drag & drop of a folder on its icon.
    --=====
    The Finder's Help explains:
    To make the Script menu appear:
    Open the AppleScript utility located in Applications/AppleScript.
    Select the "Show Script Menu in menu bar" checkbox.
    --=====
    Yvan KOENIG (VALLAURIS, France)
    2010/04/18
    --=====
    on run
    set dossier to choose folder
    --tell application "System Events" to set dossier to choose folder
    dans un bloc System Events pour avoir un titre de dialogue "localisé"
    • in a System Events block to get a localized dialog title. *)
    my main({dossier})
    end run
    --=====
    on open sel
    my main(sel)
    end open
    --=====
    on main(sel)
    my activateGUIscripting()
    set {dName, sName, tName, rname, rowNum1, colNum1, rowNum2, colNum2} to my getSelParams()
    set dossier to quoted form of POSIX path of (item 1 of sel as text)
    set lesNoms to paragraphs of (do shell script "ls " & dossier)
    if lesNoms is not {} then
    repeat with i from 1 to count of lesNoms
    set n to item i of lesNoms
    if n contains "." then
    set item i of lesNoms to n & tab & last item of my decoupe(n, ".")
    end if
    end repeat
    set the clipboard to my recolle(lesNoms, return)
    my shortcut("Numbers", "v", "cas")
    end if
    end main
    --=====
    set { dName, sName, tName, rname, rowNum1, colNum1, rowNum2, colNum2} to my getSelParams()
    on getSelParams()
    local r_Name, t_Name, s_Name, d_Name, col_Num1, row_Num1, col_Num2, row_Num2
    set {d_Name, s_Name, t_Name, r_Name} to my getSelection()
    if r_Name is missing value then
    if my parleAnglais() then
    error "No selected cells"
    else
    error "Il n'y a pas de cellule sélectionnée !"
    end if
    end if
    set two_Names to my decoupe(r_Name, ":")
    set {row_Num1, col_Num1} to my decipher(item 1 of two_Names, d_Name, s_Name, t_Name)
    if item 2 of two_Names = item 1 of two_Names then
    set {row_Num2, col_Num2} to {row_Num1, col_Num1}
    else
    set {row_Num2, col_Num2} to my decipher(item 2 of two_Names, d_Name, s_Name, t_Name)
    end if
    return {d_Name, s_Name, t_Name, r_Name, row_Num1, col_Num1, row_Num2, col_Num2}
    end getSelParams
    --=====
    set {rowNumber, columnNumber} to my decipher(cellRef,docName,sheetName,tableName)
    apply to named row or named column !
    on decipher(n, d, s, t)
    tell application "Numbers" to tell document d to tell sheet s to tell table t to return {address of row of cell n, address of column of cell n}
    end decipher
    --=====
    set { d_Name, s_Name, t_Name, r_Name} to my getSelection()
    on getSelection()
    local _, theRange, theTable, theSheet, theDoc, errMsg, errNum
    tell application "Numbers" to tell document 1
    repeat with i from 1 to the count of sheets
    tell sheet i
    set x to the count of tables
    if x > 0 then
    repeat with y from 1 to x
    try
    (selection range of table y) as text
    on error errMsg number errNum
    set {_, theRange, _, theTable, _, theSheet, _, theDoc} to my decoupe(errMsg, quote)
    return {theDoc, theSheet, theTable, theRange}
    end try
    end repeat -- y
    end if -- x>0
    end tell -- sheet
    end repeat -- i
    end tell -- document
    return {missing value, missing value, missing value, missing value}
    end getSelection
    --=====
    on parleAnglais()
    local z
    try
    tell application "Numbers" to set z to localized string "Cancel"
    on error
    set z to "Cancel"
    end try
    return (z is not "Annuler")
    end parleAnglais
    --=====
    on decoupe(t, d)
    local l
    set AppleScript's text item delimiters to d
    set l to text items of t
    set AppleScript's text item delimiters to ""
    return l
    end decoupe
    --=====
    on recolle(l, d)
    local t
    set AppleScript's text item delimiters to d
    set t to l as text
    set AppleScript's text item delimiters to ""
    return t
    end recolle
    --=====
    on activateGUIscripting()
    tell application "System Events"
    if not (UI elements enabled) then set (UI elements enabled) to true (* to be sure than GUI scripting will be active *)
    end tell
    end activateGUIscripting
    --=====
    ==== Uses GUIscripting ====
    This handler may be used to 'type' text, invisible characters if the third parameter is an empty string.
    It may be used to 'type' keyboard shortcuts if the third parameter describe the required modifier keys.
    on shortcut(a, t, d)
    local k
    tell application a to activate
    tell application "System Events" to tell application process a
    set frontmost to true
    try
    t * 1
    if d is "" then
    key code t
    else if d is "c" then
    key code t using {command down}
    else if d is "a" then
    key code t using {option down}
    else if d is "k" then
    key code t using {control down}
    else if d is "s" then
    key code t using {shift down}
    else if d is in {"ac", "ca"} then
    key code t using {command down, option down}
    else if d is in {"as", "sa"} then
    key code t using {shift down, option down}
    else if d is in {"sc", "cs"} then
    key code t using {command down, shift down}
    else if d is in {"kc", "ck"} then
    key code t using {command down, control down}
    else if d is in {"ks", "sk"} then
    key code t using {shift down, control down}
    else if (d contains "c") and (d contains "s") and d contains "k" then
    key code t using {command down, shift down, control down}
    else if (d contains "c") and (d contains "s") and d contains "a" then
    key code t using {command down, shift down, option down}
    end if
    on error
    repeat with k in t
    if d is "" then
    keystroke (k as text)
    else if d is "c" then
    keystroke (k as text) using {command down}
    else if d is "a" then
    keystroke k using {option down}
    else if d is "k" then
    keystroke (k as text) using {control down}
    else if d is "s" then
    keystroke k using {shift down}
    else if d is in {"ac", "ca"} then
    keystroke (k as text) using {command down, option down}
    else if d is in {"as", "sa"} then
    keystroke (k as text) using {shift down, option down}
    else if d is in {"sc", "cs"} then
    keystroke (k as text) using {command down, shift down}
    else if d is in {"kc", "ck"} then
    keystroke (k as text) using {command down, control down}
    else if d is in {"ks", "sk"} then
    keystroke (k as text) using {shift down, control down}
    else if (d contains "c") and (d contains "s") and d contains "k" then
    keystroke (k as text) using {command down, shift down, control down}
    else if (d contains "c") and (d contains "s") and d contains "a" then
    keystroke (k as text) using {command down, shift down, option down}
    end if
    end repeat
    end try
    end tell
    end shortcut
    --=====
    --[/SCRIPT]
    Yvan KOENIG (VALLAURIS, France) dimanche 18 avril 2010 11:08:09

  • LabVIEW et logiciels statistiques (R, Scilab, Matlab, ...)

    Bonjour,
    Nous avons développé des applications mêlant des acquisitions et des calculs statistiques. Les acquisitions et les calculs sont pseudo-temps réel (acquisition/analyse/sauvegarde/affichage en moins d'une seconde).
    Jusqu'à présent, nous passons par une DLL C mais nous aimerions utiliser un logiciel "stat" pour simplifier nos futurs travaux.
    Nous avons entendu parlé du logiciel R. Est-ce possible de lancer un script sous R via LabVIEW et de récupérer les résultats des calculs dans l'appli LabVIEW?
    Si oui, comment et est-ce assez rapide?
    Sinon, avez-vous déjà utilisé Scilab et/ou MatLAB? Qu'en pensez-vous?
    Merci pour votre aide.

    Bonjour,
    Merci pour cette réponse.
    Nous n'aimons pas trop ActiveX car il est un peu trop "Microsoft dépendant". Nous avons eu déjà des problèmes avec une de nos applis en changeant de Word (par exemple): le service informatique ne demande pas notre accord pour installer telles ou telles mises à jour sur un poste...
    Pour le script (Matlab, Scilab), nous avons effectivement vu ces techniques mais cela ne convient pas à l'usage que nous voulons en faire, à savoir:
    - nous recherchons puis validons un protocole statistique avec un logiciel "spécialisé" et plus adapté
    - nous intégrons ces calculs statistiques dans notre appli LabVIEW en minimisant leur requalification.
    En important un script dans un code LabVIEW, rien ne garantit que personne n'a touché par mégarde au code Matlab/Scilab donc nous sommes obligés de revalider les calculs statistiques une fois le programme LV terminé.
    Avec un code compilé, nous pouvons garantir que le code statistique, une fois validé, ne peut être modifié. D'autre part, cela nous permettrait de corriger/modifier éventuellement les calculs sans avoir à requalifier toute l'appli.
    Nous voulons bien "séparer" les 2 parties pour:
    1 - minimiser les étapes de qualification
    2 - simplifier les mises à jour
    Nous cherchons donc un logiciel statistique qui puisse générer un code compilé ou utiliser un protocole de com compatible avec LabVIEW. Nous connaissons bien LabVIEW et ses possibilités mais au niveau logiciel mathématique compatible, nous n'y connaissons rien.
    Des statisticiens nous ont parlé de R mais n'étant pas des programmateurs ni des experts R, ils ne pouvaient pas nous dire s'il pouvait générer des codes compilés et/ou "dialoguer" avec LabVIEW.
    Matlab pourrait, nous a-t-on dit, générer des DLL/EXE mais de là à pouvoir les exploiter sous LabVIEW, nous n'en savons rien.
    Nous continuons à chercher. Encore merci.

  • Applescripts & automation tasks: Pages '09 + PDFs

    I've been searching for an answer to this for quite some time. I've searched discussions and everything on all these mac forum websites...
    Hopefully someone that has knowledge with automator or scripts or command line will have an answer for me...
    I have an 80-some odd page pdf that contains a conflation of several organic chemistry lectures that were important throughout the semester. Due to the fact that I am a student, poor as can be, I cannot spend my money on Adobe acrobat (unless someone has $150-200 they would like to send me). If you've been in my situation before, _*you know don't have the time*_ to sit at your computer and copy, PAGE BY PAGE, the thumbnails in Preview.app into the said Pages.app or Word.app document (or .jpeg, png, etc...). I plan on using the 80-some page lecture (already in pdf form) as a background for each succeeding document page either in Pages.app or Word.app. This will make it extremely easy for me to free-write, annotate and make links within the document as I please.
    Yes, I do realize that it is entirely possible to do some of these annotations in Preview.app but I assure you, this would be a lot easier to present or review if I could add these pdf pages as backgrounds in a pages/word.app document. I do not have the original powerpoints these came from.
    (Oh, I apologize if I sound redundant; I'm just trying to articulate my issue by the best means possible to avoid confusion... even though - I'm sure I did)

    I tested pdfsam-2.0.0 under 10.6.3.
    The app evolved to version 2.2.0 but this version is not online at this time and only the very old 1.2.0 is reachable.
    So I uploaded temporarily version 2.0 on my iDisk :
    <http://public.me.com/koenigyvan>
    Download :
    pdfsam-2.0.0.app.dmg.zip
    Under 10.5, look at :
    http://gephi.org/users/install-java-6-mac-os-x-leopard/
    to learn how to activate the required java 6 (but it would perhaps be easier to use the PDFLab app)
    This app did its job flawlessly.
    For me, the boring point was to understand the way to use the tool.
    So, now that I was able to do, I will try to explain.
    Of course,
    step 1 : print or export the Pages document in a PDF file.
    step 2 : create a folder in which will be stored the splitted pages.
    step 3 : run pdfsam
    step 4 : click the 'button' split
    step 5 : click the button Add
    navigate to the PDF file to split
    step 6 : click the buttons _Choose a folder_ and Browse
    navigate to the destination folder
    step 7 : click the button Run
    Let's do it .
    When the task is finished, use this script :
    --[SCRIPT pdfs2Pages]
    Enregistrer le script en tant que Script : pdfs2Pages.scpt
    déplacer le fichier ainsi créé dans le dossier
    <VolumeDeDémarrage>:Users:<votreCompte>:Library:Scripts:Applications:Numbers:
    Il vous faudra peut-être créer le dossier Numbers et peut-être même le dossier Applications.
    menu Scripts > Numbers > pdfs2Pages
    Naviguer jusqu'au dossier contenant les pages PDFs à insérer.
    Il est également possible d'enregistrer le script sous forme de Progiciel (Application sous 10.6).
    Dans ce cas il peut être activé par un double clic ou par glisser-déposé d'un dossier sur son icône.
    --=====
    L'aide du Finder explique:
    L'Utilitaire AppleScript permet d'activer le Menu des scripts :
    Ouvrez l'Utilitaire AppleScript situé dans le dossier Applications/AppleScript.
    Cochez la case "Afficher le menu des scripts dans la barre de menus".
    --=====
    Save the script as a Script: pdfs2Pages.scpt
    Move the newly created file into the folder:
    <startup Volume>:Users:<yourAccount>:Library:Scripts:Applications:Numbers:
    Maybe you would have to create the folder Numbers and even the folder Applications by yourself.
    menu Scripts > Numbers > pdfs2Pages
    Navigate to the folder containing the PDFs pages to insert.
    Alternatively, the script may be saved as an Application package (Application under 10.6).
    In this case, it may be triggered by double click on by drag & drop of a folder on its icon.
    --=====
    The Finder's Help explains:
    To make the Script menu appear:
    Open the AppleScript utility located in Applications/AppleScript.
    Select the "Show Script Menu in menu bar" checkbox.
    --=====
    Yvan KOENIG (VALLAURIS, France)
    2010/04/19
    --=====
    on run
    set dossier to choose folder "Choose a folder containing PDFs files"
    my main(dossier)
    end run
    --=====
    on open sel
    my main(item 1 of sel as alias)
    end open
    --=====
    on main(theFolder)
    my activateGUIscripting()
    set pagesDoc to my makeAnIworkDoc("Pages")
    tell application "Finder"
    open folder theFolder
    set ref1 to a reference to window 1
    tell ref1
    set lesIcones to get items
    repeat with i from 1 to count of lesIcones
    if my getTypeId((item i of lesIcones) as alias) is "com.adobe.pdf" then
    select item i of lesIcones
    my copyPaste2Pages(pagesDoc)
    end if
    end repeat
    end tell
    end tell
    end main
    --=====
    on copyPaste2Pages(d)
    my shortcut("Finder", "c", "c") (* Copy *)
    my shortcut("Pages", "v", "c") (* Paste *)
    tell application "Pages" to tell document d to insert page break of body text
    end copyPaste2Pages
    --=====
    on getTypeId(f)
    set t_id to type identifier of (info for f)
    return t_id
    end getTypeId
    --=====
    Creates a new iWork document from the Blank template and returns its name.
    example:
    set myNewDoc to my makeAnIworkDoc(theApp)
    on makeAnIworkDoc(theApp)
    local t, n
    if theApp is "Pages" then
    set t to ((path to applications folder as text) & "iWork '09:Pages.app:Contents:Resources:Templates:Blank.template:") as alias
    else if theApp is "Numbers" then
    set t to ((path to applications folder as text) & "iWork '09:Numbers.app:Contents:Resources:Templates:Blank.nmbtemplate:") as alias
    else
    if my parleAnglais(theApp) then
    error "The application “" & a & "“ is not accepted !"
    else
    error "l’application « " & a & " » n’est pas gérée !"
    end if
    end if
    tell application theApp
    set n to count of documents
    open t
    repeat
    if (count of documents) > n then
    exit repeat
    else
    delay 0.1
    end if
    end repeat
    set n to name of document 1
    end tell -- theApp
    return n
    end makeAnIworkDoc
    --=====
    on activateGUIscripting()
    tell application "System Events"
    if not (UI elements enabled) then set (UI elements enabled) to true (* to be sure than GUI scripting will be active *)
    end tell
    end activateGUIscripting
    --=====
    ==== Uses GUIscripting ====
    This handler may be used to 'type' text, invisible characters if the third parameter is an empty string.
    It may be used to 'type' keyboard shortcuts if the third parameter describe the required modifier keys.
    on shortcut(a, t, d)
    local k
    tell application a to activate
    tell application "System Events" to tell application process a
    set frontmost to true
    try
    t * 1
    if d is "" then
    key code t
    else if d is "c" then
    key code t using {command down}
    else if d is "a" then
    key code t using {option down}
    else if d is "k" then
    key code t using {control down}
    else if d is "s" then
    key code t using {shift down}
    else if d is in {"ac", "ca"} then
    key code t using {command down, option down}
    else if d is in {"as", "sa"} then
    key code t using {shift down, option down}
    else if d is in {"sc", "cs"} then
    key code t using {command down, shift down}
    else if d is in {"kc", "ck"} then
    key code t using {command down, control down}
    else if d is in {"ks", "sk"} then
    key code t using {shift down, control down}
    else if (d contains "c") and (d contains "s") and d contains "k" then
    key code t using {command down, shift down, control down}
    else if (d contains "c") and (d contains "s") and d contains "a" then
    key code t using {command down, shift down, option down}
    end if
    on error
    repeat with k in t
    if d is "" then
    keystroke (k as text)
    else if d is "c" then
    keystroke (k as text) using {command down}
    else if d is "a" then
    keystroke k using {option down}
    else if d is "k" then
    keystroke (k as text) using {control down}
    else if d is "s" then
    keystroke k using {shift down}
    else if d is in {"ac", "ca"} then
    keystroke (k as text) using {command down, option down}
    else if d is in {"as", "sa"} then
    keystroke (k as text) using {shift down, option down}
    else if d is in {"sc", "cs"} then
    keystroke (k as text) using {command down, shift down}
    else if d is in {"kc", "ck"} then
    keystroke (k as text) using {command down, control down}
    else if d is in {"ks", "sk"} then
    keystroke (k as text) using {shift down, control down}
    else if (d contains "c") and (d contains "s") and d contains "k" then
    keystroke (k as text) using {command down, shift down, control down}
    else if (d contains "c") and (d contains "s") and d contains "a" then
    keystroke (k as text) using {command down, shift down, option down}
    end if
    end repeat
    end try
    end tell
    end shortcut
    --=====
    --[/SCRIPT]
    As with most of my scripts, explanations are given at the beginning in French then in English.
    Yvan KOENIG (VALLAURIS, France) lundi 19 avril 2010 15:45:58

  • Erreur lors de la création d'un executable sous LabVIEW SP1

    Bonjour,
    Je travaille actuellement sur un projet relativement imposant sous LabVIEW 2010 SP1.
    Le projet étant assez imposant,j'ai voulu en faire un exécutable.
    J'ai alors la fenêtre suivante qui apparaît (voir piéce jointe):
    "Une erreur est survenue lors de l'appel de l'éditeur des régles de construction. Veuillez vérifier si les VIs sont brisés dans le répertoire du gestionnaire correspondant."
    Mon Vi fonctionne trés bien lorsque je l'éxecute, donc je ne comprends pas. De plus j'ai déja créer d'autres exécutables sans probléme jusqu'a présent.
    Quelqu'un aurait-il une idée pour solutionner ce probleme?
    Merci d'avance.
    Résolu !
    Accéder à la solution.
    Pièces jointes :
    erreur.JPG ‏11 KB

    @Ramses:
    Je pense que Julien utilise une option du menu Outils (je ne sais plus son nom, et elle n'apparait pas sur mon PC car je n'ai pas l'application builder), qui permet de préparer son VI pour un exécutable. A ce moment, cela va créer automatiquement un projet avec une spécification de construction.
    Cependant, je suis de l'avis de Ramses. Il est préférable de se créer son projet et de travailler dedans, puis de créer les spécifications de construction par la suite...
    Et désolé, mais je n'ai pas d'explication à votre problème, à part éventuellement des dépendances particulières. Lorsque vous ouvrez votre VI, LabVIEW vous demande-t-il de charger des fichiers particuliers?
    Cordialement
    Olivier L. | Certified LabVIEW Developer

  • Messzge d'erreur  lors du chargement d'Adobe Player sous windows 7Erreur lors de l'application du programme correctif au fichier C : \ Config.Msi\PTF6DD.tmp.

    Lors du chargement d'Adobe Player  sous Windows 7 le chargement se fait jusqu'à 97% et affiche le message d'erreur suivant: Erreur lors de l’application du programme correctif au fichier C : \ Config.Msi\PTF6DD.tmp. Il a sans doute été mis à jour de manière différente et ne peut plus être modifié par ce programme correctif. Pour obtenir des informations complémentaires, contactez le revendeur de votre programme correctif. Que faut-il faire.

    Uninstall using http://labs.adobe.com/downloads/acrobatcleaner.html
    then reinstall from http://get.adobe.com/reader/enterprise/

  • Bonjour, j'ai enregistré un fichier sous photoshop CS5 extended . impossible de l'ouvrir ensuite. j'ai un message d'erreur : on m'indique que la version n'est pas la bonne pour lire le fichier. Je n'ai fait aucune MAJ sur photoshop pourtant . je suis sur

    Bonjour, j'ai enregfistré un fichier sous photoshop CS5 extended . impossible de l'ouvrir ensuite. j'ai un message d'erreur : on m'indique que la version n'est pas la bonne pour lire le fichier. Je n'ai fait aucune MAJ sur photoshop pourtant . je suis sur Pc et je m'arrache les cheveux. Merci de m'aider 

    Avez-vous la possibilité de partager ce fichier (s'il est lourd, via wetransfer / Dropbox, Adobe Send now…) ?

  • J'ai un message d'erreur: Impossible d'enregistrer "Sans titre-2 sous un nouveau nom. Le fichier "DBTmp9264992478591057" est endommagé (code erreur 3)

    Bonjour,
    J'ai un message d'erreur: Impossible d'enregistrer "Sans titre-2 sous un nouveau nom. Le fichier "DBTmp9264992478591057" est endommagé (code erreur 3)

    Bonjour.
    De quel logiciel parlez-vous ?
    Sur quel support essayez-vous d'enregistrer (réseau ? clé USB ? …)

Maybe you are looking for

  • SQL Help -- Need help with pivoting the columns to rows

    I have a requierement to split the columns into multiple rows. For example: EMP_DEPT rowid empid1 ename1 dept1 empid2 ename2 dep2 empid2 ename2      dep3 empid4 ename4 dept4 100001 1 'SCOTT' 10 2 'DAVE' 20 3 'MILLER'     10 4 SMITH 20 100002 1 'SCOTT

  • Busy wheel in organizer and editor

    I am running PSE 13 and am having a problem that the coloured busy wheel seems to take forever between tasks.  I am shooting in raw, select a photo in organizer, convert to editor so I can process the raw file, then convert fro a jpeg for a photo boo

  • No Text being written to burnt CD's

    I have just burnt a CD and I selected to have the CD text included, but when I play the CD with any other software packeage, it doesent show the titles of the songs, I just get Track01, Track02 etc etc. Is there any way I can get the titles of the so

  • JCA Adapter for mail servers

    We are trying to write a JCA adpater to connect to a mail server. Can anybody please forward any links pertaining to this? Also how do we test an adapter in JDev? And does Jdev provide for any help in developing a JCA adapter? Thanks in advance.

  • Human task flow validation

    Hi, how can I do validation before user can do an action on my task. for example when user click on "accept" i want that do a validation to see whether the payload is set correctly or not. Thanks