Books Home

Tcl / Tk

Apprentissage et Référence

 

Bernard Desgraupes

464 pages - CD_ROM

ISBN 2-7117-8679-X

Editions Vuibert Informatique Paris 2002

 

Table des matières

 Introduction

        Les langages de scripts    XVII

        Extensibilité de Tcl    XVIII

        Apprentissage de Tcl    XX

        Comment lire cet ouvrage    XX

APPRENTISSAGE DE TCL/TK

Chapitre 1 Fonctionnement de Tcl

1.1 Lancement de Tcl    3

1.2 Un premier exemple    4

    1.2.1 Exemple avec tclsh    4

    1.2.2 Exemple avec wish    5

1.3 Programmes exécutables    6

    1.3.1 Exécutables sur Unix    6

    1.3.2 Exécutables sur MacOS    7

    1.3.3 Exécutables sur Windows     8

Chapitre 2 Notions de base

2.1 Commandes    9

2.2 Types de variables    12

2.3 Substitution et interpolation    16

    2.3.1 Interprétation des instructions    16

    2.3.2 Guillemets et accolades    17

    2.3.3 Commentaires    18

    2.3.4 Métacaractères    18

    2.3.5 Eliminer les risques d'ambigu ïté    19

2.4 Durée de vie des variables    20

2.5 Manipulation des cha înes    21

    2.5.1 La commande append    21

    2.5.2 La commande string    21

        Longueur de cha înes    22

        Casse des caractères    22

        Sous-cha înes    23

        Comparaison de cha înes    25

        Recherche de correspondances    25

2.6 Manipulation des listes    28

    2.6.1 Création et modification de listes    28

    2.6.2 Concaténation des listes    30

    2.6.3 Recherche et tri dans une liste    32

2.7 Manipulation des tableaux    33

    2.7.1 Constitution de tableaux    34

    2.7.2 Parcourir un tableau    35

2.8 Abréviation des commandes    36

2.9 Les variables numériques    37

Chapitre 3 Structures de contrôle

3.1 Structures conditionnelles    41

    3.1.1 La commande if    42

    3.1.2 La commande switch    44

3.2 Boucles itératives    46

    3.2.1 La commande while    47

    3.2.2 La commande for    47

    3.2.3 La commande foreach    49

3.3 Les ruptures    50

3.4 Capture des erreurs    52

Chapitre 4 Les procédures

4.1 Les procédures    55

    4.1.1 La commande proc    56

    4.1.2 Valeurs par défaut    59

    4.1.3 Arguments variables    60

    4.1.4 Procédures récurrentes    61

    4.1.5 Renommer une commande    61

    4.1.6 Interruption d'un script    62

4.2 L'évaluation des instructions    63

    4.2.1 Double évaluation des instructions    63

    4.2.2 Double évaluation des expressions    64

4.3 Portée des variables    65

    4.3.1 L'espace global    65

    4.3.2 Les niveaux d'évaluation    67

    4.3.3 Les espaces de noms    70

        Définition des espaces de noms    70

        La commande variable    73

        Informations sur les espaces de noms    75

        Importation et exportation de commandes    76

4.4 Commandes liées à des variables    78

4.5 Temporisation des scripts    81

    4.5.1 Délais de pause    82

    4.5.2 Procédures de rappel    82

    4.5.3 Noms d'espaces et procédures de rappel    85

Chapitre 5 Les fichiers

5.1 Conventions concernant les noms de fichiers    87

5.2 La commande file    90

    5.2.1 Manipulation des chemins    90

    5.2.2 Nature des chemins    92

    5.2.3 Copies de fichiers    93

    5.2.4 Attributs de fichiers    94

    5.2.5 Création et accès    95

5.3 Ouverture et fermeture de fichiers    95

5.4 Lecture et écriture de fichiers    96

5.5 Listes de fichiers    98

5.6 Navigation dans le système de fichiers    100

Chapitre 6 Formatage et encodage de données

6.1 Formatage des cha înes de caractères    103

    6.1.1 Spécification de format    103

    6.1.2 Écriture d'une cha îne formatée    106

    6.1.3 Lecture d'une cha îne formatée    107

6.2 Date et heure    109

    6.2.1 Evaluation des performances    113

6.3 Encodage des caractères    114

    6.3.1 Les encodages reconnus par Tcl    115

    6.3.2 Configuration des encodages d'entrée et de sortie    116

    6.3.3 La commande encoding    117

    6.3.4 La représentation des caractères Unicode    118

6.4 Traitement des données binaires    119

    6.4.1 La commande binary format    119

    6.4.2 La commande binary scan    121

Chapitre 7 Les expressions régulières

7.1 La syntaxe des expressions régulières    125

    7.1.1 Les métacaractères    126

    7.1.2 Les séquences d'échappement    127

    7.1.3 Les motifs de substitution    128

    7.1.4 La syntaxe avancée    130

        Quantificateurs    130

        Parenthèses spéciales    131

        Classes de caractères    132

        Directives optionnelles    133

        Sélecteur d'interprétation    134

7.2 La commande regexp    135

    7.2.1 Options de recherche    136

7.3 La commande regsub    137

7.4 Le problème de la double interprétation    138

7.5 Autres commandes utilisant les expressions régulières    139

Chapitre 8 Tk: l'interface graphique

8.1 Présentation de Tk    142

    8.1.1 Trois exemples introductifs    142

        Premier exemple: une bo îte d'alerte    143

        Deuxième exemple: un convertisseur francs/euros    145

        Troisième exemple: une illustration photographique    146

    8.1.2 La syntaxe générale de Tk    148

8.2 Les composants graphiques    150

    8.2.1 Éléments de base    150

    8.2.2 Les dialogues prédéfinis de Tk    151

8.3 Le placement des objets    152

    8.3.1 La méthode de placement pack    153

        Options de la commande pack    155

        Sous-commandes de la commande pack    157

    8.3.2 La méthode de placement grid    159

        Options de la commande grid    159

        Sous-commandes de la commande grid    162

    8.3.3 La méthode de placement place    163

        Options de la commande place    164

        Sous-commandes de la commande place    166

Chapitre 9 Les widgets

9.1 Les options communes    168

9.2 Les méthodes communes    171

9.3 Création des éléments graphiques    173

    9.3.1 Les cadres    174

        Les options standards de la commande frame    174

        Les options spécifiques de la commande frame    174

        Exemple    175

    9.3.2 Les boutons    176

        Les options standards de la commande button    176

        Les options spécifiques de la commande button    177

        Exemple 1    178

        Exemple 2    179

    9.3.3 Les étiquettes    180

        Les options standards de la commande label    180

        Les options spécifiques de la commande label    181

        Exemple    181

    9.3.4 Les messages    182

        Les options standards de la commande message    182

        Les options spécifiques de la commande message    182

        Exemple    183

    9.3.5 Les cases à cocher    183

        Les options standards de la commande checkbutton    184

        Les options spécifiques de la commande checkbutton    184

        Exemple 1    185

        Exemple 2    187

    9.3.6 Les boutons-radios    189

        Les options standards de la commande radiobutton    189

        Les options spécifiques de la commande radiobutton    189

        Exemple 1    190

        Exemple 2    191

    9.3.7 Les menus et boutons de menu    193

        Stratégies pour la création de menus    193

        Les options standards des menus    194

        Les options spécifiques de la commande menubutton    195

        Les options spécifiques de la commande menu    195

        Définition des articles de menus    196

        Exemple 1    197

        Exemple 2    198

        Exemple 3    199

    9.3.8 Les champs de saisie    200

        Les options standards de la commande entry    200

        Les options spécifiques de la commande entry    201

        Exemple 1    201

        Exemple 2    203

        Exemple 3    204

    9.3.9 Les bo îtes de liste    205

        Les options standards de la commande listbox    205

        Les options spécifiques de la commande listbox    205

        Exemple    206

    9.3.10 Les échelles graduées    207

        Les options standards de la commande scale    207

        Les options spécifiques de la commande scale    207

        Exemple    208

    9.3.11 Les barres de défilement    211

        Les options standards de la commande scrollbar    211

        Les options spécifiques de la commande scrollbar    211

        Exemple 1    212

        Exemple 2    213

    9.3.12 Les fenêtres    214

        Les options standards de la commande toplevel    214

        Les options spécifiques de la commande toplevel    215

        Exemple 1    216

        Exemple 2    217

    9.3.13 Les objets de texte    219

        Désignation des caractères par indices    220

        Les options standards de la commande text    221

        Les options spécifiques de la commande text    222

        Balises de texte    223

        Sélection de texte    227

        Inclusion d'images et de fenêtres    228

        Recherche de texte    228

        Liaisons associées aux balises de texte    230

        Marquage de texte    232

        Les sous-commandes de la commande text    233

    9.3.14 Les canevas    235

        Exemple préliminaire de canevas    235

        Les objets de canevas    237

        Les options standards de la commande canvas    238

        Les options spécifiques de la commande canvas    239

        La désignation des objets    239

        Opérations sur les canevas    240

        Exemple 1    243

    9.3.15 Les spinbox    245

        Les options standards de la commande spinbox    246

        Les options spécifiques de la commande spinbox    246

        Exemple    247

    9.3.16 Les images    248

        La commande image    248

        La sous-commande bitmap    250

        La sous-commande photo    251

        Exemple 1    251

        Exemple 2    252

9.4 Utilisation d'Unicode dans les widgets    254

Chapitre 10 Contrôle de l'interface avec Tk

10.1 Le contrôle des caractéristiques graphiques    257

    10.1.1 Les informations relatives aux fenêtres    257

    10.1.2 La gestion des fenêtres    258

    10.1.3 Empilement des fenêtres    261

    10.1.4 Destruction des fenêtres    261

        Exemple 1    261

        Exemple 2    262

    10.1.5 Les polices    263

        Désignation des polices    263

        Opérations sur les polices    264

        Propriétés métriques des polices    265

        Exemple    266

    10.1.6 Les curseurs    268

    10.1.7 Les couleurs    271

        Désignation des couleurs    271

        Palettes de couleurs    272

        Les cartes de couleurs    272

    10.1.8 Bip interne    273

10.2 Les événements et les liaisons    274

    10.2.1 Exemples préliminaires    275

    10.2.2 Mise à jour de l'interface    277

    10.2.3 Lier un événement à une action    280

    10.2.4 Désignation des événements    280

    10.2.5 Les séquences de substitution    282

    10.2.6 Événements multiples et événements virtuels    284

    10.2.7 Interception des événements    287

        La commande focus    288

        La commande grab    289

        La commande tkwait    291

    10.2.8 La portée des liaisons    293

10.3 Sélection et copie    298

10.4 Communication entre des processus Tk    300

10.5 Questions de sécurité avec Tk    304

10.6 La base de données de ressources    305

    10.6.1 Désignation des ressources    305

    10.6.2 Déclaration et récupération des ressources    307

    10.6.3 Exemple de ressources    308

    10.6.4 Stockage des ressources    310

10.7 Mégawidgets    311

    10.7.1 Panneaux multiples    312

        Procédure de création    313

        Procédure d'ajout de panneaux    314

        Procédure d'affichage    314

        Utilisation des panneaux multiples    316

        Contrôle du panneau multiple    318

    10.7.2 Contrôleur de pages    320

        Procédure de création    320

        Procédure d'ajout de pages    321

        Procédure d'affichage    322

        Procédure de dessin    323

        Utilisation des contrôleurs de pages    325

Chapitre 11 Interprétation et exécution

11.1 Les interpréteurs    327

    11.1.1 Création de nouveaux interpréteurs    328

    11.1.2 Interpréteurs sécurisés    330

    11.1.3 Création d'alias pour les commandes    331

    11.1.4 Visibilité des variables    333

    11.1.5 Transfert et partage de canaux    333

    11.1.6 Syntaxe simplifiée des interpréteurs esclaves    334

    11.1.7 Informations sur les interpréteurs    335

        La commande info    335

        Les variables internes de Tcl    336

11.2 Les bibliothèques de procédures    338

    11.2.1 Les chemins d'accès    339

    11.2.2 L'indexation des répertoires de procédures    340

    11.2.3 La gestion des bibliothèques    342

    11.2.4 La commande unknown    345

11.3 Les extensions    345

    11.3.1 Définition des extensions    345

    11.3.2 Chargement des extensions    346

11.4 La gestion des erreurs    347

    11.4.1 Émission et transmission des erreurs    348

    11.4.2 Erreurs dans les procédures de rappel    350

11.5 Historique des commandes    351

    11.5.1 Syntaxe de la commande history    352

    11.5.2 Raccourcis de la commande history    353

Chapitre 12 Canaux de communication

12.1 Exécution de processus externes    355

    12.1.1 La commande exec    355

    12.1.2 Transmission des erreurs externes    356

12.2 Ouverture de connexions    356

    12.2.1 Connexion en lecture    357

    12.2.2 Connexion en écriture    360

    12.2.3 Configuration d'une connexion    360

        Transfert par tampons    361

        Blocage d'un canal    361

        Encodage des données    362

    12.2.4 Connexion bidirectionnelle    362

    12.2.5 Identification des processus    364

12.3 Connexions de réseau    365

    12.3.1 Modèle client/serveur    366

    12.3.2 Modèle sécurisé    368

12.4 Transferts entre canaux    370

ANNEXES

Annexe A - Extensions de Tcl

A.1 Extensions compilées    374

    A.1.1 Exemple d'extension    375

    A.1.2 Bibliothèques de stubs    378

    A.1.3 Génération automatique avec Swig    379

A.2 Applications incorporant Tcl    381

Annexe B - Particularités des environnements

B.1 Développement indépendant des plates-formes    383

        Accès aux ressources du système    384

        Le système de fichiers    384

        Les polices    384

        Les menus    384

        Les événements virtuels    385

        Différentiation entre plates-formes    385

B.2 Commandes spécifiques    385

B.3 Communication entre applications    386

    B.3.1 Échanges de données sur Unix    386

    B.3.2 Échanges de données sur Macintosh    386

    B.3.3 Échanges de données sur Windows    388

Annexe C - Les couleurs de Tcl/Tk

Annexe D - Les touches symboliques

Annexe E - Bibliographie

E.1 Ouvrages édités    405

E.2 Publications électroniques    406

Annexe F - Tcl/Tk sur l'Internet

Sites officiels    409

Code source et portages    409

Discussion et échange    411

Pages de ressources    412

Applications et extensions    412

TCL et les autres langages    416

Annexe G - Lexique anglais-français

Annexe H - Contenu du CD-ROM

Index

REFERENCE DE TCL/TK

Référence de Tcl sur CD-ROM

Référence de Tk sur CD-ROM