Essentials of Spirent Testcenter GUI to Script Automation

Total Page:16

File Type:pdf, Size:1020Kb

Essentials of Spirent Testcenter GUI to Script Automation Essentials of Spirent TestCenter GUI to Script Automation Introduction 1 Introduction Course Description The Essentials of Spirent TestCenter GUI to Script Automation Web-based course is designed to present an overview of the features and functions of the Save As Script menu item contained within the Spirent TestCenter GUI. Since it is a web-based course, you can choose to view only the topics of interest or the entire course. Viewing all the topics within the course will take just under 30 minutes. Spirent Communications 2 Introduction Course Objectives After completing this course, participants will be able to: Generate and run TCL, Ruby, and Perl scripts created using the Save As Script feature. Identify and describe the key elements contained with the files generated from the Save As Script feature. Describe the purpose of the Save As Script Additional Processing Options. Download and install HLTAPI. Generate HLTAPI scripts using the Save As Script feature. Spirent Communications 3 Course Topics Overview Spirent TestCenter GUI to Script Automation Overview GUI to Script Content Additional Processing Options HLTAPI Spirent Communications 4 Essentials of Spirent TestCenter GUI to Script Automation GUI to Script Automation Overview 5 Course Topics Overview Spirent TestCenter GUI to Script Automation Overview GUI to Script Content Additional Processing Options HLTAPI Spirent Communications 6 Spirent TestCenter GUI to Script Automation Overview GUI to Script Overview The GUI to Script option enables automation on Spirent TestCenter without the typical automation overhead. Simply configure the test within the GUI. With the click of a button, generate the Test Script Then execute the Test Script from a Shell. Spirent Communications 7 Spirent TestCenter GUI to Script Automation Overview GUI to Script Benefits Extremely easy to create Spirent TestCenter automated test configuration. Extremely easy to create a complete Spirent TestCenter automated test. Automation skills NOT required. Reduce time for writing a test case. Minimizing errors in writing test scripts manually. Spirent Communications 8 Spirent TestCenter GUI to Script Automation Overview GUI to Script Limitations Hard coded scripts. Must use the Command Sequencer in the GUI in order to have a complete Spirent TestCenter automated test. Spirent Communications 9 Spirent TestCenter GUI to Script Automation Overview Spirent TestCenter Test Configuration Spirent Communications 10 Spirent TestCenter GUI to Script Automation Overview Test Configuration Script Generation Spirent Communications 11 Spirent TestCenter GUI to Script Automation Overview Additional Automation Processing Options* Spirent Communications 12 Spirent TestCenter GUI to Script Automation Overview Naming the Scripts Spirent Communications 13 Spirent TestCenter GUI to Script Automation Overview Generated Files The Launcher script sources the Logic script. The Logic script configures the test, executes the test, may send the traffic, may gather the results and disconnects from the chassis. The XML file contains configuration data*. Spirent Communications 14 Spirent TestCenter GUI to Script Automation Overview Executing a GUI to Script Test You will execute your scripts generated by the GUI to Script feature from an environment Shell (Tcl/Ruby/Perl). With Tcl for example, you can execute the Launcher script either from a DoS prompt: >tclsh <Launcher Script Name>.tcl >tclsh Save_Tcl.tcl Or, from the Tcl Shell using the source command: % source <Launcher Script Name>.tcl % source Save_Tcl.tcl Spirent Communications 15 Spirent TestCenter GUI to Script Automation Overview Script Results Spirent Communications 16 Essentials of Spirent TestCenter GUI to Script Automation GUI to Script Content 17 Course Topics Overview Spirent TestCenter GUI to Script Automation Overview GUI to Script Content Additional Processing Options HLTAPI Spirent Communications 18 GUI to Script Contents GUI to Script Generated Files Save As Script Menu item generates: <Name>.tcl/pl/rb (Launcher file) <Name>_logic.tcl/pl/rb (Logic file) <Name>.xml (Configuration file)*. Spirent Communications 19 GUI to Script Contents Logic Script Logic file contains the following procedures: init - Sets logging level and file locations configResultLocation - Sets the Results Location configMiscOptions - Sets the Sequencer to Stop on Error config - Defines configuration/Sets Port locations/Specifies the protocol stack linkages for both the stream blocks and any configured protocols connect - Connect to the Chassis/Reserve Ports/Map Logical to Physical Ports apply - Download the Test Configuration to the Chassis run - Subscribe to Results/Start the Command Sequencer cleanup - Release Ports/Disconnect from Chassis/Reset Configuration Spirent Communications 20 GUI to Script Contents Configuration XML File When Configuration XML file is created: XML file contains all of the test configuration definitions. Logic Script contains all the same procedures (init, config, run, etc.), however, these procedures do not contain test configuration definitions since the definitions are passed from the XML file, making the Logic file much smaller in size. You can open the XML file in the GUI allowing a Script to GUI configuration. Spirent Communications 21 GUI to Script Contents Launcher File Launcher file: Calls in the Logic script Invokes procedures defined within the Logic script Passes Chassis/Slot/Port List into the config procedure Returns test status Spirent Communications 22 Essentials of Spirent TestCenter GUI to Script Automation Additional Processing Options 23 Course Topics Overview Spirent TestCenter GUI to Script Automation Overview GUI to Script Content Additional Processing Options HLTAPI Spirent Communications 24 Additional Processing Options Additional Automation Processing Options* Spirent Communications 25 Additional Processing Options Script to Run Before Disconnect Populating the Script to Run Before Disconnect will: Run the stated script before the disconnecting from the Spirent TestCenter chassis. Use these scripts to perform actions such as checking device status. Spirent Communications 26 Additional Processing Options Prefix Procedures Populating the Prefix Procedures with will: Add stated name to prefix of all procedures within the Logic script. Add stated name to prefix of all procedure calls within the Launcher script. Spirent Communications 27 Additional Processing Options Encapsulate Procedures Populating the Encapsulate Procedures in Namespace will: Encapsulate all procedures within the Logic script. Add stated namespace to the Launcher script. Spirent Communications 28 Additional Processing Options Do Not Save Default Values Unchecking the Do Not Save Default Values will: Present all Objects within the Logic script. Doubles the size of the Logic Script. Spirent Communications 29 Additional Processing Options Use Default Values for Rarely Modified Settings Checking the Use Default Values for Rarely Modified Settings will: Further reduce the size of the Logic Script. Spirent Communications 30 Additional Processing Options Save the Configuration Data in XML File Using the Save the Configuration Data in Separate XML File will: Create an XML File that contains the test configuration data. Allows XML File to populate GUI. Spirent Communications 31 Additional Processing Options Create Custom Launcher Script If you use Create Custom Launcher Script you must: Retrieve parameters using the following Tcl call: $stc::scriptParameters(-varName) Spirent Communications 32 Additional Processing Options File Path Substitutions Using Create basePathMap Variable with the Following Replacements will: Allow you to create a Replace/With Table that is inserted into Launcher Script. Spirent Communications 33 Essentials of Spirent TestCenter GUI to Script Automation HLTAPI 34 Course Topics Overview Spirent TestCenter GUI to Script Automation Overview GUI to Script Content Additional Processing Options HLTAPI Spirent Communications 35 HLTAPI Spirent HLTAPI Description Spirent HLTAPI (High Level Test API) is designed to hide the lower level APIs of Spirent TestCenter. This greatly reduces the need for any test script changes if there are changes to Spirent's lower level APIs in newer releases. Spirent HLTAPI supports Tcl, Perl and Python. Depending on automation preferences or requirements, test specialists can use any of these languages for tests. Spirent HLTAPI is a self-contained package built on top of the Spirent TestCenter native API library. In order to use the Spirent HLTAPI, the Spirent TestCenter native API library is required. Spirent Communications 36 Install Spirent TestCenter HLTAPI Download Spirent TestCenter HLTAPI Download the Spirent TestCenter HLTAPI from support.spirent.com Spirent Communications 37 Install Spirent TestCenter HLTAPI Unzip HLTAPI Unzip the downloaded HLTAPI package to a folder (such as C:/HLTAPI_4.52_GA). Spirent Communications 38 Install Spirent TestCenter HLTAPI Modify TCLLIBPATH Add the “C:/HLTAPI_4.52_GA/SourceCode” into the Windows Environment Variable TCLLIBPATH. Spirent Communications 39 Install Spirent TestCenter HLTAPI Verify Installation Launch a Tcl shell and type “package require SpirentHltApi”. The version information indicates that you have successfully installed HLTAPI. Spirent Communications 40 Install Spirent TestCenter HLTAPI Register HLTAPI in Spirent TestCenter To register the Save as HLTAPI tool in Spirent TestCenter:
Recommended publications
  • Ajuba Solutions Version 1.4 COPYRIGHT Copyright © 1998-2000 Ajuba Solutions Inc
    • • • • • • Ajuba Solutions Version 1.4 COPYRIGHT Copyright © 1998-2000 Ajuba Solutions Inc. All rights reserved. Information in this document is subject to change without notice. No part of this publication may be reproduced, stored in a retrieval system, or transmitted in any form or by any means electronic or mechanical, including but not limited to photocopying or recording, for any purpose other than the purchaser’s personal use, without the express written permission of Ajuba Solutions Inc. Ajuba Solutions Inc. 2593 Coast Avenue Mountain View, CA 94043 U.S.A http://www.ajubasolutions.com TRADEMARKS TclPro and Ajuba Solutions are trademarks of Ajuba Solutions Inc. Other products and company names not owned by Ajuba Solutions Inc. that appear in this manual may be trademarks of their respective owners. ACKNOWLEDGEMENTS Michael McLennan is the primary developer of [incr Tcl] and [incr Tk]. Jim Ingham and Lee Bernhard handled the Macintosh and Windows ports of [incr Tcl] and [incr Tk]. Mark Ulferts is the primary developer of [incr Widgets], with other contributions from Sue Yockey, John Sigler, Bill Scott, Alfredo Jahn, Bret Schuhmacher, Tako Schotanus, and Kris Raney. Mark Diekhans and Karl Lehenbauer are the primary developers of Extended Tcl (TclX). Don Libes is the primary developer of Expect. TclPro Wrapper incorporates compression code from the Info-ZIP group. There are no extra charges or costs in TclPro due to the use of this code, and the original compression sources are freely available from http://www.cdrom.com/pub/infozip or ftp://ftp.cdrom.com/pub/infozip. NOTE: TclPro is packaged on this CD using Info-ZIP’s compression utility.
    [Show full text]
  • Cygwin User's Guide
    Cygwin User’s Guide Cygwin User’s Guide ii Copyright © Cygwin authors Permission is granted to make and distribute verbatim copies of this documentation provided the copyright notice and this per- mission notice are preserved on all copies. Permission is granted to copy and distribute modified versions of this documentation under the conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one. Permission is granted to copy and distribute translations of this documentation into another language, under the above conditions for modified versions, except that this permission notice may be stated in a translation approved by the Free Software Foundation. Cygwin User’s Guide iii Contents 1 Cygwin Overview 1 1.1 What is it? . .1 1.2 Quick Start Guide for those more experienced with Windows . .1 1.3 Quick Start Guide for those more experienced with UNIX . .1 1.4 Are the Cygwin tools free software? . .2 1.5 A brief history of the Cygwin project . .2 1.6 Highlights of Cygwin Functionality . .3 1.6.1 Introduction . .3 1.6.2 Permissions and Security . .3 1.6.3 File Access . .3 1.6.4 Text Mode vs. Binary Mode . .4 1.6.5 ANSI C Library . .4 1.6.6 Process Creation . .5 1.6.6.1 Problems with process creation . .5 1.6.7 Signals . .6 1.6.8 Sockets . .6 1.6.9 Select . .7 1.7 What’s new and what changed in Cygwin . .7 1.7.1 What’s new and what changed in 3.2 .
    [Show full text]
  • Scripting: Higher- Level Programming for the 21St Century
    . John K. Ousterhout Sun Microsystems Laboratories Scripting: Higher- Cybersquare Level Programming for the 21st Century Increases in computer speed and changes in the application mix are making scripting languages more and more important for the applications of the future. Scripting languages differ from system programming languages in that they are designed for “gluing” applications together. They use typeless approaches to achieve a higher level of programming and more rapid application development than system programming languages. or the past 15 years, a fundamental change has been ated with system programming languages and glued Foccurring in the way people write computer programs. together with scripting languages. However, several The change is a transition from system programming recent trends, such as faster machines, better script- languages such as C or C++ to scripting languages such ing languages, the increasing importance of graphical as Perl or Tcl. Although many people are participat- user interfaces (GUIs) and component architectures, ing in the change, few realize that the change is occur- and the growth of the Internet, have greatly expanded ring and even fewer know why it is happening. This the applicability of scripting languages. These trends article explains why scripting languages will handle will continue over the next decade, with more and many of the programming tasks in the next century more new applications written entirely in scripting better than system programming languages. languages and system programming
    [Show full text]
  • Ixia Tcl Development Guide
    Chapter 2: Quick Start 2 Installing the IxOS Tcl Client This chapter provides a quick means of getting started with the Tcl API. An example test is presented and explained. The IxOS Tcl Client provides an interface between an Ixia Tcl client application and Ixia IxOS Tcl functions. It runs on the Unix / Linux host. The Windows version of IxOS Tcl Client is included with the IxOS software package; the Unix/Linux version is supplied as a separate a self-extracting archive (.bin) file. You can download it from Ixia’s website, www.ixiacom.com. There are serveral versions of the IxOS Tcl Client. The correct file to install depends on the set up of the UNIX/Linux machine. Table 2-2 on page 2-1 details the files and their use. Table 2-2. Tcl Client Install Files Install File Purpose IxOS#.## For Linux versions post Redhat 9. It is distributed as genericLinux.bin a tarball (IxOS#.##genericLinux.bin.tar.gz) due to download issues. IxOS#.##linux.bin. For Linux platforms older than Redhat 9. IxOS#.##setup.jar An installer without a bundled Java Virtual Machine. This is distributed only to customers that have issues running the bin installers. It requires a Java Virtual Machine installed on the installation target. IxOS#.## For Solaris machines. solarisSparc.bin The versions of UNIX/Linux operating systems that are supported are: • Mandrake 7.2, RedHat 6.2, RedHat 7.0, RedHat 9.0 • RedHat Enterprise 4.0 IxOS Tcl Development Guide, 6.60 EA SP1 2-1 Quick Start 2 Installing the IxOS Tcl Client • Solaris 2.7 (7), 2.8 (8), 2.9 (9) Other versions of Linux and Solaris platforms may operate properly, but are not officially supported.
    [Show full text]
  • Automating Your Sync Testing
    APPLICATION NOTE By automating system verification and conformance testing to ITU-T synchronization standards, you’ll save on time and resources, and avoid potential test execution errors. This application note describes how you can use the Paragon-X’s Script Recorder to easily record Tcl, PERL and Python commands that can be integrated into your own test scripts for fast and efficient automated testing. AUTOMATING YOUR SYNC TESTING calnexsol.com Easily automate synchronization testing using the Paragon-X Fast and easy automation by Supports the key test languages Pre-prepared G.8262 Conformance recording GUI key presses Tcl, PERL and Python Scripts reduces test execution errors <Tcl> <PERL> <python> If you perform System Verification language you want to record i.e. Tcl, PERL SyncE CONFORMANCE TEST and Conformance Testing to ITU-T or Python, then select Start. synchronization standards on a regular Calnex provides Conformance Test Scripts basis, you’ll know that manual operation to ITU-T G.8262 for SyncE conformance of these tests can be time consuming, testing using the Paragon-X. These tedious and prone to operator error — as test scripts can also be easily tailored well as tying up much needed resources. and edited to meet your exact test Automation is the answer but very often requirements. This provides an easy means a lack of time and resource means it of getting your test automation up and remains on the ‘To do’ list. Now, with running and providing a repeatable means Calnex’s new Script Recorder feature, you of proving performance, primarily for ITU-T can get your automation up and running standards conformance.
    [Show full text]
  • Building Performance Measurement Tools for the MINIX 3 Operating System
    Building Performance Measurement Tools for the MINIX 3 Operating System Rogier Meurs August 2006 Contents 1 INTRODUCTION 1 1.1 Measuring Performance 1 1.2 MINIX 3 2 2 STATISTICAL PROFILING 3 2.1 Introduction 3 2.2 In Search of a Timer 3 2.2.1 i8259 Timers 3 2.2.2 CMOS Real-Time Clock 3 2.3 High-level Description 4 2.4 Work Done in User-Space 5 2.4.1 The SPROFILE System Call 5 2.5 Work Done in Kernel-Space 5 2.5.1 The SPROF Kernel Call 5 2.5.2 Profiling using the CMOS Timer Interrupt 6 2.6 Work Done at the Application Level 7 2.6.1 Control Tool: profile 7 2.6.2 Analyzing Tool: sprofalyze.pl 7 2.7 What Can and What Cannot be Profiled 8 2.8 Profiling Results 8 2.8.1 High Scoring IPC Functions 8 2.8.2 Interrupt Delay 9 2.8.3 Profiling Runs on Simulator and Other CPU Models 12 2.9 Side-effect of Using the CMOS Clock 12 3 CALL PROFILING 13 3.1 Introduction 13 3.1.1 Compiler-supported Call Profiling 13 3.1.2 Call Paths, Call and Cycle Attribution 13 3.2 High-level Description 14 3.3 Work Done in User-Space 15 3.3.1 The CPROFILE System Call 15 3.4 Work Done in Kernel-Space 16 3.4.1 The PROFBUF and CPROF Kernel Calls 16 3.5 Work Done in Libraries 17 3.5.1 Profiling Using Library Functions 17 3.5.2 The Procentry Library Function 17 3.5.3 The Procexit Library Function 20 3.5.4 The Call Path String 22 3.5.5 Testing Overhead Elimination 23 3.6 Profiling Kernel-Space/User-Space Processes 24 3.6.1 Differences in Announcing and Table Sizes 24 3.6.2 Kernel-Space Issue: Reentrancy 26 3.6.3 Kernel-Space Issue: The Call Path 26 3.7 Work Done at the Application
    [Show full text]
  • A Framework for Evaluating Performance of Software Testing Tools
    INTERNATIONAL JOURNAL OF SCIENTIFIC & TECHNOLOGY RESEARCH VOLUME 9, ISSUE 02, FEBRUARY 2020 ISSN 2277-8616 A Framework For Evaluating Performance Of Software Testing Tools Pramod Mathew Jacob, Prasanna Mani Abstract: Software plays a pivotal role in this technology era. Due to its increased applicable domains, quality of the software being developed is to be monitored and controlled. Software organization follows many testing methodologies to perform quality management. Testing methodologies can be either manual or automated. Automated testing tools got massive acceptability among software professionals due to its enhanced features and functionalities than that of manual testing. There are hundreds of test automation tools available, among which some perform exceptionally well. Due to the availability of large set of tools, it is a herculean task for the project manager to choose the appropriate automation tool, which is suitable for their project domain. In this paper, we derive a software testing tool selection model which evaluates the performance aspects of a script-based testing tool. Experimental evaluation proves that, it can be used to compare and evaluate various performance characteristics of commercially accepted test automation tools based on user experience as well as system performance. Index Terms: Automated testing, Software testing, Test script, Testing Tool, Test bed, Verification and Validation. —————————— ◆ —————————— 1 INTRODUCTION S OFTWARE is advanced in recent days by enhancing its applicable domains. Software is embedded in almost all electronic gadgets and systems. In this scenario the quality of the software plays a significant role. The customer or end – user should be satisfied which is primarily depended on quality and capability of the software being developed.
    [Show full text]
  • Automated Testing of Firmware Installation and Update Scenarios for Peripheral Devices
    DEGREE PROJECT IN COMPUTER SCIENCE AND ENGINEERING, SECOND CYCLE, 30 CREDITS STOCKHOLM, SWEDEN 2019 Automated testing of firmware installation and update scenarios for peripheral devices DAG REUTERSKIÖLD KTH ROYAL INSTITUTE OF TECHNOLOGY SCHOOL OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCE Automated testing of firmware installation and update scenarios for peripheral devices DAG REUTERSKIÖLD Master in Computer Science Date: August 12, 2019 Supervisor: Hamid Faragardi Examiner: Elena Troubitsyna School of Electrical Engineering and Computer Science Host company: Tobii AB Swedish title: Automatisering av enhetsinstallation, uppdatering och testning med hjälp av virtuella maskiner iii Abstract This research presents an approach to transition from manual to automated testing of hardware specific firmware. The manual approach for firmware test- ing can be repetitive and time consuming. A significant proportion of the time is spent on cleaning and re-installing operating systems so that old firmware does not interfere with the newer firmware that is being tested. The approach in this research utilizes virtual machines and presents an automation framework. One component of the automation framework is an application to imitate con- nected peripheral devices to bypass hardware dependencies of firmware in- stallers. The framework also consists of automation and pipeline scripts with the objective to execute firmware installers and detect errors and abnormalities in the installation and updating processes. The framework can run on locally hosted virtual machines, but is most applicable using cloud hosted virtual ma- chines, where it is part of a continuous integration that builds, downloads, installs, updates and tests new firmware versions, in a completely automated manner. The framework is evaluated by measuring and comparing execution times with manually conducted installation and updating tests, and the result shows that the framework complete tests much faster than the manual approach.
    [Show full text]
  • Teach Yourself Perl 5 in 21 Days
    Teach Yourself Perl 5 in 21 days David Till Table of Contents: Introduction ● Who Should Read This Book? ● Special Features of This Book ● Programming Examples ● End-of-Day Q& A and Workshop ● Conventions Used in This Book ● What You'll Learn in 21 Days Week 1 Week at a Glance ● Where You're Going Day 1 Getting Started ● What Is Perl? ● How Do I Find Perl? ❍ Where Do I Get Perl? ❍ Other Places to Get Perl ● A Sample Perl Program ● Running a Perl Program ❍ If Something Goes Wrong ● The First Line of Your Perl Program: How Comments Work ❍ Comments ● Line 2: Statements, Tokens, and <STDIN> ❍ Statements and Tokens ❍ Tokens and White Space ❍ What the Tokens Do: Reading from Standard Input ● Line 3: Writing to Standard Output ❍ Function Invocations and Arguments ● Error Messages ● Interpretive Languages Versus Compiled Languages ● Summary ● Q&A ● Workshop ❍ Quiz ❍ Exercises Day 2 Basic Operators and Control Flow ● Storing in Scalar Variables Assignment ❍ The Definition of a Scalar Variable ❍ Scalar Variable Syntax ❍ Assigning a Value to a Scalar Variable ● Performing Arithmetic ❍ Example of Miles-to-Kilometers Conversion ❍ The chop Library Function ● Expressions ❍ Assignments and Expressions ● Other Perl Operators ● Introduction to Conditional Statements ● The if Statement ❍ The Conditional Expression ❍ The Statement Block ❍ Testing for Equality Using == ❍ Other Comparison Operators ● Two-Way Branching Using if and else ● Multi-Way Branching Using elsif ● Writing Loops Using the while Statement ● Nesting Conditional Statements ● Looping Using
    [Show full text]
  • Difference Between Perl and Python Key Difference
    Difference Between Perl and Python www.differencebetween.com Key Difference - Perl vs Python A computer program provides instructions for a computer to perform tasks. A set of instructions is known as a computer program. A computer program is developed using a programming language. High-level languages are understandable by programmers but not understandable by the computer. Therefore, those programs are converted to machine-understandable format. Perl and Python are two high-level programming languages. Perl has features such as built-in regular expressions, file scanning and report generation. Python provides support for common programming methodologies such as data structures, algorithms etc. The key difference between Perl and Python is that Perl emphasizes support for common application-oriented tasks while Python emphasizes support for common programming methodologies. What is Perl? Perl is general purpose high-level programing language. It was designed by Larry Wall. Perl stands for Practical Extraction and Reporting Language. It is open source and is useful for text manipulation. Perl runs on various platforms such as Windows, Mac, Linux etc. It is a multi-paradigm language that supports mainly procedural programming and object-oriented programming. Procedure Programming helps to divide the program into functions. Object Oriented programming helps to model a software or a program using objects. Perl is an interpreted language. Therefore, each line is read one after the other by the interpreter. High-level language programs are understandable by the programmer, but they are not understandable by the machine. Therefore, the instructions should be converted into the machine-understandable format. Programming languages such as C and C++ converts the source code to machine language using a compiler.
    [Show full text]
  • 13A04806 LINUX PROGRAMMING and SCRIPTING UNIT 4 TCL/ TK SCRIPTING:Tcl Fundamentals, String and Pattern Matching, Tcl Data Struct
    13A04806 LINUX PROGRAMMING AND SCRIPTING UNIT 4 TCL/ TK SCRIPTING:Tcl Fundamentals, String and Pattern Matching, Tcl Data Structures ,Control Flow Commands, Procedures and Scope , Evel, Working With UNIX, Reflection and Debugging, Script Libraries, Tk Fundamentals ,Tk by Examples, The Pack Geometry Manager, Binding Commands to X Events, Buttons and Menus, Simple Tk Widgets, Entry and Listbox Widgets Focus, Grabs and Dialogs 13A04806 LINUX PROGRAMMING AND SCRIPTING Tcl - Overview Tcl is shortened form of Tool Command Language. John Ousterhout of the University of California, Berkeley, designed it. It is a combination of a scripting language and its own interpreter that gets embedded to the application, we develop with it. Tcl was developed initially for Unix. It was then ported to Windows, DOS, OS/2, and Mac OSX. Tcl is much similar to other unix shell languages like Bourne Shell (Sh), the C Shell (csh), the Korn Shell (sh), and Perl. It aims at providing ability for programs to interact with other programs and also for acting as an embeddable interpreter. Even though, the original aim was to enable programs to interact, you can find full-fledged applications written in Tcl/Tk. Features of Tcl The features of Tcl are as follows − ∑ Reduced development time. ∑ Powerful and simple user interface kit with integration of TK. ∑ Write once, run anywhere. It runs on Windows, Mac OS X, and almost on every Unix platform. ∑ Quite easy to get started for experienced programmers; since, the language is so simple that they can learn Tcl in a few hours or days. ∑ You can easily extend existing applications with Tcl.
    [Show full text]
  • PHP: Constructs and Variables Introduction This Document Describes: 1
    PHP: Constructs and Variables Introduction This document describes: 1. the syntax and types of variables, 2. PHP control structures (i.e., conditionals and loops), 3. mixed-mode processing, 4. how to use one script from within another, 5. how to define and use functions, 6. global variables in PHP, 7. special cases for variable types, 8. variable variables, 9. global variables unique to PHP, 10. constants in PHP, 11. arrays (indexed and associative), Brief overview of variables The syntax for PHP variables is similar to C and most other programming languages. There are three primary differences: 1. Variable names must be preceded by a dollar sign ($). 2. Variables do not need to be declared before being used. 3. Variables are dynamically typed, so you do not need to specify the type (e.g., int, float, etc.). Here are the fundamental variable types, which will be covered in more detail later in this document: • Numeric 31 o integer. Integers (±2 ); values outside this range are converted to floating-point. o float. Floating-point numbers. o boolean. true or false; PHP internally resolves these to 1 (one) and 0 (zero) respectively. Also as in C, 0 (zero) is false and anything else is true. • string. String of characters. • array. An array of values, possibly other arrays. Arrays can be indexed or associative (i.e., a hash map). • object. Similar to a class in C++ or Java. (NOTE: Object-oriented PHP programming will not be covered in this course.) • resource. A handle to something that is not PHP data (e.g., image data, database query result).
    [Show full text]