FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  GroupesGroupes  Connexion  
Derniers sujets
» Traceur de courbes représentatives des fonctions y = f(x)
par Ouf_ca_passe Aujourd'hui à 20:51

» Problème de syntaxe
par Klaus Aujourd'hui à 12:40

» KGF_dll - nouvelles versions
par Klaus Aujourd'hui à 12:36

» Compilateur FBPano
par jean_debord Aujourd'hui à 12:31

» Toolbar en Panoramic
par ygeronimi Hier à 23:56

» Documentation des évènements
par Klaus Hier à 16:46

» Klaus est de retour!
par jjn4 Hier à 16:31

» Texte sur image
par Jicehel Hier à 12:23

» MIN - MAX avec SPIN
par ygeronimi Sam 21 Jan 2017 - 10:02

» HEIGHT_CLIENT(N)
par ygeronimi Ven 20 Jan 2017 - 16:41

» Non demande de commande
par ygeronimi Jeu 19 Jan 2017 - 11:50

» Bataille navale sous-marine
par papydall Jeu 19 Jan 2017 - 2:19

» Version instantanée du 16/01/2017 : PANORAMIC V 0.9.27i10
par mindstorm Mer 18 Jan 2017 - 21:05

» PLM N34
par Froggy One Mer 18 Jan 2017 - 17:32

» saving 1.png [RÉSOLU]
par Froggy One Mar 17 Jan 2017 - 19:44

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Janvier 2017
LunMarMerJeuVenSamDim
      1
2345678
9101112131415
16171819202122
23242526272829
3031     
CalendrierCalendrier

Partagez | 
 

 Les Entrées / Sorties en ligne de commande

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
papydall



Nombre de messages : 5109
Age : 66
Localisation : Moknine (Tunisie)
Date d'inscription : 03/03/2012

MessageSujet: Les Entrées / Sorties en ligne de commande   Mer 25 Mar 2015 - 6:13

En réponse à une demande d'Ygeronimi qui voulait une suite à mon article sur la ligne de commande.


Les Entrées / Sorties en ligne de commande

Les commandes (ou programmes) lancés en mode ligne de commande reçoivent des données de l’entrée standard stdin (le clavier), affichent les résultats sur la sortie standard stdout (l’écran) et renvoient les messages d’erreur sur la sortie standard pour les erreurs  stderr(l’écran également).
D’une manière générale, les entrés/sorties en mode invite de commande concernent la console (CON : ) c’est-à-dire le clavier et l’écran.
On appelle ces flux de données des « handles »
Handle : STDIN ; son équivalent numérique : 0 ; c’est le clavier
Handle : STDOUT ; son équivalent numérique : 1 ;  sortie vers la fenêtre de commandes
Handle : STDERR ; son équivalent numérique 2 ;  sorties des erreurs vers la fenêtre de commandes
Handle : UNDEFINED 3-9 marque un handle défini par l’application.

Heureusement nos PC possèdent d’autres entrées/sorties, et on peut rediriger les entrées/sorties standards vers d’autres entrées/sorties et vers (ou à partir) de fichiers.
Le mécanisme de redirection nous permet d’envoyer la sortie console, non pas vers l’écran mais vers un fichier texte. On peut même l’envoyer dans le vide, nulle part (NUL).
On peut aussi demander au programme de considérer que l’entrée provient d’une autre source, un fichier, par exemple au lieu du clavier.

Redirection des sorties stdout et stderr

Pour rediriger la sortie standard vers un fichier, il suffit de faire suivre la commande par le symbole de redirection ‘>’ suivi du nom du fichier de destination. Le symbole ‘>’ fait penser à une flèche indiquant le sens de la sortie.
Exemple : enregistrer le contenu du répertoire dans un fichier
  DIR > Repertoire.txt
Cette commande va d’abord crée un fichier ‘Repertoire.txt’ et y mettra la sortie de la commande DIR.
Si un fichier du même nom ‘Repertoire.txt’ existait déjà, il sera écrasé et remplacé par un nouveau contenu. Ce fichier pourra être manipulé comme n’importe quel fichier texte.
Si vous désirez préserver le contenu du fichier de destination il suffit d’utiliser deux signes ‘>’ consécutifs.
Exemple
Date /t  >>  info.txt
Cette commande ajoutera la date actuelle à la fin du fichier ‘info.txt’ s’il existe, sinon il sera créé.

On peut aussi annuler la sortie standard stdout en redirigeant ce qui lui est destiné vers la sortie ‘NUL’
Exemple : Pour copier un fichier sans voir apparaître le message  "1 fichier(s) copié(s)"
COPY Source.txt  Destination.txt > NUL
Ici, on doit bien faire la différence entre la destination de la copie et la sortie standard qui devrait recevoir le message "1 fichier(s) copié(s)". La copie se fait comme il se doit mais le message destiné à la sortie standard est annulé. Il est à remarquer que si erreur il y a, le message d’erreur, lui, n’est pas annulé. En effet, sa destination est la sortie des erreurs stderr.
Pour annuler ce type de message, on doit demander la redirection de cette seconde sortie en faisant suivre la commande par ‘2> NUL’, comme ceci :
COPY Source.txt  Destination.txt > NUL 2> NUL.

