SHERLOCK 7. Version 1.2.0 du 01/09/09 JAVASCRIPT 1.5

Documents pareils
TP 1. Prise en main du langage Python

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

Programmer en JAVA. par Tama

Rappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme

Présentation du langage et premières fonctions

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

TP1 : Initiation à Java et Eclipse

Serveur d'application Client HTML/JS. Apache Thrift Bootcamp

Chapitre 2 Devine mon nombre!

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère

Initiation à la programmation en Python

HMI target Visu / PLC HMI. Pour réaliser une interface homme machine avec PLC control

Programmation VBA/Excel. Programmation VBA. Pierre BONNET. Masters SMaRT & GSI - Supervision Industrielle P. Bonnet

Bernard HAMM, Évelyne LAVOISIER

Chapitre 2. Classes et objets

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java

Algorithmique et Programmation, IMA

Serveur Acronis Backup & Recovery 10 pour Linux. Update 5. Guide d'installation

Introduction à MATLAB R

INF 321 : mémento de la syntaxe de Java

Un ordonnanceur stupide

I. Introduction aux fonctions : les fonctions standards

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars

CONCOURS DE L AGRÉGATION INTERNE «ÉCONOMIE ET GESTION» SESSION 2015 SECONDE ÉPREUVE

.NET - Classe de Log

RMI le langage Java XII-1 JMF

HP Data Protector Express Software - Tutoriel 4. Utilisation de Quick Access Control (Windows uniquement)

Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, , ISBN :

Procédures Stockées WAVESOFT ws_sp_getidtable Exemple : ws_sp_getnextsouche Exemple :... 12

INF2015 Développement de logiciels dans un environnement Agile. Examen intra 20 février :30 à 20:30

Corrigé des exercices sur les références

Séance 0 : Linux + Octave : le compromis idéal

Seance 2: En respectant la méthode de programmation par contrat, implémentez les autres fonctions de jeu.

Microsoft OSQL OSQL ou l'outil de base pour gérer SQL Server

1. Introduction Création d'une macro autonome Exécuter la macro pas à pas Modifier une macro... 5

Java DataBaseConnectivity

Cours intensif Java. 1er cours: de C à Java. Enrica DUCHI LIAFA, Paris 7. Septembre Enrica.Duchi@liafa.jussieu.fr

Initiation à LabView : Les exemples d applications :

Documentation Cobian

Programmation Objet - Cours II

Programmation Web. Madalina Croitoru IUT Montpellier

Premiers Pas en Programmation Objet : les Classes et les Objets

FANTEC DB-229US Manuel de l'utilisateur

Sage 50 Version 2014 Guide d installation. Sage Suisse SA

Exceptions. 1 Entrées/sorties. Objectif. Manipuler les exceptions ;

Module ebay pour PrestaShop Guide du vendeur

Sauvegarder ses données avec Syncback Windows 98, 2000, Me, NT, XP

STAGE IREM 0- Premiers pas en Python

Recherche dans un tableau

ENVOI EN NOMBRE DE MESSAGES AUDIO

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

Introduction à JDBC. Accès aux bases de données en Java

Sub CalculAnnuite() Const TITRE As String = "Calcul d'annuité de remboursement d'un emprunt"

Tp 1 correction. Structures de données (IF2)

TP, première séquence d exercices.

ENVOI EN NOMBRE DE SMS

LibreOffice Calc : introduction aux tableaux croisés dynamiques

FANTEC HDD-Sneaker MANUEL D'UTILISATION. Comprend: Guide d'installation de materiel Disque dur Formatage manuel PCClone EX Guide d'installation

Sommaire Introduction... 3 Le but du projet... 3 Les moyens utilisés... 3 Informations sur le client FTP... 4 Pourquoi une version Linux et

as Architecture des Systèmes d Information

Exposer ses photos sur Internet

Capture Pro Software. Démarrage. A-61640_fr

Samsung Drive Manager Manuel d'utilisation

ECLIPSE ET PDT (Php development tools)

