Book Image

Tcl/Tk 8.5 Programming Cookbook

Book Image

Tcl/Tk 8.5 Programming Cookbook

Overview of this book

With Tcl/Tk, you can create full-featured cross-platform applications in a simple and easy-to-understand way without any expensive development package; the only tools required are a simple text editor and your imagination. This practical cookbook will help you to efficiently interact with editors, debuggers, and shell type interactive programs using Tcl/Tk 8. This cookbook will comprehensively guide you through practical implementation of Tcl/Tk 8.5 commands and tools. This book will take you through all the steps needed to become a productive programmer in Tcl/Tk 8. Right from guiding you through the basics to creating a stand-alone application, it provides complete explanation of all the steps along with handy tips and tricks. The book begins with an introduction to the Tcl shell, syntax, variables, and programming best practices in the language. It then explores procedures and the flow of events with control constructs followed by advanced error trapping and recovery. From Chapter 4, a detailed study of string expressions and handling enables you to handle various string functions and use lists to expand the string functionality. The book then discusses in-depth the Tcl Dictionary and how to utilize it to store and retrieve data. File operations and Tk GUI handling are covered extensively along with a developing a real-world address book application to practice the concepts learned.
Table of Contents (20 chapters)
Tcl/Tk 8.5 Programming Cookbook
About the Author
About the Reviewers

Reading a file

Reading a file allows us to retrieve the stored data from the open channel. To accomplish this Tcl provides the read command. The command utilizes two forms. The syntax is as follows:

read -nonewline channel
read channel number

How to do it…

Enter the following command:

% set fp [open text.txt r]
% read $fp
Hello World

How it works…

In the first form, the read command reads all the data from the channel. If the optional nonewline switch is provided then the last character of the file is discarded if it is a newline. In the second form, the number argument instructs the command to return the number of characters specified unless there are fewer characters in the file in which case all characters will be returned.

By using the read command we accessed the channel and the data read from the file was displayed. As referenced in the previous tables detailing access permissions, the channel can be set to non-blocking with the optional NONBLOCK POSIX keyword. If the channel is...