Предисловие 3

Основы Tcl 5
Консоль 5
Структуры данных 6
Переменные 6
Строки 13
Списки 23
Массивы 33
Управление интерпретатором 40
Команды управления выполнением программы 41
Команды условного перехода 43
Команда eval 50
Работа с файлами 51
Определение текущей директории 51
Изменение текущей директории 52
Получение списка файлов в директории 53
Получение информации о файловой системе и файлах 55
Чтение и запись 61
Манипуляции файлами 68
Обработка ошибок 70
Трассировка 74
Получение информации об интерпретаторе 77
Процедуры 83
Создание процедуры 83
Добавление процедуры в библиотеку 86
Выполнение «внешних» программ 88
Работа с Tcl’ем на языке С 89
Расширение возможностей Tcl’я 89
Создание и удаление интерпретатора 89
Представление данных Tcl’я 91
Функции для работы с внутренним представлением 95
Функции для работы со строковым представлением 99
Выполнение скриптов Tcl’я в программах на С 100
Создание «собственной» среды исполнения скриптов
( Tcl_Main() и Tcl_AppInit() ) 115
Создание новых команд 117
Виджеты и окна 120
Создание интерфейса пользователя 120
Скрипты и события 122
Виджеты и команды 122
Создание меню и работа с ними 122
Создание главного окна приложения 123
Создание основного меню приложения 124
Создание подменю
и добавление его в основное меню 124
Добавление элементов в меню 128
Работа с индексами элементов меню 131
Вставка и удаление элементов из меню 134
Изменение состояния элемента меню 134
Менеджеры размещения элементов 137
Менеджер расположения Placer 139
Менеджер расположения Packer 144
Реакция виджетов на сообщения Windows 153
Метки и кнопки 158
Метки 158
Кнопки 159
Окна ввода 168
Окна ввода текста 168
Окна ввода многострочного текста 175
Окна списков 183
Полосы прокрутки 189
Работа с Tk на языке С 190
Приложение I. Список команд Tcl’я 191
Приложение II. Список математических операций,
реализованных в Tcl’е 194
Приложение III. Список математических функций,
допустимых в Tcl’е 196
Приложение IV. Предопределенные переменные
интерпретатора 197
Приложение V. Подкоманды виджета типа меню 199
Приложение VI. Опции, используемые
при создании всех типов виджетов 200
Приложение VII. Опции команды add и их назначение 203
Приложение VIII. Опции команды place и их назначение 205
Приложение IX. Опции команды pack и их назначение 206
Приложение X. Подстановки, используемые
в описаниях событий 208
Приложение XI. Значения полей, возникающие
при обработке событий, происходящих с мышью 209
Приложение XII. Значения полей, возникающие
при обработке событий, происходящих на клавиатуре 210
Приложение XIII. Опции подкоманды tag 211