Chapitre 10. Les interfaces Comparable et Comparator 1

Retrospect 7.7 Addendum au Guide d'utilisation

CRÉER UNE BASE DE DONNÉES AVEC OPEN OFFICE BASE

Licence Bio Informatique Année Premiers pas. Exercice 1 Hello World parce qu il faut bien commencer par quelque chose...

4. Groupement d objets

La gestion des exceptions

Java 7 Les fondamentaux du langage Java

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions

IN Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C

ET 24 : Modèle de comportement d un système Boucles de programmation avec Labview.

Tutoriel TYPO3 pour les rédacteurs

Débuter avec OOo Base

Java Licence Professionnelle Cours 7 : Classes et méthodes abstraites

ENVOI EN NOMBRE DE SMS

Compte-rendu de projet de Système de gestion de base de données

Premiers pas sur e-lyco

Guide d'installation du connecteur Outlook 4

Introduction au langage C

1 Gestionnaire de Données WORD A4 F - USB / / 6020 Alco-Connect

CAPTURE DES PROFESSIONNELS

TP JAVASCRIPT OMI4 TP5 SRC

Logiciel SCRATCH FICHE 02

Corrigé de l'atelier pratique du module 8 : Implémentation de la réplication

Mise à jour, sauvegarde et restauration de logiciels

Compléments de documentation Scilab : affichage de texte et formatage de nombres

Un exemple avec WORKSPACE d'interwrite

Préparation à l installation d Active Directory

Le meilleur de l'open source dans votre cyber cafe

EFT. Guide de mise en route

Tune Sweeper Manuel de l'utilisateur

Guide d'utilisation. OpenOffice Calc. AUTEUR INITIAL : VINCENT MEUNIER Publié sous licence Creative Commons

Windows 8 Installation et configuration

Programmation par les Objets en Java

Mise à jour Version de réseau centrale

"Indy\Source\Fulld7.bat" 6. Lancer à présent Delphi. Allez dans le menu "Composant" puis sur "Installer des paquets...".

Service Informatique et Télématique (SITEL), Emile-Argand 11, 2009 Neuchâtel, Tél ,

Transcription:

SHERLOCK 7 Version 1.2.0 du 01/09/09 JAVASCRIPT 1.5 Cette note montre comment intégrer un script Java dans une investigation Sherlock et les différents aspects de Java script. S T E M M E R I M A G I N G G R O U P W W W. S T E M M E R - I M A G I N G - G R O U P. C O M G E R M A N Y U N I T E D K I N G D O M F R A N C E S W I T Z E R L A N D STEMMER IMAGING GmbH FIRSTSIGHT VISION Ltd. IMASYS S.A.S. STEMMER IMAGING Schweiz AG Phone: +49 89 80902-0 Phone: +44 1252 780000 Phone: +33 1 45069560 Phone: +41 55 4159090 www.stemmer-imaging.de www.firstsightvision.co.uk www.imasys.fr www.stemmer-imaging.ch

Sommaire 1. Intégrer un script... 3 2. Contenu d'un script... 4 2.1. Les objets de base.... 4 2.2. Calculs.... 4 2.3. Les chaines de caractères..... 4 2.4. Accès fichiers.... 4 2.5. Une classe un objet (utilisateur)... 4 2.6. Les exceptions (try catch)... 4 2.7. Les tableaux (Array)... 4 3. Contact et commentaires... 8 Important : ce document ne remplace pas la documentation très complète sur Javascript, fournie à l'installation de Sherlock P SIG_ApplicationNote_JavaScript_010409_FR.doc Page 2 of 8