Redirection de l’entrée standard « stdin »
On peut prendre un fichier comme origine des codes à fournir à une commande (ou à un programme).
Exemple :
Faire un fichier qui contient des commandes destinées à la commande HELP
1/  créer un fichier TEST.TXT qui contient le mot  dir
2/ Lancer la commande : HELP < TEST.TXT
La commande help va recevoir le contenu de test.txt, c’est-à-dire comme si on a lancé : HELP DIR
La sortie de la commande se fera sur la sortie standard (l’écran).
Mais on peut aussi combiner les redirections dans une seule commande, comme ceci :
HELP < TEST.TXT > MEMO.TXT
Cette commande va recevoir comme entrée le contenu de TEST.TXT et va rediriger sa sortie vers MEMO.TXT

Les caractères ‘>’ et ‘<’ servent pour rediriger les entrées/sorties vers ou depuis des fichiers.
Imaginons un programme P1 dont le résultat sera envoyé dans un fichier TEMP.TXT. Ce même fichier doit servir comme entrée à un programme P2. Les commandes successives seraient :
P1 > TEMP.TXT
P2 < TEMP.TXT
Autrement dit, les données sorties par le programme P1 servent au programme P2.
Il existe un moyen pour faire passer des données d’un programme à un autre. Pour cela on utilise le ‘pipe’ en anglais, c’est-à-dire ‘tube’ en français. Ce pipe (ou tube) est symbolisé par le caractère | (barre verticale)
Exemple :
DIR | MORE
La sortie de la commande DIR va être envoyée comme entrée au filtre MORE qui affichera les sorties écran par écran.
TYPE Annuaire.txt | SORT  | MORE
Dans cet exemple on utilise deux filtres SORT et MORE
La sortie de la commande TYPE Annuaire.txt (c-à-d afficher le contenu du fichier Annuaire.txt) va être envoyée dans un 1er temps au filtre SORT (qui va trier le contenu de la sortie de TYPE)  et dans un second temps au filtre MORE qui affichera le résultat écran par écran.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
ygeronimi



Nombre de messages : 7009
Age : 45
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Mer 25 Mar 2015 - 7:15

J' attends impatiemment la suite de l' histoire... bounce

Laughing
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jicehel



Nombre de messages : 5744
Age : 44
Localisation : 77500
Date d'inscription : 19/04/2011

MessageSujet: Re: Les Entrées / Sorties en ligne de commande   Mer 25 Mar 2015 - 9:01

Ca ca sent le Papydall qui prépare un article pour le mag Wink
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
papydall



Nombre de messages : 5109
Age : 66
Localisation : Moknine (Tunisie)
Date d'inscription : 03/03/2012

MessageSujet: Re: Les Entrées / Sorties en ligne de commande   Mer 25 Mar 2015 - 18:05

Pour le moment, je n'ai rien à y ajouter. rabbit
ça viendra quand je serai en forme!
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
Jean Claude



Nombre de messages : 4538
Age : 62
Localisation : 83 Var
Date d'inscription : 07/05/2009

MessageSujet: Re: Les Entrées / Sorties en ligne de commande   Mer 25 Mar 2015 - 19:50

HA ! BON ! Parce que tu n'es pas en forme, là, maintenant !

Qu'est-ce que çà va être quand tu le seras !

lol!
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
papydall



Nombre de messages : 5109
Age : 66
Localisation : Moknine (Tunisie)
Date d'inscription : 03/03/2012

MessageSujet: Re: Les Entrées / Sorties en ligne de commande   Mer 25 Mar 2015 - 20:37

Je me souviens quand le DOS était le seul OS dont je disposais :  je manipulais ses commandes avec aisance et je créais des petits bijoux en DOS.
Depuis, les choses ont évolué  beaucoup plus vite que moi, et avec l’âge j’oublie beaucoup de ce que j’avais appris.

Heureusement le cumul des expériences peut parfois sauver la mise. Wink
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
Froggy One



Nombre de messages : 380
Date d'inscription : 06/01/2012

MessageSujet: Re   Jeu 26 Mar 2015 - 19:54

Very Happy Super article, Papydall. Merci !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://gaeldwest.wordpress.com
Contenu sponsorisé




MessageSujet: Re: Les Entrées / Sorties en ligne de commande   Aujourd'hui à 23:54

Revenir en haut Aller en bas
 
Les Entrées / Sorties en ligne de commande
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Les Entrées / Sorties en ligne de commande
» Programmes Panoramic en ligne de commande
» Commander IZArc en ligne de commande
» Demande d'informations complémentaires demandées par The Godfather et impossible à fournir !!!
» Ajouter des légendes à des photos

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC 32 bits :: Présentation et bavardage-
Sauter vers: