|Column Tag:||Tools of the Trade
ScriptEdit and LifeGuard
By Dave Kelly, MacTutor Editorial Board
ScriptEdit for HyperCard 2.0
In case you were wondering what happened to ScriptEdit since the release (finally) of HyperCard 2.0, here it is. As Ive mentioned previously, ScriptEdit (1.0 and 1.1) was a welcome addition to the lame editor of HyperCard versions 1.0 through 1.2.5. The HyperCard 2.0 development team improved HyperCard by giving it a better script editor. In addition, the team included hooks that allow ScriptEdit 2.0 to supersede the generic HyperCard script editor. ScriptEdit is still the most useful extension to HyperCard available.
These are a few of the many new features and changes from previous versions of ScriptEdit:
Modeless operation - HyperCard 2.0 gives us the ability to have more than one stack open at once. It would be senseless not to apply this capability to ScriptEdit. Since you can have more than one window open while HyperCard is active, it is much easier to cut, copy, or paste from other scripts. You can save time by leaving scripts open that you are using repeatedly.
Integrated debugger - The ScriptEdit debugger is a great way to debug your HyperCard scripts. The debugger accessed by inserting a special character in your script called a checkpoint. As many as 32 temporary checkpoints, with as many as 16 in any one script, can be used. An unlimited number of permanent checkpoints can be set in a script by inserting the words debug checkpoint. The ScriptEdit Object Window cannot be used to open the scripts to add checkpoints. You need to use one of the other methods of opening scripts. The manual mentions several ways to open scripts, most of which are the same as for opening scripts with the HyperCard 2.0 generic editor.
With the checkpoint set, you can step or trace the script.to pinpoint problems. You can even monitor variables with the Variable Watcher window to monitor the results of your script. Another window called the Message Watcher keeps track of the messages that HyperCard sends between objects as the script is running.
The Start Recording command will begin saving script lines as they are executed with the Step, Step Into, or Trace commands. The recording buffer can later be examined to reveal a complete record of the handlers that were executed, which objects they came from, and the order that they were executed. Clicking on any line in the recording window will display and highlight the matching line in the original script that the recorded line came from, opening an editing window for that script if necessary.
Multiple clipboards - ScriptEdit has five separate clipboards that can store up to 32,000 lines of text.
Handler/Function pop-up menus - If you hold down the command key and click the mouse while displaying a script, a menu pops up listing all handlers or functions in the current script. Selecting one of these automatically scrolls the window and moves the insertion point to that handler or functions definition.
GREP wildcard searching - GREP stands for Global Regular Expression Print (or any number of other things, depending on whom you ask). It is based on a utility that is popular on many UNIX systems. GREP can be very useful once you become familiar with it. GREP uses special text strings to search for patterns of the text that is to be found. Although GREP can be useful, ScriptEdit lets you do regular searching without GREP.
Smart HyperTalk pop-up menus - Six pop-up menus list HyperTalk commands, functions, globals, keywords, properties and constants. Selecting from these menus automatically inserts the selected menu item into the current script. Four of the six pop-up menus in the ScriptEdit Info Bar are intelligent; that is, they enter required script parameters and other information when they are selected. By redefining the resources that define these pop-up menus, you can change the text that is inserted when you choose from the Info Bar menus.
Automatic script formatting - ScriptEdit automatically takes care of indenting the lines of script for you.
Power-User auto save - This feature automatically saves changes to a script each time the script window is deactivated. This could be dangerous if you dont understand what is happening.
New ScriptEdit stack -The new version of ScriptEdit installer stack will allow you to use the ScriptEdit XCMDs without copying them to another stack. The installer will install scripts in your Home stack to open the XCMDs in the installer stack. The XCMDs may be copied to other stacks if desired, but it makes sense to keep them in the installer stack since you may want to keep the installer around anyway. The installer will remove the scripts in case you ever want to turn off ScriptEdit. Once the scripts are installed, ScriptEdit is activated whenever you access a HyperCard script just as you would with the HyperCard generic script editor.
Time/Data stamp - The current date and time can be selected from a menu and added to any script line (at the insertion point).
Super Scripting with Script Edit 2
In summary, ScriptEdit is a useful tool for all HyperCard stack authors/developers. ScriptEdit retains the Object Window, Comment/Uncomment commands, text file editing, script comparison and other features that made it popular for users of HyperCard 1.2. The GREP searching function will take some time to learn, but isnt too difficult to figure out. The ScriptEdit Debugger is one of SciptEdits strongest features. ScriptEdit 2.0 is very highly recommended from a company that has provided a great product and support the previous version of ScriptEdit.
Also, Somak is offering special promotion on ScriptEdit 2.0. For a limited time, you can order ScriptEdit 2.0 directly from Somak for only $59 + 4 p/h, and theyll include a free disk of HyperCard 2.0 XMCDs. Call them for details.
ScriptEdit 2.0 is available from:
Somak Software, Inc.
535 Encinitas Blvd., Suite 113
Encinitas, California 92024
To order: 800 842-5020
Price: $99; upgrades from ScriptEdit 1.0 and 1.1: $25
Requires: Any Macintosh with HyperCard 2.0; 2 Meg RAM is recommended for best performance.
No copy protection
LifeGuard is ON DUTY!
There has been considerable debate on the subject of VDT (Video Display Terminal) damage to eyes, etc. Programmers should be concerned as much as anyone about its effects. Eye strain, back pain, repetitive strain injuries (such as carpal tunnel syndrome), headaches, and fatigue can take their toll on a programmers productivity too. Many of you rely on computers for your living (you dont program just for fun) and without taking proper precautions, you could be a victim of unnecessary injury.
Experts agree that the solution is to take breaks periodically, especially when youre working intensively at the computer. You also should be sure to set up your work environment to eliminate poor or uncomfortable posture and long reaches (use an ergonomic workstation). In addition, you should seek proper medical treatment at the first sign of repetitive strain injury or other computer-related health problems.
Many of you will agree that it is good to take a break. Its hard to remember to break away sometimes. How about setting an alarm to remind you? Sure, but resetting it can really be a bother and some hours of work are less intense than others.
Now you can hire a lifeguard to watch the clock and how hard you work. LifeGuard from Visionary Software is an INIT/DA which keeps watch for you. All you do is drop the LifeGuard INIT into the system folder and install the LifeGuard DA. Open the DA and you can set up the amount of time you wish to work and how much rest time you want. After working for the set time, an audible and/or dialog reminder interrupts your work to let you know it is time to rest. If youre busy with something that wont quit, you can select the snooze function that you can set to give you another few minutes to finish up your work before the LifeGuard informs you that time is up again.
The audible sounds can be selected from a list of sounds (type snd resources) that are provided with LifeGuard or you can record your own. The dialog reminder also will give you suggestions activities you can do for your time off. These suggestions come from a list that you provide. You can do some exercises that are designed to prevent injuries that could result from working without pause in an office environment. Its unfortunate that the exercises could not be programmed as part of the suggested activities in the Dialog Reminder. When you want to try the exercises you have to bring up the DA and look at the exercise page. You can perform these exercises at any time or when LifeGuard tells you to take a break.
LifeGuard could truly be a life saver. It is not guaranteed to prevent all injuries, but prevention is often better than trying to cure a problem later. LifeGuard is a great idea whose time has come.
LifeGuard is available from:
Visionary Software, Inc.
P. O. Box 69191
Portland, Oregon 97201