1. Intégrer un script Il suffit de cliquer simplement sur l'icône feuille présent dans la toolbar Program. Bouton script Double click sur l'item script pour ouvrir la feuille l'éditeur Java script d'ipd. Grille contenant vos variables utilisables dans votre script. Sélectionner la variable et la glisser dans la feuille : MaVarA par exemple. Grille contenant les objets disponible. En sélectionner un et le glisser dans la feuille. En tapant un point '.', l'éditeur vous propose les méthodes ou propriétés attaché à cet objet (Intellisense) Ex : Sherlock.Reporter("Mon message"); Check syntax : donne la ou les lignes ayant une erreur de syntaxe. A corriger. Run : exécute en local votre script (Votre investigation n'est pas exécutée). Attention l'investigation est stoppée, les variables modifiées par votre script ne sont pas mises à jour en temps réel. Il n'y a aucun message qui indique que votre script est en cours d'exécution, hormis vos messages vers le reporter ou le monitor (ex dans le cas d'une boucle). Stop : arrête l'exécution de votre script. N'a aucune action si votre script est "planté", le seul moyen de le stopper est le gestionnaire de taches en détruisant le processus IpeStudio. Evidemment vous perdez tout ce qui n'a pas été sauvegardé. P SIG_ApplicationNote_JavaScript_010409_FR.doc Page 3 of 8

2. Contenu d'un script Quelques exemples d'utilisation d'un script Java dans une investigation Sherlock. Il s'agit de principe couramment mise en œuvre dans un script Java. Ce qu'il faut savoir : - Les variables sont dynamiques sous Javascript. Pas de typage et de déclaration à réaliser. En Javascript 1 et 0 sont des nombres, TRUE et FALSE sont des booléens. - Un script ne peut accéder qu'aux variables (pas aux readings). - Un script ne peut pas interagir directement avec votre investigation, par exemple appeler une sous routine. La seule méthode pour interagir est de modifier les variables. - Un fichier ouvert directement dans votre investigation n'est alors pas utilisable par votre script via les objets System (et vice versa). Particularité de Sherlock, dans certains cas les erreurs corrigées restent mémorisées par Sherlock même après correction. Dans ce cas sauvegarder votre investigation, quitter et redémarrer Sherlock. 2.1. Les objets de base (statiques). Appelés aussi Predefined items, ils apparaissent dans la grille en bas à droite. Le principe d'utilisation est le même pour tous, glisser un item et taper un point '.'. Une liste apparaît dans laquelle vous pouvez choisir la méthode ou propriété. Valider votre choix par Entrée. Sherlock : méthodes permettant seulement d'envoyer des messages vers le reporter, le monitor et le log debug. Vars : accède à vos variables. Toutes vos variables sont la fenêtre intellisense. DigIn et DignOut : accède aux fonctionnalités pilotant les entrées sorties disponibles. Les fonctionnalités sont identiques à celles offertes par les instructions IO:Digital Input Output. System : méthodes pour les accès fichiers, gestion répertoire et la méthode Sleep(ms). Numbers : fourni des constantes numériques, pratique pour les initialisations de recherche de grandeurs. Math : opérateurs mathématiques : trigonométrie, logarithme, arrondi, carré, etc. If do while : opérateurs d'exécution de votre script. Réalisation de test conditionnel, de boucle, etc. Try catch finally : gestion des exceptions. Function avec ou sans arguments : vous permet de créer vos méthodes accessibles en divers de votre script. Object : création d'objet à l'aide d'un constructeur (classe). Sherlock fournie une aide complète sur l'utilisation de Javascript. P SIG_ApplicationNote_JavaScript_010409_FR.doc Page 4 of 8

2.2. Calculs Pour réaliser des calculs vous devez utiliser l'objet Math. L'exemple montre simplement comment utiliser ces opérateurs. Attention à la syntaxe. Chapitre : Working with objects dans le fichier d'aide de Javascript. 2.3. Chaines de caractères. Très utilisées pour mettre en forme des textes, afficher des messages, etc. Javascript offre toute une panoplie de fonctionnalités sur les strings ainsi que des fonctions de conversion sur les nombres. Sherlock ne connaît que les nombres décimaux (aucune notion de Int, Double, Long, Float, etc). Concaténation de deux chaines : ChaineResultante = str1 + str2; Il existe plusieurs fonctions utiles pour transformer un nombre en chaine de caractères (string). nombre.tofixed(n) : renvoie un string de nombre avec n décimales. nombre.tostring() : renvoie un string de nombre mais avec le format décimal de Sherlock. Aucun formatage. RegExp (Regular Expression) ou Expression rationnelle. Regroupe un ensemble de méthodes permettant des traitements sur les chaines de caractères, ex : recherche d'une chaine à l'intérieur d'une autre, d'une occurrence, etc. Chapitre 4 dans l'aide JavaScript. Split génère un tableau de string à partir d'une chaine de caractères incluant un séparateur de sous chaine. re contient la Regular Expression permettant de retrouver les données correspondantes dans la chaine str. P SIG_ApplicationNote_JavaScript_010409_FR.doc Page 5 of 8

