IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MATLAB Discussion :

Faire une recherche automatique dans la command window, depuis un script


Sujet :

MATLAB

  1. #1
    Membre du Club
    Inscrit en
    Septembre 2008
    Messages
    147
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 147
    Points : 56
    Points
    56
    Par défaut Faire une recherche automatique dans la command window, depuis un script
    Bonjour a tous,

    Je lance un programme sous la command window Matlab/console depuis un script matlab, l'affichage est assez charge en information provenant du logiciel que je lance. J'aimerai faire une recherche apres chaque RUN, du mot "errors" et lire le chiffre situe sur la meme ligne. En gros je veux verifier si mon code m'affiche des erreurs et qu'il me fasse un rapport a la fin de tous mes RUNs.

    Donc j'aimerai savoir dans un premier temps comment faire une recherche automatique d'un mot dans la command window depuis un script matlab. Et ensuite entrer le chiffre situe sur la meme ligne dans une variable.

    Voici un exemple de l'affichage en command window que j'ai:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    ....
    ....
    ....
     Comments               2 
     Warnings               2 
     Errors                 0 
    ....
    ....

  2. #2
    Membre habitué
    Profil pro
    Doctorante
    Inscrit en
    Mai 2012
    Messages
    130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Doctorante

    Informations forums :
    Inscription : Mai 2012
    Messages : 130
    Points : 197
    Points
    197
    Par défaut
    Tu peux essayer la function DIARY de Matlab. Il semblerait que ça fasse ce que tu recherches, à savoir copier automatiquement l'output de ton programme dans un fichier txt, dans lequel tu pourras ensuite faire une recherche classique.
    http://www.mathworks.com/help/matlab/ref/diary.html

  3. #3
    Membre du Club
    Inscrit en
    Septembre 2008
    Messages
    147
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 147
    Points : 56
    Points
    56
    Par défaut
    Citation Envoyé par eskapp Voir le message
    Tu peux essayer la function DIARY de Matlab. Il semblerait que ça fasse ce que tu recherches, à savoir copier automatiquement l'output de ton programme dans un fichier txt, dans lequel tu pourras ensuite faire une recherche classique.
    http://www.mathworks.com/help/matlab/ref/diary.html
    Super ! ca fonctionne,

    Des suggestions pour rechercher dans le fichier ainsi genere?

    Comme mentionner plus haut je veux trouver la ligne ou il y a le mot error et lire le chiffre sur la meme ligne.
    textscan? ou Find?

    Merci,

  4. #4
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 307
    Points : 52 888
    Points
    52 888
    Par défaut
    Citation Envoyé par DJEcalcul Voir le message
    Comme mentionner plus haut je veux trouver la ligne ou il y a le mot error et lire le chiffre sur la meme ligne.
    textscan? ou Find?
    Une solution :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    fid = fopen('diary.txt', 'r');
    X = textscan(fid, '%s', 'delimiter', '\n');
    fclose(fid);
     
    idx = strncmp(X{1}, 'Errors', 6);
     
    if ~isempty(idx)
        sscanf(X{1}{idx}, 'Errors%d')
    end

  5. #5
    Membre du Club
    Inscrit en
    Septembre 2008
    Messages
    147
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 147
    Points : 56
    Points
    56
    Par défaut
    Merci Dut

  6. #6
    Modérateur
    Avatar de le fab
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    1 883
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 883
    Points : 3 431
    Points
    3 431
    Par défaut
    il est également possible de récupérer à posteriori le contenu de la MCW :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    jDesktop=com.mathworks.mde.desk.MLDesktop.getInstance;
    cw = jDesktop.getClient('Command Window');
    jTextArea = cw.getComponent(0).getViewport.getComponent(0);
    g=get(jTextArea);
    cmdLineText = g.Text;

  7. #7
    Membre du Club
    Inscrit en
    Septembre 2008
    Messages
    147
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 147
    Points : 56
    Points
    56
    Par défaut
    Merci le fab.

  8. #8
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 307
    Points : 52 888
    Points
    52 888
    Par défaut
    Citation Envoyé par le fab Voir le message
    il est également possible de récupérer à posteriori le contenu de la MCW :
    Pour plus d'information sur cette solution, consulter l'ouvrage Undocumented Secrets of MATLAB-Java Programming

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2003] faire une selection automatique dans une listebox
    Par facteur dans le forum VBA Access
    Réponses: 1
    Dernier message: 17/01/2014, 18h55
  2. [XL-2007] Faire une recherche dans un répertoire windows.
    Par greg62200 dans le forum Macros et VBA Excel
    Réponses: 19
    Dernier message: 26/11/2012, 17h28
  3. Comment faire une recherche dans une combobox et une sélection automatique
    Par VictoriusDan dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 11/12/2009, 16h17
  4. [VB.NET] Faire une recherche dans une treeview
    Par Aspic dans le forum VB.NET
    Réponses: 3
    Dernier message: 15/11/2005, 19h10
  5. Réponses: 9
    Dernier message: 07/11/2005, 19h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo