TCL/TK tool command language toolkit 指导老师:肖炳甲 学生:林冬涛.

Slides:



Advertisements
Similar presentations
VirtualSim Inc. Real tools for virtual worlds Presentation.
Advertisements

Introduction To Java Objectives For Today â Introduction To Java â The Java Platform & The (JVM) Java Virtual Machine â Core Java (API) Application Programming.
Web Applications Development Using Coldbox Platform Eddie Johnston.
SDP Languages and Environments. Types of Languages and Environments There are 4 main types of language that you must be able to describe at Higher level.
Ideas on the LCG Application Architecture Application Architecture Blueprint RTAG 12 th June 2002 P. Mato / CERN.
Copyright 2004 Monash University IMS5401 Web-based Systems Development Topic 2: Elements of the Web (g) Interactivity.
Chapter Concepts Review Markup Languages
PHP CSCE 330 February 6, 2003 Group Members: Antwan B. Phan George Hwang Luat Vu Programming Language Presentation.
Learning Web development. 3(+1) Tier architecture PHP script Remote services Web Server (Apache, IIS) Browser (IE, FireFox, Opera) Desktop (PC or MAC)
Copyright © 2006 by The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill Technology Education Copyright © 2006 by The McGraw-Hill Companies,
Java Programming, 3e Concepts and Techniques Chapter 1 An Introduction to Java and Program Design.
SCRIPTING LANGUAGE. The first interactive shells were developed in the 1960s to enable remote operation of the first time-sharing systems, and these,
Tcl and Tk Michael U. Ang. history and purpose How it started originally intended to be a reusable command language. After implementing several such.
© Prentice Hall CHAPTER 3 Computer Software.
Russell Taylor Lecturer in Computing & Business Studies.
Copyright 2003 The McGraw-Hill Companies, Inc CHAPTER Application Software computing ESSENTIALS    
Chapter 7 Managing Data Sources. ASP.NET 2.0, Third Edition2.
Python Introduction.
By Jeerarat Boonyanit. As you can see I have chosen Cpanel for my server management tool. cPanel is a Linux based web hosting control panel that provides.
Comparing Python and Visual Basic
1 Introduction to Tool chains. 2 Tool chain for the Sitara Family (but it is true for other ARM based devices as well) A tool chain is a collection of.
Presents. fileProGI Design Goals GUI Runtime Client for filePro Point and Click operation without processing table changes New functional capabilities.
SAD and Python with EPICS at IHEP,Beijing, Noboru Yamamoto KEK, JAPAN.
Architecture Of ASP.NET. What is ASP?  Server-side scripting technology.  Files containing HTML and scripting code.  Access via HTTP requests.  Scripting.
Week 2CSC 1511 Introduction to Information Systems CSC 151 Week 2.
A Simplified Approach to Web Service Development Peter Kelly Paul Coddington Andrew Wendelborn.
COMPUTER SOFTWARE Section 2 “System Software: Computer System Management ” CHAPTER 4 Lecture-6/ T. Nouf Almujally 1.
INTRODUCTION TO FRONTPAGE. TOPICS TO BE DISCUSSED……….  Introduction Introduction  Features Features  Starting Front Page Starting Front Page  Components.
COMPUTER PROGRAMMING Source: Computing Concepts (the I-series) by Haag, Cummings, and Rhea, McGraw-Hill/Irwin, 2002.
© 2012 LogiGear Corporation. All Rights Reserved Robot framework.
Some essentials difference syntax and concept for jquery developers Roohullah Afzali
Introduction to NS2 -Network Simulator- -Prepared by Changyong Jung.
Tcl/Tk package in R Yichen Qin
NASRULLAH KHAN.  Lecturer : Nasrullah   Website :
Introduction to Programming Peggy Batchelor.
Why Java? A brief introduction to Java and its features Prepared by Mithat Konar.
Programming language A programming language is an artificial language designed to communicate instructions to a machine,languageinstructionsmachine particularly.
TCL/Tk Based Environment for Mixed-Signal Circuit Design System Description Software Architecture Examples Future Directions Summary.
The Chameleon Development Environment The Chameleon™ Development Environment Application delivery using Microsoft Excel®
BLU-ICE and the Distributed Control System Constraints for Software Development Strategies Timothy M. McPhillips Stanford Synchrotron Radiation Laboratory.
The First Pune Python meet organized by PythonThreads.com The First Pune Python meet organized by PythonThreads.com What is it? Python is a Free, Open.
Ch 1. A Python Q&A Session Spring Why do people use Python? Software quality Developer productivity Program portability Support libraries Component.
FLUKA GUI Status FLUKA Meeting CERN, 10/7/2006.
PHP Features. Features Clean syntax. Object-oriented fundamentals. An extensible architecture that encourages innovation. Support for both current and.
CERN - IT Department CH-1211 Genève 23 Switzerland t DB Development Tools Benthic SQL Developer Application Express WLCG Service Reliability.
CHAPTER TWO INTRODUCTION TO VISUAL BASIC © Prepared By: Razif Razali 1.
Chapter 2: Introduction to HyperMesh Process Auomation
JAVA Programming “When you are willing to make sacrifices for a great cause, you will never be alone.” Instructor: รัฐภูมิ เถื่อนถนอม
In the Labs… X-Bot 2003 by Overtech Technologies.
Reading Flash. Training target: Read the following reading materials and use the reading skills mentioned in the passages above. You may also choose some.
9-Nov-97Tri-Ada '971 TASH An Alternative to the Windows API TRI-Ada ‘97 Terry J. Westley
Creating visual interfaces in python
Chapter 5 Introduction To Form Builder. Lesson A Objectives  Display Forms Builder forms in a Web browser  Use a data block form to view, insert, update,
PHP vs. Python. Similarities are interpreted, high level languages with dynamic typing are Open Source are supported by large developer communities are.
A Remote Collaboration Environment for Protein Crystallography HEPiX-HEPNT Conference, 8 Oct 1999 Nicholas Sauter, Stanford Synchrotron Radiation Laboratory.
An Overview of Tcl/Tk Programming. Tcl/Tk Tcl (Tool Command Language) is used by over half a million developers worldwide and has become a critical component.
ThinStructure: An Overview Support for ThinStructure demonstration. Jean Georges Perrin – Annandale, 21 st April 2004.
Scripting Nick Ackmann. Which language do I need? Who is maintaining the site? What are their skills and resources? Who is hosting? What scripting tools.
Copyright © 2006 by The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill Technology Education Chapter 13 A & B Programming Languages and the.
Integrating and Extending Workflow 8 AA301 Carl Sykes Ed Heaney.
Perl Ed Finegan. Overview of Pearl Perl is a high-level programming language written by Larry Wall. It derives from the C programming language and to.
1 Software Technology Guide 2. 2 Types of Software  Application software is a set of computer instructions, written in a programming language that direct.
Python Programming Unit -1.
CST 1101 Problem Solving Using Computers
Introduction to Computer CC111
PERL.
Computer Concept What is a computer?
SVTRAININGS. SVTRAININGS Python Overview  Python is a high-level, interpreted, interactive and object-oriented scripting language. Python is designed.
Computer Science 111 Fundamentals of Programming I User Interfaces
Smart Integration Express
Presentation transcript:

TCL/TK tool command language toolkit 指导老师:肖炳甲 学生:林冬涛

Tcl and Tk Applications Tcl was designed from the outset as a flexible language with a small core, that could be adapted in ways the original authors couldn't have foreseen. Tcl truly is a general purpose language. 1.Web Applications Tcl, being a dynamic, string oriented language, is a great match for web applications. 2. Desktop GUI Applications Tk helped establish Tcl's popularity as the only sane way to write GUI applications under Unix and X11. People found Tcl's dynamic approach a natural fit for GUI's, making GUI development much easier and faster than with lower-level C and C++ oriented toolkits. 3. Testing and Automation Long before "test-driven development" had become a buzzword, Tcl had been well established as a testing powerhouse, leveraging its ability to easily interface with other software and hardware. 4. Databases 5. Embedded Development 1.Web Applications Tcl, being a dynamic, string oriented language, is a great match for web applications. Rather than taking a one-size-fits-all approach, a number of different solutions have evolved: For massively scalable database backed websites, the Tcl powered AOLserver (which runs some of AOL's largest sites) is ideal, often paired with the OpenACS community system. TclHttpd is a high performance, highly programmable web server that is designed to run either standalone or to be embedded in other applications — written in pure Tcl. Skeptical? It's running this site right now. Tcl can also be used as a conventional web programming language; a number of CGI libraries are available, including ncgi which is part of Tcllib. Another option is Rivet, which runs as an Apache module. 3..Testing and Automation Companies like Oracle, Sybase and Cisco have millions of lines of Tcl testing code on which they rely to assure the operation of their flagship products. 4.Databases Tcl has extensions available to use all the standard databases, whether MySQL, Oracle, Sybase, PostgreSQL, Berkeley DB, ODBC-compliant databases, and many more. 5.Embedded Development Because Tcl is a very compact(紧凑型) language, and is easily integrated with special hardware, it is a popular choice for embedded development.

Who uses Tcl and Tk? It's used by elite hackers, application programmers, system administrators, and scientists. Tcl runs the operator interface of a Shell Oil drilling rig, runs the NBC network control system 24x7, has been used to program the Hubble Space Telescope and prototype the Mars Pathfinder, is hiding in every Tivo box and many Oracle products. Don't forget companies like Pixar, Motorola, IBM, Sybase, Nortel, Raytheon... “We use a Tcl interpreter in each of the hundreds of back-end host processes that provide services to AOL's Digital City's 3 million monthly visitors. Tcl greatly simplifies the task of configuring these services and managing them remotely. In addition, we are using Tcl to create high performance, completely dynamic, database driven Web sites. Every Web page in the AOL's Digital City network is generated by an embedded Tcl script.“ Jim Davidson, Chief Technology Officer AOL's Digital City, Inc. Tivo 机顶盒 AOL American on_line

Features and Benefits 1.Rapid development In many cases you can implement applications 5-10x faster with Tcl than with other languages, especially if the application involves GUIs, string-handling, or integration. 2.Graphical user interfaces With its Tk toolkit, Tcl provides facilities for creating GUIs that are incredibly simple yet remarkably powerful. 3. Cross-platform applications 4. Easy to learn Tcl is a very simple language. Experienced programmers can learn Tcl and produce their first interesting application in just a few hours or days. 5.Mature but Evolving 6.Extend, Embed and Integrate Tcl is unmatched when it comes to integrating with other software. You can easily include Tcl as an embedded scripting language in an application, or make existing C, C++, or Java code look like it wasbuilt right into Tcl. 7.Deployment 8. Network-aware applications 2.Graphical user interfaces 3. Cross-platform applications Tcl/Tk runs on Windows, Macintosh, and nearly every imaginable Unix platform. It provides high-level API's that let you write code that works the same — everywhere — while Tcl/Tk worries about respecting platform differences, such as native look and feel for GUI's. 5. Mature but Evolving Tcl and Tk have been under continuous, active development and use by a large group of developers since the early 1990's. 6.Extend, Embed and Integrate Tcl is unmatched when it comes to integrating with other software. You can easily include Tcl as an embedded scripting language in an application, or make existing C, C++, or Java code look like it was built right into Tcl. The same features make it easy to use Tcl as a control language for special-purpose hardware or protocols, add a new GUI or network interface to legacy applications, and more. 7. Deployment Dynamic languages often make deployment harder, because you need to get both the language interpreter and the application scripts onto the target machine. Most dynamic languages provide tools to "compile" everything into a single executable (Tcl has had that too, since about 1993). But Tcl/Tk goes way beyond those simple solutions, using technologies like the Tcl Virtual File System, and Starkits and Starpacks to make deployment more flexible, powerful and transparent. Other options allow commercial applications to protect their intellectual property, a rare capability in dynamic languages. A Starkit is a single file packaging of Tcl scripts, platform specific compiled code and application data; designed to facilitate simple deployment of cross platform applications. The name comes from STandAlone Runtime. 8. Network-aware applications Tcl has a rich and powerful event-driven programming model that makes network programming easy, allowing clients and servers to be created with just a few lines of code. Networking, files, GUI events — all work the same way, making for a consistent, easy to learn and powerful programming style, without relying on extra libraries.

Comparison Dynamic Languages vs System Programming Languages Tcl Python Java C++ quickly manipulate data less rigidly defined, and determined at runtime typically interpreted, highly introspective, and emphasize integration and extension to add new capabilities. programs are shorter, much faster to develop complex data structures and algorithms Choosing a Dynamic Language Why Tcl? a rich deployment model that is second to none, including support for protecting commercial applications Tk is designed explicitly for Tcl; while it works well with other languages, the API is both more natural, more current, and better documented built-in event-driven programming model for networks, GUI's, and more supports a wide variety of programming styles, including procedural, several styles of object-oriented, and others, and is great for building domain specific languages excellent internationalization support

Where do commands come from? Basic syntax command arg1 arg2 arg3 Where do commands come from? Provided by Tcl interpreter itself Tcl provides APIs that allow you to create a new command by writing a command procedure in C/C++ Consisits of procedures created with proc command

Tk Concepts widgets, geometry management, and event handling

Window Hierarchy The root of the hierarchy, the toplevel widget that Tk automatically creates, is named simply "." (dot). The frame, which was a child of the root, was named ".c". The labels ,buttons and so on are children of frame grid [ttk::label .c.flbl -text "feet"] -column 3 -row 1 -sticky w grid [ttk::label .l -text "Starting..."] bind .l <Enter> {.l configure -text "Moved mouse inside"}

Basic Widgets

The Grid Geometry Manager Grid is one of several geometry managers available in Tk, "pack" is also quite powerful, but harder to use and understand; "place" gives you complete control of positioning each element; we'll see even widgets like paned windows, notebooks, canvas and text can act as geometry managers. grid .c.namelbl -column 3 -row 0 -columnspan 2

A canvas widget manages a 2D collection of graphical objects — lines, circles, images, other widgets and more. Tk's canvas is an incredibly powerful and flexible widget, and truly one of Tk's highlights.

Tree A treeview widget can display and allow browsing through a hierarchy of items, and can show one or more attributes of each item as columns to the right of the tree. ttk::treeview .tree

ET:EPICS TCL/TK Interface tcl command (pv) and command operations (link, linkw, get, getw, put, putq, mon, umon,  cmon, info, stat, vset, vset, and vmap) which are used to interface  with EPICS. The tcl package  libraries upon which et is built include tk and blt. The BLT Toolkit is an extension to Tcl and Tk. It adds new commands and widgets to the Tcl interpreter. Included widgets are 2D graph, barchart, stripchart, tab notebook, and tree viewer.

caTCL caTCL requires that the X11, Tk/Tcl, DP, and BLT header files and libraries be available and that the X11, TK, TCL, and BLT settings in CONFIG_SITE.<host_arch> be set correctly.