2.4. Accès fichier. Les accès fichiers sont réalisés à l'aide de l'objet System. L'ensemble de ces méthodes ne retourne aucune erreur. Ce script ouvre le fichier MonNomDeFichier.txt en mode lecture. Le contenu est lu à l'aide de System.FileReadLine() et le string retourné est stocké dans le tableau content. N'oubliez pas de fermer le fichier en quittant votre script, dans le cas contraire une erreur est générée lors de la réouverture du fichier par votre script. 2.5. Une classe un objet (utilisateur). La syntaxe est très simple et déroutante à la fois pour ceux qui manipulent déjà des classes. Voici un comparatif Javascript et Java. Utilisation sous Javascript : moimeme = new Employé(); moimeme.name = "Philippe"; Définition de la méthode déclarée dans notre classe. Définition de notre classe. Elle dispose de variables et d'une méthode. Instance d'un objet et affectations. On applique un offset sur les coordonnées courantes de notre objet. P SIG_ApplicationNote_JavaScript_010409_FR.doc Page 6 of 8

Les classes et méthodes ne sont pas accessibles à partir des autres scripts de votre investigation. Si vous devez passer des informations, utiliser des variables (Sherlock). Vous ne pouvez pas passer des objets. 2.5. Les exceptions (try catch). Mise en œuvre des instructions try catch et de throw. Définition d'une fonction permettant de générer une exception. Fonction de notre classe 3DPoints qui divise les coordonnées par un coefficient. Dans ce cas nous générons une exception (throw) lorsque k est à 0. Le bloc try catch tente l'exécution de la méthode Divise. Si k est à 0 alors l'exception provoque l'exécution des instructions contenues dans le bloc catch. Sous IPD - Javascript vous devez gérer votre propre exception. L'instruction Sherlock.DbgLog(string) vous permet de tracer l'exécution de votre script en écrivant des messages directement dans le fichier log de Sherlock : <Sherlock>\bin\IpeStudioLog.txt. Seulement le niveau de log dans <Sherlock>\bin\IpeLog.config est fixé à DEBUG. log4j.logger.ipestudio.logger=debug, RolFile Si ce niveau est fixé à ERROR, WARNING ou INFO alors Sherlock.DbgLog est ignorée. P SIG_ApplicationNote_JavaScript_010409_FR.doc Page 7 of 8

2.7. Les tableaux (Array) Le mot clé pour déclarer un tableau sous Javascript : Array. Déclaration de tableaux, ils n'ont pas de type définis (nombre ou string par exemple). Aucune taille n'est nécessaire. Le type du tableau est défini lors de l'affectation d'une valeur. Il n'est pas recommandé de fixer la taille du tableau sous Sherlock sous peine d'une erreur d'overflow. 3. Contact et commentaires Nous espérons que cette note technique vous sera utile et attendons avec intérêt vos commentaires. N'hésitez pas à contacter notre service technique pour toutes questions. Consultez aussi notre site qui regroupe de nombreuses informations, les questions les plus courantes ainsi qu'un grand nombre de données techniques sur le traitement d'images. France: Téléphone : +33 1 45069560 E-Mail: Eq.technique@stemmer-imaging.fr Web: www.stemmer-imaging.fr P SIG_ApplicationNote_JavaScript_010409_FR.doc Page 8 of 8