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

Paperback(1976. Corr. 5th Printing ed.)

$39.99 
  • SHIP THIS ITEM
    Qualifies for Free Shipping
  • PICK UP IN STORE
    Check Availability at Nearby Stores

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: 9781565924338
Publisher: O'Reilly Media, Incorporated
Publication date: 03/01/1999
Series: In a Nutshell (O'Reilly)
Edition description: 1976. Corr. 5th Printing ed.
Pages: 454
Sales rank: 938,229
Product dimensions: 6.00(w) x 9.00(h) x 0.92(d)

About the Author

Paul Raines is a physicist and scientific programmer at the Stanford Linear Accelerator Center at Stanford Universitywhere he is part of a large collaboration studying CP violation (why charge and parity are not conserved in some particle decays). He is a huge advocate of scripting languages and has been using Tcl on various projects since 1992. He is also the coauthor of O'Reilly & Associates' Tcl/Tk in a Nutshell. When he can get away from the lab, Paul enjoys hiking, bridge, and soccer.

When Jeff Tranter was first exposed to UNIX-based workstations about ten years ago, he dreamed of being able to afford a system with similar capabilities for home use. Today, he sees Linux as the realization of that dream, with the added bonus of being able to examine and modify all of the source code and even contribute to its development. He's been using Linux since 1992 and is the author of the freely available Linux Sound and CD-ROM HOWTO guides. Jeff has also written a number of Linux utilities and several Linux related magazine articles. Jeff received his bachelor's degree in electrical engineering from the Universityof Western Ontario. He currently works as a software designer for a high-tech telecommunications company in Kanata, Ontario, Canada's Silicon Valley North.

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; Conventions; Contact O'Reilly & Associates; About This Book; Acknowledgments; Chapter 1: Introduction; 1.1 What Is Tcl?; 1.2 Structure of This Book; Chapter 2: Tcl Core Commands; 2.1 Overview; 2.2 Basic Language Features; 2.3 Command-Line Options; 2.4 Environment Variables; 2.5 Special Variables; 2.6 Backslash Substitutions; 2.7 Operators and Math Functions; 2.8 Regular Expressions; 2.9 Pattern Globbing; 2.10 Predefined I/O Channel Identifiers; 2.11 Group Listing of Commands; 2.12 Alphabetical Summary of Commands; Chapter 3: Tk Core Commands; 3.1 Example; 3.2 Command-Line Options; 3.3 Environment Variable; 3.4 Special Variables; 3.5 Group Listing of Tk Commands; 3.6 Widget Overview; 3.7 Widget Commands; 3.8 Utility Commands; Chapter 4: The Tcl C Interface; 4.1 Constants; 4.2 Data Types; 4.3 Group Listing of Functions; 4.4 Alphabetical Summary of Functions; Chapter 5: The Tk C Interface; 5.1 Constants; 5.2 Data Types; 5.3 Group Listing of Functions; 5.4 Alphabetical Summary of Functions; Chapter 6: Expect; 6.1 Overview; 6.2 Example; 6.3 Command-Line Options; 6.4 Environment Variables; 6.5 Special Variables; 6.6 Grouped Summary of Commands; 6.7 Alphabetical Summary of Commands; Chapter 7: [incr Tcl]; 7.1 Basic Class Definition; 7.2 Special Variables; 7.3 Group Listing of Commands; 7.4 Example; 7.5 Alphabetical Summary of Commands; Chapter 8: [incr Tk]; 8.1 Basic Structure of a Mega-widget; 8.2 Special Variable; 8.3 Methods and Variables; 8.4 Alphabetical Summary of Commands; Chapter 9: Tix; 9.1 Tix Overview; 9.2 Special Variables; 9.3 Group Listing of Tix Commands; 9.4 Tix Mega-widget Overview; 9.5 Tix Mega-widgets; 9.6 Tix Standard Widgets Overview; 9.7 Tix Standard Widgets; 9.8 Tix Core Commands; 9.9 Tix Extensions to Tk image Command; Chapter 10: TclX; 10.1 Special Variables; 10.2 Group Listing of Commands; 10.3 Alphabetical Summary of Commands; Chapter 11: BLT; 11.1 Environment Variable; 11.2 Special Variables; 11.3 Group Listing of Commands; 11.4 Alphabetical Summary of Commands; Chapter 12: Oratcl; 12.1 Overview; 12.2 Example; 12.3 Environment Variables; 12.4 Special Variables; 12.5 Group Listing of Commands; 12.6 Alphabetical Summary of Commands; Chapter 13: Sybtcl; 13.1 Overview; 13.2 Example; 13.3 Environment Variables; 13.4 Special Variables; 13.5 Group Listing of Commands; 13.6 Alphabetical Summary of Commands; Chapter 14: Tclodbc; 14.1 Overview; 14.2 Group Listing of Commands; 14.3 Summary of Commands; Chapter 15: Hints and Tips for the Tcl Programmer; 15.1 Think Commands, Not Statements; 15.2 Comments Are Treated as Commands; 15.3 A Symbolic Gesture; 15.4 Lists Are Strings, but Not All Strings Are Lists; 15.5 Indirect References; 15.6 Executing Other Programs; 15.7 When Is a Number Not a Number?; 15.8 Quoting and More Quoting; 15.9 Write Once, Run Where?; 15.10 Common Tk Errors; 15.11 Use the Source, Luke!; Tcl Resources; Web Sites; Usenet Newsgroups; Mailing Lists; Colophon;
From the B&N Reads Blog

Customer Reviews