Tcl/Tk in a Nutshell: A Desktop Quick Reference

Tcl/Tk in a Nutshell: A Desktop Quick Reference

Tcl/Tk in a Nutshell: A Desktop Quick Reference

Tcl/Tk in a Nutshell: A Desktop Quick Reference

eBook

$23.99  $31.99 Save 25% Current price is $23.99, Original price is $31.99. You Save 25%.

Available on Compatible NOOK devices, the free NOOK App and in My Digital Library.
WANT A NOOK?  Explore Now

Related collections and offers


Overview

The Tcl language and Tk graphical toolkit are simple and powerful building blocks for custom applications. The Tcl/Tk combination is increasingly popular because it lets you produce sophisticated graphical interfaces with a few easy commands, develop and change scripts quickly, and conveniently tie together existing utilities or programming libraries.One of the attractive features of Tcl/Tk is the wide variety of commands, many offering a wealth of options. Most of the things you'd like to do have been anticipated by the language's creator, John Ousterhout, or one of the developers of Tcl/Tk's many powerful extensions. Thus, you'll find that a command or option probably exists to provide just what you need.And that's why it's valuable to have a quick reference that briefly describes every command and option in the core Tcl/Tk distribution as well as the most popular extensions. Keep this book on your desk as you write scripts, and you'll be able to find almost instantly the particular option you need.Most chapters consist of alphabetical listings. Since Tk and mega-widget packages break down commands by widget, the chapters on these topics are organized by widget along with a section of core commands where appropriate. Contents include:

  • Core Tcl and Tk commands and Tk widgets
  • C interface (prototypes)
  • Expect
  • [incr Tcl] and [incr Tk]
  • Tix
  • TclX
  • BLT
  • Oratcl, SybTcl, and Tclodbc

Product Details

