Scilab : de la théorie à la pratique

I. Les fondamentaux

4. Les entrées/sorties

4. Historique des commandesAfficher/CacherAfficher/Cacher

Scilab fournit un système de gestion de l'historique. Il permet d'enregistrer automatiquement les commandes saisies dans la console, ce qui permet de passer plus rapidement des tests à la rédaction d'un script. À l'aide des différentes fonctions, vous pourrez :

  • effacer l'historique avec resethistory ;

  • le sauvegarder dans un fichier avec savehistory, le recharger dans l'environnement Scilab avec loadhistory ;

  • modifier des lignes de l'historique avec addhistory et removelinehistory ;

  • récupérer l'historique dans une variable avec gethistory ;

  • l'afficher dans le gestionnaire d'historique avec browserhistory ou dans la console avec displayhistory.

Vous pouvez aussi utiliser le gestionnaire d'historique (voir Figure 4.3) si vous préférez utiliser une interface graphique pour effectuer les opérations précédentes.

Figure 4.3. Le gestionnaire d'historique

Pour finir, la fonction diary permet de stocker dans un fichier texte tout ce qui a été affiché dans la console (les commandes et leur résultat le cas échéant) entre deux appels à la fonction diary.

  1 -->path=pwd();               // répertoire courant
  2  
    -->id=diary('scilab-base-diary.txt')    // ouverture du journal
  4  id  =
     
  6     2.  
     
  8 -->cd TMPDIR                 // répertoire temporaire de Scilab
     ans  =
 10  
     C:\cygwin\tmp\SCI_TMP_4880_   
 12  
    -->resethistory()            // efface l'historique
 14  
    -->addhistory('ls')          // ajoute une ligne dans l'historique
 16  
    -->gethistory()              // récupère l'historique dans une variable
 18  ans  =
     
 20 !// -- 25/08/2014 12:16:24 -- //  !
    !                                 !
 22 !ls                               !
     
 24 -->displayhistory()          // affiche historique
    0 : // -- 25/08/2014 12:16:24 -- //
 26 1 : ls
     
 28 -->savehistory('essai.txt')  // sauve l'historique dans un fichier
     
 30 -->dir('essai.txt')          // le fichier est bien créé dans le répertoire courant
     ans  =
 32  
    essai.txt 
 34  
    -->browsehistory()           // ouvre le gestionnaire de l'historique
 36  
    -->cd(path);                 // retour au répertoire de départ
 38  
    -->diary(id,'close')         //fermeture du journal

Attention > Lorsqu'on exécute un programme Scilab stocké dans un fichier (comme ceux présentés au chapitre Aperçu de Scilab) en le lançant à l'aide des raccourcis de l'interface graphique (voir la vidéo de la Figure 3.5), les commandes exécutées ne sont pas stockées dans l'historique, y compris l'appel à la commande exec qui apparaît dans la console.