Convertir tableau de chiffre sientifique en tableau dbl

Bonjour, je voudrais traiter un fichier tableur qui contient des chiffres sientifiques pour créer un graphe 3D surface, je ne trouve pas de fonction labview pour convertir mes données
Pourriez vous m'aiguiller svp

Bonjour darkpoet,
Si par chiffres scientifiques tu entends des expressions de ce type "9.6E7" ou "5E-4" tu trouveras en pièce jointe un VI d'exemple.
Cet exemple convertit une chaine de caractères (de la forme "9.6E7" ou "5E-4") en double.
Je te laisse t'occuper de la partie tableau pour le moment 
Valentin
Certified TestStand Architect
Certified LabVIEW Developer
National Instruments France
#adMrkt{text-align: center;font-size:11px; font-weight: bold;} #adMrkt a {text-decoration: none;} #adMrkt a:hover{font-size: 9px;} #adMrkt a span{display: none;} #adMrkt a:hover span{display: block;}
Travaux Pratiques d'initiation à LabVIEW et à la mesure
Du 2 au 23 octobre, partout en France
Attachments:
Scientifique.vi ‏8 KB

Similar Messages

  • Comment faire un tableau à partir d'un autre tableau en ne prenant qu'une ligne sur 2 ?

    J'ai un tableau principal et je voudrais récupérer une ligne sur 2 ou sur 4 affin de discriminer mon premier tableau. ces lignes récupérées constitueraient alors un second tableau. Les 2 tableaux sont en 2D.

    Bonjour Madness
    Je passerai le tableau (2D) dans une boucle for.
    A l'intérieur, j'utiliserai la fonction "Decimate 1D array" dans palette "Array". Pour 1 ligne sur 5, tirer sur le "Decimate" pour qu'il ait une longueur de 5 elements, brancher uniquement le premeir vers la sortie de la boucle.
    NB : Si on récupère ainsi les colonnes au lieux des lignes, mettre avant et apres la boucle for le vi "transpose array".
    Please take some time to give a rating to my answer.
    Cheers.
    Doc-Doc
    Doc-Doc
    http://www.machinevision.ch
    http://visionindustrielle.ch
    Please take time to rate this answer

  • Créer une synthèse de séquence tableau/gr​aphe

    Bonjour,
    Alors voilà j'ai creer un vi qui permet d'envoyer des séquences de tests (avec NI-845x protocole SPI) et mon but est de récapituler dans un tableau 2D les trames émises(une case par octet) et en face les trames reçus associées.
    Mon problème est que j'ai une boucle de condition or quand je place mon tableau hors de la boucle le resultat s'affiche un quart de seconde, et je ne peux placer le tableau à l'interieur car je n'aurais pas les résultats de la condition"FAUX" dans mon tableau. 
    Comment faire?
    Ensuite j'aimerais qu'il y ai un graphe derière (j'ai choisis le déroulant) qui affiche les trames émises sur une courbe et les trames reçut sur une autre avec 2 autre courbes correspondant au CS et CLK , en faite ça serait de reproduire l'oscilloscope , et que mes trames soient en binaire.
    Pour celà j'avais pensé
    1)convertir en binaire toutes les cases  de mon tableau 2D
    2)Sur une ligne : mettre les valeurs de toutes les cases les unes après les autres pour mettre la valeur finale dans une case. 
    3) faire ça pour chaque ligne afin d'obtenir un tableau 1D
    puis envoyé ce tableau sur un graphe.
    exemple:
    J'espère etre un peu plus claire avec cet exemple...
    Et même pour faire ça je n'y arrive pas!
    Bon si vous avez de meilleures idées n'hésitez pas !!!
    Merci beaucoup de m'aider parce que je craque !!

    Bonjour,
    mettre deux questions dans un post n'est pas un choix judicieux : on ne sait pas à quoi répondre, et on a un peu l'impression de faire votre travail.
    De plus, poster à la fois dans la partie française (bien) et dans la partie anglaise (pas bien, et encore moins bien en français), ce n'est pas très correct vis a vis de ceux qui vont répondre : cela créera des doublons.
    Ceci étant dit, pour répondre à la première partie de votre question, je pense qu'il faudrait que vous postiez un vi simple (pas l'intégralité de votre projet avec des vi's qui necessitent google earth pour voir le diagramme en entier) qui résume votre problème.;-)
    En faisant cela, il y a de fortes chances pour que vous résolviez votre problème par vous même !
    Cordialement,
    V-F

  • Créer une synthèse de séquence tableau/graphe

    Bonjour,
    Alors voilà j'ai creer un vi qui permet d'envoyer des séquences de tests (avec NI-845x protocole SPI) et mon but est de récapituler dans un tableau 2D les trames émises(une case par octet) et en face les trames reçus associées.
    Mon problème est que j'ai une boucle de condition or quand je place mon tableau hors de la boucle le resultat s'affiche un quart de seconde, et je ne peux placer le tableau à l'interieur car je n'aurais pas les résultats de la condition"FAUX" dans mon tableau. 
    Comment faire?
    Ensuite j'aimerais qu'il y ai un graphe derière (j'ai choisis le déroulant) qui affiche les trames émises sur une courbe et les trames reçut sur une autre avec 2 autre courbes correspondant au CS et CLK , en faite ça serait de reproduire l'oscilloscope , et que mes trames soient en binaire.
    Pour celà j'avais pensé
    1)convertir en binaire toutes les cases  de mon tableau 2D
    2)Sur une ligne : mettre les valeurs de toutes les cases les unes après les autres pour mettre la valeur finale dans une case. 
    3) faire ça pour chaque ligne afin d'obtenir un tableau 1D
    puis envoyé ce tableau sur un graphe.
    exemple:
    J'espère etre un peu plus claire avec cet exemple...
    Et même pour faire ça je n'y arrive pas!
    Bon si vous avez de meilleures idées n'hésitez pas !!!
    Merci beaucoup de m'aider parce que je craque !!

    Bonjour,
    mettre deux questions dans un post n'est pas un choix judicieux : on ne sait pas à quoi répondre, et on a un peu l'impression de faire votre travail.
    De plus, poster à la fois dans la partie française (bien) et dans la partie anglaise (pas bien, et encore moins bien en français), ce n'est pas très correct vis a vis de ceux qui vont répondre : cela créera des doublons.
    Ceci étant dit, pour répondre à la première partie de votre question, je pense qu'il faudrait que vous postiez un vi simple (pas l'intégralité de votre projet avec des vi's qui necessitent google earth pour voir le diagramme en entier) qui résume votre problème.;-)
    En faisant cela, il y a de fortes chances pour que vous résolviez votre problème par vous même !
    Cordialement,
    V-F

  • Inserer dans un tableau

    Salut à Tous, 
    Besoin d'aide pour mon projet. J'ai en effet un tableau d'une quelconque dimension au quel je doit avoir des  bits de "1" et de "0". Et je suis bloquer au niveau où je veux inserer dans ce meme tabeau au niveau des bits qui sont côte à côte sur une colonne "1" et sur une autre "0" (mais sur une même ligne) et ensuite faire un bouclage.
    Ma question est donc la suivante : comment faire pour reinitialiser remettre tout à "0" mon tableau. inserer deux valeurs à deux endroits coller? (Cela servira à vérifier des collage de bits.)
    Avec la fonction "insert to array" je n'arrive pas à le faire convenablement. Car ce que j'ai pas dit c'est que dans mon programme l'utilisateur devra avoir le choix d'entrer la valeur de la ligne et collone où il veut inserer ces deux valeurs.
    Merci à vous. 
    Résolu !
    Accéder à la solution.

    Ci joint un exemple de VI. Sur cet exemple j'ai une entrée "Tableau in". Sur ce tableau je sélectionne les bits qui m'intéresses. Et col1,2 - Row1,2 permette d'identifier ces bits sélectionner.
    En ce qui me concerne, Au lieu de sélectionner à la main, je veux  faire une insertion (inserer deux valeurs ou bit 1 et 0) au niveau de deux endroits de mon tableau. (Tableau qui sera former de 1 et 0 à la place des booléen et ce même tableau devra être mis à 0 avant insertion).
    Hope que j'ai été explicite.
    Cdt 
    Pièces jointes :
    Untitled 1.vi ‏13 KB

  • Index d'un string dans un tableau

    Bonjour,
    Je souhaite effectuer une fonction identique à la fonction " index tableau 1D " mais avec un tableau e string.
    En effet: j'ai un petit tableau, dans le quel je veux chercher la colonne correspondante de ses éléments de types " chaines de caractéres " dans un plus grand tableau. 
    Dans le VI (ci-joint) que j'ai réalisé, quand la sortie est un 'numérique" ça marche très bien mais il me donne juste le numéro de colonne du dernier élément alors que moi je veux un tableau avec le numéro de chaque colonne coresspondante.
    Any help?
    Merci beaucoup. 
    Résolu !
    Accéder à la solution.
    Pièces jointes :
    rech_caractere_2.vi ‏10 KB

    Je suis vraiment un super débutant.
    c'est une qualité, car tout est possible.
    Il y a un peu plus de 3ans, j'ai rencontré labview.
    Là ... je peux t'assurer que plus "débutant" que moi ... ça n'existait pas !
    L'assembleur a été pour moi le seul langage "digne de ce nom"    pendant pas mal d'années.
    Labview ... des boutons, des Leds ... qu'est-ce que c'est que ce "truc" ?
    Mon premier code ... un bouton sur une led ... mêm pas de boucle ... run j'allume, run j'éteins ! 
    Là ... Oooh, surpise ... "ça fonctionne" !
    A partir de là, j'ai avalé toutes les portes logiques d'un coup ... depuis ... c'est la folie totale.
    Soit perfectionniste avec Labview ... tu en auras ce que tu y mets toi même. (rien de plus)
    N'oublie jamais cette histoire du "flux de données", perso il m'a fallu des mois (un an ?) pour en comprendre réellement les finesses et la portée.
    Tout ceci étant dit .... bienvenue !   

  • Indice d'un tableau lors d'un appui

    Bonjour,
    J'aurai voulu savoir si il était possible de connaitre l'indice d'une case d'un tableau (dans mon VI c'est un tableau de chaînes déroulantes) lorsque l'utilisateur va vouloir faire une modification sur la case en question.
    Le but final dans mon VI est de changer la liste de menu déroulant en fonction de la case que l'on souhaite changer la valeur.
    Merci de votre aide.

    Bonjour Justin44,
    J'avoue ne pas comprendre très bien votre problème. Comme Titou l'a dit, les éléments d'un tableau ont un type identique. Vous ne pourrez pas modifier le type d'un seul élément du tableau. Un cluster ou tableau de clusters est faisable et pourrait répondre à vos attente (http://zone.ni.com/reference/fr-XX/help/371361J-0114/glang/build_cluster_array/).
    Si vous décidez de mettre votre tableau comme commande, vous pourrez changer dynamiquement lors de l'exécution de votre code les valeurs de celui-ci (si le choix est déjà listé dans le menu déroulant avant le lancement).
    Je vous remet le même VI légèrement modifié.
    Cela vous convient il? Si non, essayez de nous expliquer à l'aide d'un exemple de scénario nominal.
    Si la solution vous convient, je vous invite à mettre votre topic comme résolu.
    Cordialement.
    Pierre Denis
    National Instruments.
    Pierre_D
    National Instruments France
    #adMrkt{text-align: center;font-size:11px; font-weight: bold;} #adMrkt a {text-decoration: none;} #adMrkt a:hover{font-size: 9px;} #adMrkt a span{display: none;} #adMrkt a:hover span{display: block;}
    LabVIEW Tour
    Journées Techniques dans 10 villes en France, du 4 au 20 novembre 2014
    Pièces jointes :
    forum (2).zip ‏12 KB

  • Supprimer element tableau 2D

    Bonjour,
    Le sujet dit tout Je voudrais supprimer les élements de fin d'un tableau 2D, en fait je récupere 2 courbes (I et V) je ne connais pas les valeurs de I mais en revanche je sais que V va d'un valeur x1 à une valeur X2 (X2 c'set moi determine).*
    Seulement quand je lance mon acquisition DAQ le temps d'acquisition ne pouvant pas éxactement être le temps de la mesure je me retrouve avec des valeurs de I et V qui apres avoir atteint X2 V retombe à 0.
    Donc je cherche un VI qui pourrais effacer les valeurs de la fin de mon tableau en commencant lorsque la valeur de volt atteint X2 V, à partir de la j'efface la suite de mon tableau.
    J'ai un peu du mal à expliquer, j'espere que vous avez comprit
    Merci d'avance.
    PS: je peux separer mon tableaux 2 D en 2 tableaux 1D. Si c'est plus évident comme ca

    Je vais essayer de m'expliquer en graphique :
       - Je récupere les courbes 1 (voir fichier image graphique 1)
       - Que je sépare sur 2 graphiques (image graphique 2)
       - Et ensuite je trace une courbe XY avec les 2 ( graphique 3)
    Sur le graphique j'ai mit en rouge la partie que je ne veux que voir, le reste est due a la chute de tension qu'on peut voir sur les graphques 1 et 2.
    Donc y a t-il un moyen de supprimer l'affichage de ces chutes ?
    Merci d'avance
    Pièces jointes :
    graphique 1.jpg ‏3364 KB
    graphique 2.jpg ‏3364 KB
    graphique 3.jpg ‏3364 KB

  • Filtrage passe bas et déphasage/conversions de données

    Bonjour,
    Mon objectif est de réaliser un filtre passe bas sans retard de phase pour traiter un signal issu d'un accéléromètre. Je cherche à éliminer le bruit haute fréquence sur ce signal sinusoïdal 50Hz, mais le déphasage doit être nul pour que le signal soit exploitable (même un déphasage de quelques dizaines de microsecondes suffit à fausser mes calculs).
    J'ai essayé de passer par l'outil "Zero Phase Filtre" (en m'inspirant de en m'inspirant de ce fil de discussion), mais je suis confronté à un problème lors de la conversion de données de type waveform vers le type DBL. La fréquence du signal passe à 0.005 Hz au moment de la conversion en DBL, et le problème subsiste à la reconversion en waveform.
    Voici comment je pourrais résoudre le problème:
    1/ trouver un moyen d'avoir une fréquence correcte après la conversion
    2/ trouver un outil qui me permettrait de déphaser manuellement le signal pour compenser l'effet du filtre (j'ai essayé l'outil "retarder signal" sans succès)
    3/ trouver un autre moyen de filtrer les harmoniques de mon signal sans déphasage
    Ci joint un vi simulant mon problème en .zip.
    Je remercie d'avance les membres de se forum qui prendront la peine de lire ce message et d'essayer de m'aider à progresser
    Bonne journée.
    Résolu !
    Accéder à la solution.
    Pièces jointes :
    Etude filtres.vi ‏166 KB

    Bonjour,
    Le problème de la fréquence vient de tes conversion de données. Lorsque tu convertis ton signal en tableau 1D de points tu perds ton dt. Au lieu de convertir tes données dynamiques en tableau 1D, convertit les en waveform (1D, dt et t0). En sortie de ton filtre tu utilises Build waveform pour remplacer les données Y de ta waveform originale par les données filtrées.
    Pour ce qui est de la précision du calcul de phase je ne suis pas sur que tu puisses faire mieux facilement.
    Cordialement,
    Simon D.
    CLA | Certified LabVIEW Architect
    CTA | Certified TestStand Architect

  • ArrayIndexOutOfBoundsException with JTable.setValueAt()

    Hi everybody.
    I can't understand what happens with my code. When I try to call the JTable.setValueAt method, an ArrayIndexOutOfBoundsException is thrown. Here is my code:
    import java.awt.*;
    import javax.swing.*;
    import javax.swing.table.*;
    import frontOffice.applets.AppletResultats;
    import java.util.*;
    * <p>Title: </p>
    * <p>Description: </p>
    * <p>Copyright: Copyright (c) 2003</p>
    * <p>Company: </p>
    * @author unascribed
    * @version 1.0
    public class VueResultats extends JFrame {
      private AppletResultats applet;
      private JTable tableau = new JTable(new DefaultTableModel(){
          public boolean isCellEditable(int row, int column) {
            return false;
      private JScrollPane scrollPane = new JScrollPane(tableau);
      public VueResultats(AppletResultats applet) {
        super("R?sultats enregistr?s");
        this.applet = applet;
        this.getContentPane().setLayout(new FlowLayout());
        this.setContentPane(this.scrollPane);
        scrollPane.setViewportView(tableau);
        scrollPane.setPreferredSize(new Dimension(400, 100));
        String codebaseHost = applet.getCodebasesHost();
        tableau.getTableHeader().setDefaultRenderer(new HeaderRenderer(codebaseHost));
        TableColumn colonneAnnee = new TableColumn();
        colonneAnnee.setHeaderValue("Ann?e");
        tableau.addColumn(colonneAnnee);
        TableColumn colonneCA = new TableColumn();
        colonneCA.setHeaderValue("Chiffre d'affaires");
        tableau.addColumn(colonneCA);
        TableColumn colonneBen = new TableColumn();
        colonneBen.setHeaderValue("B?n?fice");
        tableau.addColumn(colonneBen);
        TableColumn colonneConc = new TableColumn();
        colonneConc.setHeaderValue("Concerne");
        tableau.addColumn(colonneConc);
        for(Enumeration e = tableau.getColumnModel().getColumns(); e.hasMoreElements();) {
            TableColumn column = (TableColumn) e.nextElement();
            column.setCellRenderer(new MyCellRenderer());
            System.out.println(column.getClass());
        this.pack();
        this.setResizable(false);
        System.out.println("Vue cr??e " + tableau.getColumnCount() + "colonnes");
        this.update();
      public void update() {
        DefaultTableModel model = (DefaultTableModel) this.tableau.getModel();
        Vector resultats = this.applet.getResultats();
        model.setRowCount(resultats.size());
        System.out.println("Rowcount: " + resultats.size());
        int i = 0;
        for(Enumeration e = resultats.elements(); e.hasMoreElements(); i++) {
          Resultat resultat = (Resultat) e.nextElement();
          tableau.setValueAt(resultat.annee(), i, 1);            // Here occurs the exception !!!!!!!!!!!!
          tableau.setValueAt(resultat.chiffreA(), i, 2);
          tableau.setValueAt(resultat.benefice(), i, 3);
          tableau.setValueAt(resultat.concerne() ? "Votre entreprise" : "Votre groupe", i, 4);
      private class MyCellRenderer extends JLabel implements TableCellRenderer {
            public MyCellRenderer() {
                System.out.println("CellRenderer cr??");
            private MyCellRenderer(boolean isSelected) {
                if(isSelected) this.setBackground(new Color(0x49aba6));
                else this.setBackground(Color.WHITE);
                this.setHorizontalTextPosition(SwingConstants.CENTER);
                this.setVerticalTextPosition(SwingConstants.CENTER);
            public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
                MyCellRenderer renderer = new MyCellRenderer(isSelected);
                renderer.setText(value.toString());
                return renderer;
      public static void main(String args[]) {
        new VueResultats(new AppletResultats()).setVisible(true);
    }Can anyone explain to me why this exception ??
    Notice I call the DefaultTableModel.setRowCount() method before setValueAt().
    Thank's in advance for any reply.

    Really no idea ?????
    Please help !!!! I can't understand how JTables work.

  • Problem with CellRenderer

    Hi everybody.
    Look at this piece of code:
    package graphics;
    import javax.swing.*;
    import javax.swing.table.*;
    import java.awt.*;
    import java.util.*;
    public class EssaiJTable extends JTable {
        /** Creates a new instance of EssaiJTable */
        public EssaiJTable() {
            super(new DefaultTableModel(10,  10));
            for(Enumeration e = this.getColumnModel().getColumns(); e.hasMoreElements();) {
                TableColumn column = (TableColumn) e.nextElement();
                column.setCellRenderer(new MyCellRenderer());
        private class MyCellRenderer extends JLabel implements TableCellRenderer {
            public MyCellRenderer() {
                this.setHorizontalAlignment(SwingConstants.CENTER);
            public java.awt.Component getTableCellRendererComponent(JTable jTable, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
                if(isSelected) this.setBackground(new Color(0x49aba6));
                else this.setBackground(Color.WHITE);
                if(value == null) this.setText("");
                else this.setText(value.toString());
                return this;
        public static void main(String[] args) {
            JFrame frame = new JFrame();
            frame.getContentPane().setLayout(new FlowLayout());
            frame.getContentPane().add(new EssaiJTable());
            frame.pack();
            frame.setVisible(true);
    This code works fine fine, i mean the content of the cells appears in the center of the CellRenderer (my CellRenderer).
    Now look at this code: I think I do axactly the same thing, with other several things:package frontOffice.autres;
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import javax.swing.table.*;
    import frontOffice.applets.AppletResultats;
    import java.util.*;
    * <p>Title: </p>
    * <p>Description: </p>
    * <p>Copyright: Copyright (c) 2003</p>
    * <p>Company: </p>
    * @author unascribed
    * @version 1.0
    public class VueResultats extends JFrame {
    private AppletResultats applet;
    private JTable tableau = new JTable(new DefaultTableModel(){
    public boolean isCellEditable(int row, int column) {
    return false;
    private JScrollPane scrollPane = new JScrollPane(tableau);
    public VueResultats(AppletResultats applet) {
    super("R�sultats enregistr�s");
    this.applet = applet;
    this.getContentPane().setLayout(new FlowLayout());
    this.setContentPane(this.scrollPane);
    scrollPane.setViewportView(tableau);
    scrollPane.setPreferredSize(new Dimension(400, 100));
    String codebaseHost = applet.getCodebasesHost();
    tableau.getTableHeader().setDefaultRenderer(new HeaderRenderer(codebaseHost));
    DefaultTableModel model = (DefaultTableModel) tableau.getModel();
    model.addColumn("Ann�e");
    model.addColumn("Chiffre d'affaire");
    model.addColumn("B�n�fice");
    model.addColumn("Concerne");
    for(Enumeration e = tableau.getColumnModel().getColumns(); e.hasMoreElements();) {
    TableColumn column = (TableColumn) e.nextElement();
    column.setCellRenderer(new MyCellRenderer());
    System.out.println("xxx");
    this.pack();
    this.setResizable(false);
    this.update();
    public void update() {
    DefaultTableModel model = (DefaultTableModel) this.tableau.getModel();
    Vector resultats = this.applet.getResultats();
    model.setRowCount(resultats.size());
    int i = 0;
    for(Enumeration e = resultats.elements(); e.hasMoreElements(); i++) {
    Resultat resultat = (Resultat) e.nextElement();
    tableau.setValueAt(resultat.annee(), i, 0);
    tableau.setValueAt(resultat.chiffreA(), i, 1);
    tableau.setValueAt(resultat.benefice(), i, 2);
    tableau.setValueAt(resultat.concerne() ? "Votre entreprise" : "Votre groupe", i, 3);
    System.out.println(tableau.getCellRenderer(0,0));
    private class MyCellRenderer extends JLabel implements TableCellRenderer {
    public MyCellRenderer() {
    this.setHorizontalTextPosition(SwingConstants.CENTER);
    public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
    if(! isSelected) this.setBackground(Color.WHITE);
    else this.setBackground(new Color(0x49aba6));
    this.setText(value.toString());
    return this;
    public static void main(String args[]) {
    new VueResultats(new AppletResultats()).setVisible(true);
    And with this code, the text of my cells appear in the left of the cell ?
    Why ???????????
    Please help me.

    According to the JLabel api:
    public void setHorizontalAlignment(int alignment)Sets the alignment of the label's contents along the X axis.
    This is a JavaBeans bound property.
    Parameters:
    alignment - One of the following constants defined in SwingConstants: LEFT, CENTER (the default for image-only labels), RIGHT, LEADING (the default for text-only labels) or TRAILING.
    See Also:
    SwingConstants, getHorizontalAlignment()
    public void setHorizontalTextPosition(int textPosition)Sets the horizontal position of the label's text, relative to its image.
    Parameters:
    textPosition - One of the following constants defined in SwingConstants: LEFT, CENTER, RIGHT, LEADING, or TRAILING (the default).
    Throws:
    IllegalArgumentException
    See Also:
    SwingConstants
    When in doubt, consult the appropriate documentation for the class/method that you're using!
    ;o)
    V.V.

  • Lecture/Ec​riture

    Hi,
    Je souhaiterai avoir une aide pour mon soft.
    J'ai un programme sur labview qui me fait une lecture/ecriture dans une mémoire via RS232. Et m'affiche le résultat sur un tableau (taille 128*128), En somme ce que j'écris doit corresponde à ce que lis. Tout cela marche.
    Mais j'aimerais maintenant si possible pouvoir soit entourer ou soit afficher mes données qui ne correspondent pas à ce qui sont ecris. (mes données envoyées sont des bit soit 1 soit 0 sur 128*128).
    Donc S'il y a une diffrence entre l'écriture et la lecture je veux la faire apparaitre visuellement (souligné, entourer, afficher en gros)
    Toutes vos propositions seront les bienvenues.
    Thanks for your help

    Hello,
    Si c'est un tableau, tu ne peux pas le faire. Tous les éléments d'un tableau ont la même apparence.
    Tu pourrais essayer de supersposer un tableau de nombre et un tableau de leds, mêmes taille. En rendant la led transparente à l'état faux et en couleur à l'état vrai, tu verras la couleur au travers du tableau de nombre là où il y a erreur. il faut mettre le tableau de leds en arrière-plan, et rendre le "fond" du tableau de chiffres transparent pour voir les leds allumées au travers.
    Ce n'est qu'une idée...
    Francis M | Voir mon profil
    Certified LabVIEW Developer

  • Atlas routier en java

    J aimerai que vs puissiez m aider pour terminer mon projet sur la r�alisation d'un atlas routier. J ai rencontre quelques problemes sur mon code java.
    J aimerai que vous puissiez m aider. Je pourrai poster tout le code et des explications si quelqu un souhaite bien m aider
    voici l �nnonc� de mon projet:
    Projet de Java: Conception d'un atlas routier
    Vous allez dans ce projet �crire une application permettant de calculer et de visualiser sur une carte un itin�raire entre deux villes de France, calculer des itin�raire optimum en temps ou en consommation d'essence, etc...
    Les fichiers n�c�ssaire � ce projet sont les suivants: FileTableau.class, ville.txt, route.txt
    Etape 1: Chargement des donn�es
    Les donn�es n�c�ssaires � votre application sont stock�es dans des fichiers. Dans un premier temps, nous allons nous int�r�sser au fichier "ville.dat", qui contient les informations concernant les villes elle-m�mes. Le fichier contient une ligne pour chaque ville enregistr�e.
    Chaque ligne est construite ainsi: il y a quatre champs, le premier est le nom de la ville, le second son code, le troisi�me et le quatri�me ses coordonn�es. Les coordonn�es sont fournies en km, et se situent donc entre 0 et 1000. Les champs sont s�par�s par des ";". Voici un extrait de ce fichier:
    Lille;7;617;50
    Nice;50;958;797
    Vous pouvez �diter directement ce fichier dans DrJava ou WordPad pour voir son contenu.
    Pour mod�liser l'ensemble de nos villes, vous allez �crire deux classes:
    La classe Ville, qui contient les donn�es relatives � une ville (nom, code, coordonn�es)
    La classe Monde, qui contient l'ensemble de toutes les villes. La classe Monde doit poss�der un tableau de villes et une m�thode:
    public void charger(String fichier)
    dont le r�le est de remplir le tableau avec les donn�es contenues dans le fichier pass� en param�tre (qui sera "ville.dat" dans notre cas).
    Pour �crire la m�thode "charger", vous avez besoin des outils suivants:
    La classe TextFile, qui vous permet de charger un fichier dans un tableau de Strings. Le fichier se charge en cr�ant un objet TextFile ainsi:
    TextFile tf = new TextFile("ville.dat");
    tf contient alors l'ensemble des lignes du fichier "ville.dat". Cet ensemble peut �tre interrog� par deux m�thodes de la classe TextFile: void getSize() qui renvoie le nombre de ligne, et String getLine(int i) qui renvoie la String correspondant � la i�me ligne (� partir de 0).
    La classe StringTokenizer, qui va vous permettre d'extraire chacun des champs de la ligne. Vous consulterez la documentation en ligne de Java pour apprendre � vous en servir.
    La fonction Integer.parseInt(String s) qui vous permettra de convertir les Strings obtenues en entiers, si besoin est.
    Une fois la classe Monde termin�e, vous la testerez en cr�ant un programme de test qui cr�� un objet Monde, charge le fichier "ville.dat", et affiche pour chacune des villes son nom, son code, ses cooronn�es.
    Etape 2: Affichage de la carte
    Premi�res exp�rimentations
    Dans un premier temps, vous allez cr�er une classe TestDessin h�ritant de pour exp�rimenter le dessin dans les fen�tre en Java.
    Jusque l�, vous avez appris � ajouter des composants graphiques dans une fen�tre. Ici, il faut directement dessiner dedans. Les dessins se font au sein d'une m�thode sp�ciale appel� automatiquement par Java au moment de l'affichage. Vous devez �crire cette m�thode ainsi:
    public void paint(Graphics g) {
    super.paint(g);
    Vous devez remplacer les trois points par vos instructions d'affichage, qui seront des m�thodes de l'objet graphique g. Par exemple, pour dessiner un rectangle de 10 sur 10 aux coordonn�es (100,50), on utilisera la m�thode:
    g.fillRect(100,50,10,10)
    Vous devez �galement ajouter � votre programme la m�thode suivante, pour lui premettre de mettre � jour correctement votre dessin en cas de d�placement ou de redimensionnement de la fen�tre:
    public void update(Graphics g) {
    super.update(g);
    paint(g);
    Exp�rimentez diff�rentes m�thodes d'affichage (rectangle, ligne...) ainsi que l'affichage de chaines de caract�res. Consultez la documentation de la class Graphics pour avoir plus d'informations sur les instructions d'affichage.
    La classe Carte
    Vous allez �crire une classe Carte h�ritant de JFrame qui sera charg�e de l'affichage de la carte. Comme dans la classe de test pr�c�dente, l'affichage se fera au sein de la m�thode paint.
    Bien s�r, vous allez avoir besoin des donn�es sur les villes pour afficher la carte. Celles-ci vous seront fournies sous forme d'un objet de type Monde qui sera pass� au constructeur de Carte et stock�s sous forme d'attribut de la classe Carte.
    Dans un premier temps, l'affichage de la carte ne consiste qu'en l'affichage de chacune des villes. Un point (ou un rectangle ou un cercle) aux coordonn�es de chaque ville, et son nom affich� � cot�. Pour rendre la carte plus lisible, vous pouvez utiliser une police de caract�re plus r�duite, ainsi que des couleurs.
    Ecrivez la classe Carte et testez-la. Si votre programme est correct, l'ensemble des villes doit se disposer pour former la silhouette de la France.
    Etape n�3: Un premier Atlas
    Vous allez maintenant transformer votre carte en une application capable d'indiquer une ville selectionn�e par l'utilisateur.
    L'application que vous allez cr�er sera une fen�tre divis�e en deux parties. Dans la partie gauche, il y aura la carte, et dans la partie droite, il y aura l'interface utilisateur, comportant un titre, une zone de saisie et un bouton. Quand l'utilisateur rentrera le nom d'une ville et cliquera sur le bouton, alors celle-ci devra s'afficher en rouge.
    L'interface graphique
    Modifiez la classe Carte pour que celle-ci puisse s'ins�rer dans votre application. Pour cela, elle ne doit plus h�riter de JFrame, mais de JPanel.
    Votre carte n'est maintenant plus directement affichable, car ce n'est plus une fen�tre, mais un composant graphique. Vous devez donc supprimer l'instruction show(). Pour sp�cifier la taille du composant, remplacez setBounds(X,Y) par setPreferredSize(new Dimension(X,Y)). Votre composant graphique Carte est maintenant pr�t.
    Cr�ez maintenant une classe Atlas h�ritant de JFrame, qui sera votre application principale. Dans le constructeur de votre application, cr�ez un Container et ins�rez-y un label pour le titre, une zone de saisie et un bouton. Ce Container sera votre interface. Utilisez le layout suivant pour votre container:
    BoxLayout interfaceLayout = new BoxLayout(c,BoxLayout.Y_AXIS)
    Pour que la zone de saisie ne soit pas trop grande, vous pouvez lui donner une taille maximum avec la m�thode setMaximumSize(Dimension d). Ajoutez dans le Content Pane de votre application la carte et l'interface.
    Testez votre application. Vous devez voir apparaitre la carte sur la gauche et l'interface sur la droite.
    Un premier traitement
    Ecrivez dans la classe Monde une m�thode:
    Ville getVilleParNom(String nomVille)
    qui renvoie la ville dont le nom est pass� en param�tre.
    Ajoutez dans la classe Carte un attribut villeSelectionnee qui contient le code de la ville selectionn�e, et une m�thode
    setVilleSelectionnee(Ville v)
    qui permet de changer cet attribut.
    Modifiez la m�thode paint de la classe Carte pour que la ville selectionn�e s'affiche en couleur.
    Enfin, modifiez la classe Atlas pour que lorsque l'utilisateur clique sur le bouton "Rechercher", la ville qu'il a entr� dans la zone de saisie s'affiche en couleur. R�f�rez-vous � la correction du TP n�7 si besoin est.
    Etape n�4: Les routes
    Chargement
    Le fichier "route.dat" contient les informations concernant les routes entre les villes. Chaque ligne contient trois nombres. Le premier est le code de la ville de d�part, le second le code de la ville d'arriv�e et le troisi�me la distance.
    Pour chaque ville, vous allez ajouter les informations concernant ses voisines. Pour cela, vous allez ajouter dans la classe Ville trois attributs:
    un attribut int nbVoisines, contenant le nombre de voisines
    un tableau Ville [] voisines, contenant les villes voisines. Il n'y a jamais plus de 10 voisines, donc vous pouvez d�clarer � l'avance un tableau de cette taille.
    un tableau int [] distanceVoisines, contenant les distances correspondantes.
    Vous allez �galement ajouter une m�thode
    public void ajouterVoisine(Ville v,int distance)
    permettant d'ajouter une nouvelle voisine.
    Dans la classe Monde, vous allez �crire une m�thode
    public Ville getVilleParCode(int code)
    qui renvoie la ville dont le code est pass� en param�tre.
    Enfin, vous allez ajouter le chargement des routes � la suite du chargement des villes dans la classe Monde. Attention, pour chaque route entre deux villes X et Y, Y doit �tre ajout� aux voisines de X, et X aux voisines de Y.
    Affichage
    Modifiez la m�thode paint de la classe Carte pour que les routes soit affich�es.
    Etape n�5: Les itin�raires
    Le principe de l'algorithme
    Le calcul du plus cours chemin entre deux villes n'est pas un probl�me tr�s simple � resoudre. Vous allez ici utiliser un algorithme simplifi�, qui ne donne pas toujours le meilleur r�sultat, mais g�n�ralement une bonne approximation.
    Pour aller d'une ville A vers une ville B, vous allez adopter la demarche suivante:
    On se place en A.
    On se deplace vers la ville voisine la plus proche de B.
    On recommence l'�tape pr�c�dente jusqu'� se situer en B.
    Cet algorithme fonctionne dans la grande majorit� des cas, mais pas toujours, comme vous le verrez par la suite.
    Mise en oeuvre
    Distances
    La premi�re chose � faire est d'�crire une m�thode de calcul de distance entre deux villes. Attention! Le fichier "route.dat" vous fournit les longueurs des routes entre villes voisines. Dans l'algorithme pr�c�dent, vous avez besoin de conna�tre la distance r��lle entre deux villes quelconques. Vous allez pour cela faire un simple calcul de distance gr�ce aux coordonn�es g�om�triques des villes.
    Ajoutez � la classe Ville une m�thode public int distance(Ville v) qui renvoie la distance � la ville pass�e en param�tre.
    Aide: pour calculer la racine carr�e d'un entier x, vous devez utiliser la m�thode suivante: (int)(Math.sqrt(x))
    Itineraire
    Vous allez maintenant �crire une classe Itineraire, qui caract�rise un itin�raire entre deux villes.
    La classe contient un tableau de villes, qui sont les villes pr�sentes sur l'itin�raire, ainsi que le nombre de ville. Le tableau sera remplit pendant le calcul de l'itin�raire.
    La classe, en plus des accesseurs getVille et getNbVille, poss�de une m�thode:
    public boolean contains(Ville v)
    qui renvoie true si v est sur l'itin�raire, et false sinon.
    Enfin, et surtout, elle poss�de un constructeur
    public Itineraire(Ville depart,Ville arrivee)
    qui construit l'itin�raire entre les villes depart et arrivee gr�ce � l'algorithme d�crit pr�c�demment.
    Affichage
    De m�me que pour villeSelectionnee, vous allez ajouter un attribut itineraireSelectionne et une m�thode
    public void setItineraireSelectionne(Itineraire i)
    � votre classe Carte.
    Vous allez modifier la m�thode paint de mani�re � ce que les villes et les routes sur l'itin�raire apparaissent en couleur.
    Enfin, vous allez ajouter � votre atlas deux champ de saisie, l'un pour le d�part, l'autre pour l'arriv�e, et un bouton pour le calcul de l'itin�raire .
    Ecrivez une classe Itin�raire qui d�crit un itin�raire entre deux villes, sous forme d'une succession de villes.
    Le constructeur Itin�raire
    Ajoutez un attribut itineraireSelectionne dans la classe Carte et modifiez la m�thode paint de mani�re � ce que l'itin�raire selectionn� s'affiche en rouge.
    Rectification
    Testez votre programme, par exemple de Bordeaux � Lille. Tout doit fonctionner correctement. Testez-le ensuite du Havre � Caen. Que se passe-t-il? Pourquoi? Comment rectifier cela?
    Mon probleme se situe au niveau de l'�tape 5 c a d � partir de l itineraire. Je n 'arrivepas � creer la classe Itineraire ni meme la methode pour la construction du plus court chemin.
    Actuellement sur mon code, j aiprobleme d'affichage aussi. Quand je selectionne une ville sur le JCombobox, un messaged'erreur s'affiche. J aimerai que quand je selectionne ne ville, celle ci s'affiche en rougeet les autres non.Je poste mon code si besoin
    Merci � ts
    bye

    please post in English

  • Formula for multiple columns in a new table

    Hi,
    I've been using Numbers '08 for a while, but I've only been using rudimentary formulae such as "SUMIF" and "WEEKDAY." Recently I've been trying to put Numbers to better use. One major problem I've run into while writing a formula is this (I'm sure the question has been asked, yet I've searched the forums to no avail):
    I want to have two tables -- the first table is where I want to input my information; the second table I would like to be able to manipulate that information. For instance, in the first table I have (apologies, but I'm not sure how to incorporate a screenshot into my text):
    Table 1
    Date Color Location Minutes
    8/5 Blue Rome 60
    8/7 Green Paris 90
    8/7 Green Rome 45
    8/8 Blue Paris 120
    8/8 Blue Paris 30
    8/9 Blue Rome 90
    8/9 Green Paris 60
    Now, in Table 2, easily enough I am able to write a formula (using "SUMIF") for the number of minutes I've spent in Rome, but how do I write a formula to show how much time I've spent in Paris while Green? Table 2 right now is looking something like:
    Table 2
    ........Time Blue Green
    Paris 300 error error
    Rome 195 error error
    Is this a job for "VLOOKUP"? Do I need to make auxiliary columns? I have many such computations I would like to be able to perform in multiple tables from one source (Table 1). Any guidance would be much appreciated.

    With Numbers '09 you would use SUMIFS() but with Numbers '08 you must use auxikiary columns.
    In Tableau 1
    in column E the used formula is:
    =IF(AND($C=Tableau 2 :: $A$2,$B=Tableau 2 :: $C$1),$D,"")
    in column F it is:
    =IF(AND($C=Tableau 2 :: $A$3,$B=Tableau 2 :: $C$1),$D,"")
    in column G it is:
    =IF(AND($C=Tableau 2 :: $A$2,$B=Tableau 2 :: $D$1),$D,"")
    in column H it is:
    =IF(AND($C=Tableau 2 :: $A$3,$B=Tableau 2 :: $D$1),$D,"")
    In Tableau 2
    in B2 and B3 the formula is:
    =SUMIF(Tableau 1 :: C,"="&$A,Tableau 1 :: D)
    in C2 it is: =SUM(Tableau 1 :: E)
    in D2 it is: =SUM(Tableau 1 :: F)
    in C3 it is: =SUM(Tableau 1 :: G)
    in D3 it is: =SUM(Tableau 1 :: H)
    Yvan KOENIG (VALLAURIS, France) mardi 1 septembre 2009 16:52:31

  • Non uniform intervals in the X-axis of LineChart

    Hi,
    I am using a Flex3 Line chart which takes data from an External XML file.
    But I dont get the DataTip points correctly if i give some numeric values in the X values and
    even then, the values in the X-axis starts from the "0"th position and the interval between the "0"th & 1st value (in X axis) is half of the others (shown in red bar in the attached image) and also for the last one.
    How to have the uniform intervals in the X-axis so that the DataTip shows correct values as in the data?
    Below is the MXML & the XML I use:
    The MXML:
    <?xml version="1.0" encoding="utf-8"?>
    <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" width="100%" backgroundColor="0xFFFFFF" creationComplete="fetchData();">
    <mx:HTTPService id="myServ" url="TempChartData.xml" fault="faultHandler(event)"/>
    <mx:Script>
    <![CDATA[
         import mx.controls.Alert;
         import mx.rpc.events.*;    
         import mx.controls.ToolTip;
         //Trigger the HTTPService to fetch data from the back-end
         public function fetchData():void
              myServ.send();
         public function faultHandler(event:FaultEvent):void
              Alert.show(event.fault.message);
    ]]>
    </mx:Script>
    <mx:LineChart id="myChart" width="100%" height="100%" showDataTips="true" dataProvider="{myServ.lastResult.tasks.task}">
         <mx:horizontalAxis>
              <mx:CategoryAxis id="myHorzAxis" categoryField="name" title="My Tasks"/>
         </mx:horizontalAxis>
         <mx:verticalAxis>
              <mx:LinearAxis title="My Data Values"/>
         </mx:verticalAxis>
         <mx:horizontalAxisRenderers>
              <mx:AxisRenderer axis="{myHorzAxis}" labelRotation="45"/>
         </mx:horizontalAxisRenderers>
         <mx:series>
              <mx:LineSeries id="myLineSeries1" xField="name" yField="Value">
              </mx:LineSeries>
         </mx:series>
    </mx:LineChart>
    </mx:Application>
    TempChartData.XML
    <?xml version="1.0" encoding="utf-8"?>
    <tasks usl="25" lsl="-75">
        <task name="1">
            <Value>-115</Value>       
        </task>
        <task name="2">
            <Value>-112</Value>       
        </task>
        <task name="3">
            <Value>-100</Value>       
        </task>   
        <task name="4">
            <Value>0</Value>       
        </task>
        <task name="5">
            <Value>-74</Value>       
    </task>
        <task name="6">
        <Value>0</Value>
        </task>
        <task name="7">
        <Value>-67</Value>
        </task>
    </tasks>

    Please do not post VIs with infinite loops (at least without informing us that they work that way)! The loop should have a stop button on the front panel wired to the stop terminal in the loop. If you use the Abort button to stop the VI, the file never gets closed.
    A long time Forum participant has said that: "Using the Abort button to stop a VI is like using a tree to stop a car. It works but may have unintended consequences!"
    To get the format you want after reading you need to convert the first column in the spreadsheet file from a date-time string to a numeric which can be interpretted by the graph as a timestamp. With the format you have chosen for the file it is somewhat complicated. Spend some time reading the detailed help for the timestamp and string format functions.
    In the VI attached the file is read as string. The first column is separated into 7 numerical values to create a date-time record (cluster) which is then converted to a timestamp and then to DBL. The second column is converted to an array of DBL. The arrays are bundled and connected to an XY graph. The graph X-Axis is formatted as Absolute Time, AM/PM, HH:MMS. You can add the fractional seconds if you want but the scale starts to get crowded.
    Also, the error out wires from the property nodes used to initialize the graphs should be wired to the loop to assure that they execute first.
    Lynn
    Attachments:
    test_3.2.vi ‏26 KB

Maybe you are looking for

  • How to reset phone and keep info

    as a last resort to fix my battery life issue i would like to reset the phone. how can i accomplish this without loosing my apps, data, etc?

  • How to get information about permissions modification and deletion and addition in SharePoint

    Hello , There was some security issues in my SharePoint farm . Some one has change the permissions of users . How we can trace that who is added the new user or modify the users from SharePoint Group .

  • I have not recoeved any invoices since March 2013. Why?

    The payments are proceeded every month but I don't have any of my invoicse from march 2013. It is strange  , becouse this hapened after someone last year hacked Adobe payment system. I do Recieve e-mail from the system that adobe has recieved my paym

  • Items Not Sync'ed Message?

    I am getting a message that "40 items did not sync, see iTunes for details" or something along those lines, but in nothing can I find a report or how to get iTunes to tell me what did not sync!

  • Service Order settlement

    Hi, I need to set-up settlement of a service order. Can anyone tell how to go about it? To which elements does usually a service order settles? Primary/Secondary, is secondary the how does it get posted to G/L ? Thanks, Pankaj.