ISBN-13: 9780596555795
Publisher: O'Reilly Media, Incorporated
Publication date: 03/25/1999
Series: In a Nutshell (O'Reilly)
Sold by: Barnes & Noble
Format: eBook
Pages: 456
File size: 4 MB

About the Author


Paul Raines is a physicist and scientific programmer at the Stanford Linear Accelerator Center at Stanford University where he is part of a large collaboration studying CP violation (why charge times parity is not conserved in some particle decays, an arcane research topic that bears on the more understandable question of why there is an excess of matter over antimatter in the universe). He is a huge advocate of scripting languages and has been using Tcl on various projects since 1992. He also maintains a freely distributable quick- reference guide for Tcl/Tk, now published as O'Reilly & Associates' Tcl/Tk Pocket Reference. When he can get away from the lab, Paul enjoys hiking, bridge, and soccer. He lives in San Mateo, California, with his wife Deborah and her horse and three cats.

Jeff Tranter works as a software designer for a Canadian telecommunications company and has been using Tcl since 1992 on a number of programming projects related to software tools and testing. He is an active user of Linux, a contributor to the Linux Documentation Project, and author of the O'Reilly book Linux Multimedia Guide. His hobbies include Ham radio, playing guitar, and mountain biking.

Read an Excerpt


Chapter 1: Introduction

This chapter presents a brief history of and an introduction to the Tcl language and describes how this book is organized.

What Is Tcl?

In the early 1980s John Ousterhout, then at the University of California at Berkeley, was working with a group that developed hardware design tools. They found that they kept inventing a new scripting language with each new tool they developed. It was always added as an afterthought and poorly implemented. John decided to create a general-purpose scripting language that could be reused when developing new tools. He called the language Tcl, for tool command language, made it freely available for download, and presented it at the Winter 1990 USENIX conference. It soon became popular, with an estimated 50 Tcl applications written or in development one year later.

One of the attendees at Ousterhout's presentation, Don Libes, saw the applicability of Tcl to a problem he was working on. Within a few weeks he developed the first version of Expect, which became the first killer application for Tcl, driving many people to install Tcl who might have otherwise ignored it.

Ousterhout's philosophy is to embed a scripting language inside applications. Combining the advantages of a compiled language like C (portability, speed, access to operating system functions) with those of a scripting language (ease of learning, runtime evaluation, no compilation) gives an overall reduction in development time and opportunities for creating small, reliable, and reusable software components. An application with an embedded Tcl interpreter can be extended and customized by the end user in countless ways.

The Tcl interpreter has a well-defined interface and is typically built as an object library, making it easy to extend the basic language with new commands. Tcl can also be used as a prototyping language. An application can be written entirely in Tcl, and once the design is proven, critical portions can be rewritten in C for performance reasons.

A year later, at the Winter USENIX conference, Ousterhout presented Tk, a graphical toolkit for Tcl that made it easy to write applications for the X11 windowing system. it also supported the send command, a simple yet powerful way to allow Tk applications to communicate with each other.

Since then, with dozens of Tcl extensions, many of them designed to solve problems related to specific domains such as graphics and relational databases, the Tcl programming environment has become even more powerful. Today, Tcl runs on Unix, Macintosh, and Windows platforms, and even inside a web browser. It has a huge installed base of users and applications, both free and commercial. As Tcl approaches its tenth anniversary, it is poised to continue its growth in popularity.

Structure of This Book

Following this brief introduction, Chapter 2 covers the core features of the Tcl language itself. Chapter 3 covers Tk, the graphical user interface (GUI) toolkit that is probably the most popular Tcl extension. Chapter 4 covers the C-language application programming interface for Tcl, and Chapter 5 does the same for Tk.

Each language extension chapter follows a similar format: after a brief introduction, any special global and environment variables are described, followed by a logically grouped summary of the commands. The heart of each chapter is an alphabetical summary of each command that lists the options in detail. Short programming examples are provided for the more complex commands.

Chapter 6 covers Expect, the first popular application to be built using Tcl. Chapter 7 is on [incr Tcl], which adds object-oriented programming features to Tcl. Chapter 8 covers [incr Tk], a framework for object-oriented graphical widgets built using [incr Tcl].

Chapter 9 covers Tix, a Tk extension that adds powerful graphical widgets. Chapter 10 is on TclX, also known as Extended Tel, a number of extensions that make Tcl more suited to general-purpose programming. Chapter 11 is on BLT, which provides a number of useful new commands for producing graphs, managing data, and performing other graphics-related functions.

Tcl has good support for relational databases. Chapter 12 and Chapter 13 cover the Tcl extensions for the popular Oracle and Sybase relational databases, and Chapter 14 describes Tclodbc, which supports the Microsoft Windows ODBC database protocol.

Chapter 15, Hints and Tips for the Tcl Programmer, by Tom Poindexter, departs from the style of the rest of the book somewhat by presenting a collection of tips for using Tcl effectively, commonly made errors, and suggestions on programming style.

The Appendix, Tcl Resources, lists further resources on Tcl, both in print and on the Internet. The index cross-references the material in the book, including every Tcl command described in the text.

Table of Contents

Preface

Chapter 1. Introduction
What Is Tcl?
Structure of This Book

Chapter 2. Tcl Core Commands
Overview
Basic Language Features
Command-Line Options
Environment Variables
Special Variables
Backslash Substitutions
Operators and Math Functions
Regular Expressions
Pattern Globbing
Predefined I/O Channel Identifiers
Group Listing of Commands
Alphabetical Summary of Commands

Chapter 3. Tk Core Commands
Example
Command-Line Options
Environment Variable
Special Variables
Group Listing of Tk Commands
Widget Overview
Widget Commands
Utility Commands

Chapter 4. The Tcl C Interface
Constants
Data Types
Group Listing of Functions
Alphabetical Summary of Functions

Chapter 5. The Tk C Interface
Constants
Data Types
Group Listing of Functions
Alphabetical Summary of Functions

Chapter 6. Expect
Overview
Example
Command-Line Options
Environment Variables
Special Variables
Grouped Summary of Commands
Alphabetical Summary of Commands

Chapter 7. [incr Tcl]
Basic Class Definition
Special Variables
Group Listing of Commands
Example
Alphabetical Summary of Commands

Chapter 8. [incr Tk]
Basic Structure of a Mega-widget
Special Variable
Methods and Variables
Alphabetical Summary of Commands

Chapter 9. Tix
Tix Overview
Special Variables
Group Listing of Tix Commands
TixMega-widget Overview
Tix Mega-widgets
Tix Standard Widgets Overview
Tix Standard Widgets
Tix Core Commands
Tix Extensions to Tk image Command

Chapter 10. TclX
Special Variables
Group Listing of Commands
Alphabetical Summary of Commands

Chapter 11. BLT
Environment Variable
Special Variables
Group Listing of Commands
Alphabetical Summary of Commands

Chapter 12. Oratcl
Overview
Example
Environment Variables
Special Variables
Group Listing of Commands
Alphabetical Summary of Commands

Chapter 13. Sybtcl
Overview
Example
Environment Variables
Special Variables
Group Listing of Commands
Alphabetical Summary of Commands

Chapter 14. Tclodbc
Overview
Group Listing of Commands
Summary of Commands

Chapter 15. Hints and Tips for the Tcl Programmer
Think Commands, Not Statements
Comments Are Treated as Commands
A Symbolic Gesture
Lists Are Strings, but Not All Strings Are Lists
Indirect References
Executing Other Programs
When Is a Number Not a Number?
Quoting and More Quoting
Write Once, Run Where?
Common Tk Errors
Use the Source, Luke!

Appendix A. Tcl Resources

Index

From the B&N Reads Blog

Customer Reviews