Beruflich Dokumente
Kultur Dokumente
Le Langage TCL/TK
PROGRAMMATION RSEAU
Dr.BOUHORMA Pr.ANOUAR
Le Langage TCL
2
Tool Command Language: Dvelopp par :Professor John K. Ousterhout Universit de California Berkeley
Trs puissant, Facile apprendre , Dynamique; adapt une trs large gamme d'utilisations, Langage Scripts avec syntaxe du shell UNIX, Oprations Commandes,
FST de Tanger
25/10/2010
Le Langage TCL
3
Support par plusieurs Plateformes (Win, Mac Os, Linux, Solaris) Compil interprt Peut avoir extension C, Flexible : Extensibilit aux concepts de la POO
FST de Tanger
25/10/2010
Le Langage TCL
4
FST de Tanger
25/10/2010
Le Langage TCL
5
INSTALLATION
A. Pour Windows:
FST de Tanger
25/10/2010
Le Langage TCL
6
http://www.eclipse.org/downloads/
FST de Tanger
25/10/2010
Le Langage TCL
7
FST de Tanger
25/10/2010
Le Langage TCL
8
http://www.activestate.com/komodo
FST de Tanger
25/10/2010
Le Langage TCL
9
FST de Tanger
25/10/2010
Le Langage TCL
10
FST de Tanger
25/10/2010
Le Langage TCL
11
Quelques Commandes : Les Commentaires #Ceci Dsigne un commentaire Afficher un message puts " Ceci est un message" Initialiser une valeur set VAL 3 Fonction Mathmatiques Supports
Abs cosh isqrt sin acos double log sinh asin entier log10 sqrt atan exp max srand atan2 floor min tan bool fmod pow tanh ceil hypot rand wide cos int round
FST de Tanger
25/10/2010
Le Langage TCL
12
Quelques Commandes :
Exemple 1:
% set x 1 % set w ABCDEF % expr { [string length $w]-2*$x } Rsultat? 4 Exemple 3: %puts [expr { sqrt($Y) }]\n" Rsultat? 16 Exemple 4: % set A 3 % set B 4 % puts [expr {hypot($A,$B)}]" Rsultat? 05
Exemple 2:
set X 100 set Y 256 set Z [expr {$Y + $X}] set Z_LABEL "$Y plus $X est $Z"} Rsultat? 256 plus 100 est 356 % % % %
http://www.activestate.com/activetcl/
FST de Tanger
25/10/2010
Le Langage TCL
13
Quelques Commandes :
Exemple 1: set x 1 if {$x == 2} {puts "$x est 2"} else {puts "$x diffrent de 2"} Rsultat? 1 diffrent de2
Exemple 3:
for {set i 0} {$i < 10} {incr i} { puts " La valeur de I est : $i" } Rsultat? La valeur de I est : 0
La valeur de I est : 1 La valeur de I est : 2 La valeur de I est : 3 La valeur de I est : 4 La valeur de I est : 5 La valeur de I est : 6 La valeur de I est : 7 La valeur de I est : 8 La valeur de I est : 9
Exemple 2: set i 1; while {$i<=10} {incr i} Puts $i; Expr {2/3}; 11 Rsultat? 0
FST de Tanger
25/10/2010
Le Langage TCL
14
Les Procdures :
Exemple 1: proc Somme {arg1 arg2} { set x [expr {$arg1 + $arg2}]; return $x } puts " La somme de 2 + 3 Vaut: [Somme 2 3]\n\n" Rsultat? La somme de 2 + 3 Vaut: 5 Exemple 1: proc racine {arg} { set x [expr {sqrt($arg)}]; return $x;} puts [racine 50] 7.0710678118654755 Rsultat?
FST de Tanger
25/10/2010
Le Langage TCL
15
Les Procdures :
Exercice 1: Ecrire La procdure factoriel affichant le rsultat de calcul ainsi: % puts [Factoriel 5] Solution: 120 proc Factoriel {x} { set i 1; set mult 1 while {$i <= $x} { set mul [expr $mul * $i] incr i } return $mul }
FST de Tanger
25/10/2010
Le Langage TCL
16
Les Sockets :
Socket Client: Le Client peut accder aux sockets dun serveur en spcifiant ladresse du hte et le port. set s [socket www.microsoft.com 80]
Options Client: socket ? -async? ?-myaddr address? ?-myport myport? host port
Socket Server: Le Serveur Socket permet un accs multiple de clients set mainSocket [socket -server Accept 2540] proc Accept {newSock addr port} { puts "Accept $newSock from $addr port $port" } vwait forever
Options Server: socket -server callback ?-myaddr address? port
FST de Tanger
25/10/2010
Le Langage TCL
17
Autre Commande
1). %puts [info patchlevel] # Version de linterpreteur 8.5.9 2). % set str "Master SIR" # Calcul la Longueur dune chaine % string length $str 10 3). % string reverse $str # Renverse une chaine RIS retsaM
FST de Tanger
25/10/2010
Le Langage TCL
La boite outils graphique TK
18
Les Boutons
1). % button .exemple -text FIN-command exit % pack .exemple 2). % proc flip {} { > global position > set position [expr 1 - $position] > set MOT [lindex MASTER SIR" $ position] > .tog configure -text $ MOT >} % set position 0 % button .exo -text FIN -command exit % button .tog -text MASTER -command flip % pack .tog.exo
FST de Tanger
25/10/2010
Le Langage TCL
La boite outils graphique TK
19
Les Menus
menubutton .mb -text Exemple -menu .mb.menu pack .mb -padx 10 -pady 10 set m [menu .mb.menu] $m add command -label Salut! -command {puts "Bonjour, M1!"} $m add check -label Boolean -variable msg -command {puts "Message = $msg"} $m add separator $m add cascade -label Programmation -menu $m.sub1 set m2 [menu $m.sub1] $m2 add radio -label C# -variable Programmation -value C# $m2 add radio -label Java -variable Programmation -value J2EE $m2 add radio -label C++ -variable Programmation -value C++
FST de Tanger
25/10/2010
Le Langage TCL
La boite outils graphique TK
20
Les Menus
menu .menubar . config -menu .menubar foreach m {Fichier Edition Help} { set $m [menu .menubar.m$m] .menubar add cascade -label $m -menu .menubar.m$m } $File add command -label Quitter -command exit
FST de Tanger
25/10/2010
Le Langage TCL
La boite outils graphique TK
21
TP1 : ( rendre*)
1.Raliser une petite interface graphique permettant de simuler une calculatrice.
Renvoi le dossier ou chemin courant. Permet dafficher le contenu du dossier courant. Permet daccder un chemin saisie en une zone de texte,
FST de Tanger
Le Langage TCL
La boite outils graphique TK
22
TP2 :
1.
Une fois que vous installez NS2, raliser une interface qui permet de :
a. b. c.
Lancer une simulation dun script tcl avec la commande ns, Lancer loutil xgraph, Lancer le visualisateur nam.
FST de Tanger
25/10/2010
Le Langage TCL
La boite outils graphique TK
23
set can [open "C://Exemple1.txt" w] # Mode Ecriture puts $can "Version du TCL : [info tclversion] " puts $can "Programmation rseau" puts $can " Fin du texte " close $can
FST de Tanger
25/10/2010
Le Langage TCL
La boite outils graphique TK
24
Les Fichiers Le Tcl permet la lecture et lcriture dans un fichier: set can1 [open "c://Exemple1.txt" r] # Mode Lecture while {![eof $can1]} { gets $can1 line puts "Line: > $line <" } close $can1
FST de Tanger
25/10/2010
Le Langage TCL
La boite outils graphique TK
25
Les Fichiers Quelques Manipulations: file copy c://exemple1.txt d:// # copier un fichier file delete d://exemple1.txt #supprimer un fichier file mkdir c://MASTER1 #Crer un dossier ..
FST de Tanger
25/10/2010
Le Langage TCL
La boite outils graphique TK
26
TP3 : 1. Crer un fichier nomm atelier3.txt qui contient les informations de la figure 1: 2. laide de la commande grep crer dans un autre fichier les informations ayant en premier ligne la lettre a . 3. En utilisant le package xgraph de NS2 tracer un graphique les donnes de la colonne 3 en fonction de la colonne 2 (figure 2).
20 15 10 5 0 2 2 1 15 1 9 10 1
Fig.1
FST de Tanger
Fig.2 25/10/2010