home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga ISO Collection
/
AmigaUtilCD2.iso
/
Misc
/
HELM5.DMS
/
in.adf
/
Welcome
(
.txt
)
< prev
Encoding:
Amiga
Atari
Commodore
DOS
FM Towns/JPY
Macintosh
Macintosh JP
NeXTSTEP
RISC OS/Acorn
UTF-8
Wrap
Helm Multimedia Book
|
1993-08-23
|
223.2 KB
|
2,518 lines
DemoBook
Scott Nickerson
07-15-93
New...
Open...
Make Copy...
Streamline...
Print...
Report...
Preferences...
Workbench
About...
Quit...
Paste
Clear
Select All
Cut Page
Copy Page
Colors
Load...
Save...
Restore Colors
Default Colors
Brush Colors
Image Colors
Cycle
Grid...
Stop Sound
Show All
Unlock All
Edit Form
Share
Next Page
Previous Page
First Page
Last Page
Backward
Forward
Last Book
Browse...
Autobrowse...
Bookshelf
New Page
Delete Page
New Form
Load Form...
Save Form...
Image
Load...
Save...
Capture...
Clipboard
Paste
Spare
Swap Frames
Copy to Spare
Merge in Front
Merge in Back
Delete Spare
Frame
Previous
Delete
Copy to All
Color
Remap
Transparency
Paper <-> Pen
Paper -> Pen
Count
Vertical
Horizontal
Info...
Brush
Load...
Save...
Restore
Clipboard
Paste
Color
Remap
Transparency
Paper <-> Pen
Paper -> Pen
Center
Corner
Any Point
Any Size
Halve
Double
Halve Width
Halve Height
Double Width
Double Height
To PAL
To NTSC
Vertical
Horizontal
Shear
Vertical
Horizontal
Rotate
Any Angle
Paint
Matte
Color
Replace
Smear
Dissolve
Spare
Cycle
Cycle 2
Gradient
Gradient 2
Smudge
Chaos
Count
Custom
Dither
Edges
Object
Load...
Save...
Bring to Front
Send to Back
Bring Closer
Send Farther
Group
Ungroup
Duplicate...
Align...
Info...
Actions...
Script...
Load...
Save...
Plain
Underline
Italic
Shadow
Font...
Spacing...
Hypertext
Actions...
Script...
Tools
Coordinates
Title Bar
Palette
Colors
Patterns
Paint Tools
Paint Types
Histogram
Magnifier
Messages
Draw Tools
Layers
Pages
Author
Book...
Form...
Page...
Display...
Menus...
Narrator...
Hypertext...
Resources...
Effect...
Effect Area
wwwwDUUU
Book23
eagle.8svx
MaryCeleste.SMUS
Piano
PTopaz8
Raven.SMUS
Shackleton.text
topaz.font
PTopaz.font
63GLOB
DF0:Shackleton.text
DF0:eagle.8svx
DF0:Shackleton.text
fs1:fonts/PTopaz/8
/Books/DemoBook
Fast2:Action.pic
DemoBook1
Piano
First Voice
Organ
@MMenu
@CCreate Book
@mSimple Applications
@DDraw Tools
@PPaint Tools
@BHow to Use this Book
@SScripts
@AMultimedia Actions
@HPresenting Helm!
The Helm Welcome Book
@kBookshelf
@QQuit Helm
on SelectUp
begin
answer "CREATE A NEW BOOK?\n\n" &
"Experiment with creating and programming\n" &
"objects in a book." with "@CCancel" or "~@OOK"
if it is "OK" then doMenu "Book", "New..."
CREATE A NEW BOOK?
Experiment with creating and programming
objects in a book.
@CCancel
~@OOK
New...
Chicago
p?0v`
p?0|0
s>|~?
<This book presents several complete applications. While they
?are not nearly as flashy or as interesting as applications that
7are use many pages, we hope they indicate the diversity
?of applications that you can make with Helm. These applications
?use scripts sparingly and were, in fact, quite easy to make. If
;you want to see how they were made, activate an object with
Cthe Selection Tool of the
Draw Tools
Window and then select
Actions...
Script...
from the Object menu.
Simple Applications Menu
@PPaint Program
@EExample Database
@KPiano Keyboard
@CCalculator
@DDirectory Utility
@aCalendar
Use the Draw tools to create
objects that rest on a page or
a form. These objects include
$shapes, buttons,
textfields
imagefields
selectors
, and
timer objects
. Any object that
rests on a form, especially
textfields, can be shared or
nonshared. Nonshared text-
fields have different text on
each page of that form.
Selection Tool
Curve
Ellipse
Irregular
Polygon
Button
Imagefield
Selector
Timer
Browse Tool
Line
Rectangle
Regular
Polygon
Arrow
Textfield
Chart
PIP Object
*Draw Tools (Very, very, very important!!!)
Use a tool from the Paint tools
window to paint on an image
inside an imagefield. Like the
Draw tools, many of the icons
have pop-up menus or
windows that appear when
you click on the icon with the
menu (right) mouse button.
When you are using a paint
tool, the Image, Paint, and
Brush menus are available.
Brush Indicator
Select a built-in
brush with the
pop-up menu.
Create
user-
defined
brushes
tool.
Use the Animation Frame
Controls to flip through
the frames of an imagefield
that contains more than
one image frame.
Painting
Tools
Browse
Paint Tools
AYou can easily hook a list of actions to an object, menu item, or
?hypertext. You simply drag actions from a catalog list and drop
Athem into an action list that executes the actions asynchronously
<when you select the object in a designated way. You then set
9some parameters for each action. NO PROGRAMMING REQUIRED.
Blackboard
- Displays text in a timed window.
<CDTV Audio - Selects and plays tracks from an audio CD disc.
'Execute - Runs an AREXX or DOS program.
+Flip - Changes the frames in an imagefield.
1Genlock - Sends commands to an available genlock.
"Go To - Turns to a specified page.
.Helm Command - Executes a Helm system command.
9Layers - Uses a visual effect to change layer visibility.
Move - Moves an object.
Music
- Plays a SMUS file.
,Musical Notes - Plays notes entered as text.
Narration
- Sends notes to the Amiga Narrator if available.
*Picture - Displays a picture or animation.
%Scroll - Scrolls text in a textfield.
-Serial - Sends codes through a serial device.
Sound
- Plays an 8SVX file.
Test Pattern
- Displays color bars for adjusting video output.
- Displays a textfile.
Touch Tones
- Dials a telephone.
1Visibility - Changes the visibility of an object.
Multimedia Actions
8 Action Catalog (Press Red Hypertext to Activate Action)
#This is a
Blackboard
Help message.
14520623
Oregon Hill Cable
This is the Amiga
speaking.
?If you do not find an action that does just what you need, then
Ayou attach a script to an object, menu item, or hypertext. Helm's
7scripting language uses object-oriented features and an
1English-like syntax to make programming a breeze.
?You enclose blocks of script statements in
event functions
4which are control structures that determine when the
=statements will execute. Helm also converts data dynamically,
<so you never have to worry about converting between strings,
%integers, and floating point numbers.
Scripts
@EEvent Functions
@SScript Example
@HHow to Program
=This Demonstration Book introduces you to Helm, its purposes,
;and tells you a little about how to use it. Once you become
;familiar with the basic ways to make Helm books, you should
>try it yourself. Go to the Main Menu and click on Create Book.
8Then you can design your applications with what you have
learned here.
:We encourage you to move freely through this book, turning
<from page to page and clicking on buttons. But if you really
<want to learn Helm, you should take particular notice of the
Draw tools
window, activated by choosing Draw Tools in the
:Tools pull-down menu. With this one window, you can select
7the tools to browse through a book, create objects, and
4manipulate objects. Once you understand these tools,
=particularly the Browse and Selection Tools, you will be well
"on your way to understanding Helm.
?Another thing that you must understand is that a Helm book file
=stays open the entire time that you are using that book. When
9you make a change in the book, like moving an object with
@the Selection tool, that change will be automatically saved into
?the book file. There is no need, and no way, to explicitly save
a book; it is done for you.
>In this book, many buttons will turn to other pages. To return
<to the previously displayed page, select the angled arrow in
@the top right corner of the screen. If you get lost in the book,
=select the Menu button which is also in the top right corner.
<The Example Database application consists of four pages that
;use a single form. If you turn from page to page many times
=in this form, the angled return arrow obviously will not send
@you back to the applications menu. Select the lower right button
on these pages to do that.
@Red text is hypertext. When you click on this text, Helm will do
+something, usually turning to another page.
@This book has the Cannot Modify property active. This means that
@you cannot alter the book. If you want to change the book or use
>it as the basis of your own book applications, then you should
Dfirst deselect
Cannot Modify
in the Book Information requester,
5opened by choosing
in the
Author
menu.
How to Use this Book
wwwwPAGE
Multimedia Presentations
Make Interactive Kiosks
Video Presentations
Graphical Databases
What does Helm do?
on Timer
begin
set the pen of object id 759 to 5
wait 1
set the pen of object id 760 to 5
wait 1
set the pen of object id 761 to 5
wait 2
go to the next page
uon PreOpen
begin
set pen of object id 759 to 4
set pen of object id 760 to 4
set pen of object id 761 to 4
1Paint Program (Select a Paint Type from the Menu)
theImage
@LLoad Image
@SSave Image
@PPrint Image
#on SelectUp
begin
undo paint
on SelectUp
begin
0on SelectUp
begin
set the pencolor to me
>on SelectUp
begin
set tool to 4
set freehandtype to 0
pon SelectUp
begin
click on object id 467
set tool to 14
on MenuUp
begin
set the brushnumber to 0
&on SelectUp
begin
set tool to 5
&on SelectUp
begin
set tool to 6
&on SelectUp
begin
set tool to 8
&on SelectUp
begin
set tool to 7
&on SelectUp
begin
set tool to 9
*on SelectUp
begin
set tool to 32777
'on SelectUp
begin
set tool to 10
*on SelectUp
begin
set tool to 32778
'on SelectUp
begin
set tool to 11
*on SelectUp
begin
set tool to 32779
'on SelectUp
begin
set tool to 12
*on SelectUp
begin
set tool to 32780
on SelectUp
begin
clear paint
on MenuUp
begin
get the pencolor
set the pencolor to zero
clear paint
set the pencolor to it
on SelectUp
begin
getfile ""
if it is not empty begin
lock display
load image it into object id 464
unlock display with blocks speed 10
end
aon SelectUp
begin
getfile ""
if it is not empty begin
save object id 464 as it
end
-on SelectUp
begin
set brushnumber to 4
on SelectUp
begin
answer "Print picture?" with "@CCancel" or "@PPrint"
if it is "Print" then print imagefield "theImage"
Print picture?
@CCancel
@PPrint
Print
theImage
-on SelectUp
begin
set brushnumber to 1
-on SelectUp
begin
set brushnumber to 9
.on SelectUp
begin
set brushnumber to 17
-on SelectUp
begin
set brushnumber to 2
.on SelectUp
begin
set brushnumber to 10
.on SelectUp
begin
set brushnumber to 18
-on SelectUp
begin
set brushnumber to 7
.on SelectUp
begin
set brushnumber to 15
.on SelectUp
begin
set brushnumber to 23
on PageOpen
begin
set tool to 0
click on object id 464
click on object id 467
put 1 into object id 466
resetpaint
set the pencolor to 1
on PageClose
begin
set tool to 0
Piano Keyboard
MIDI Preset
0on SelectUp
begin
set defaultpreset to me
kon SelectUp
begin
global midikey
if midikey is true then play notes "MX 49"
else play notes "49"
midikey
MX 49
kon SelectUp
begin
global midikey
if midikey is true then play notes "MX 51"
else play notes "51"
midikey
MX 51
kon SelectUp
begin
global midikey
if midikey is true then play notes "MX 48"
else play notes "48"
midikey
MX 48
kon SelectUp
begin
global midikey
if midikey is true then play notes "MX 50"
else play notes "50"
midikey
MX 50
kon SelectUp
begin
global midikey
if midikey is true then play notes "MX 52"
else play notes "52"
midikey
MX 52
kon SelectUp
begin
global midikey
if midikey is true then play notes "MX 54"
else play notes "54"
midikey
MX 54
kon SelectUp
begin
global midikey
if midikey is true then play notes "MX 53"
else play notes "53"
midikey
MX 53
kon SelectUp
begin
global midikey
if midikey is true then play notes "MX 55"
else play notes "55"
midikey
MX 55
kon SelectUp
begin
global midikey
if midikey is true then play notes "MX 56"
else play notes "56"
midikey
MX 56
kon SelectUp
begin
global midikey
if midikey is true then play notes "MX 58"
else play notes "58"
midikey
MX 58
kon SelectUp
begin
global midikey
if midikey is true then play notes "MX 57"
else play notes "57"
midikey
MX 57
kon SelectUp
begin
global midikey
if midikey is true then play notes "MX 59"
else play notes "59"
midikey
MX 59
kon SelectUp
begin
global midikey
if midikey is true then play notes "MX 61"
else play notes "61"
midikey
MX 61
kon SelectUp
begin
global midikey
if midikey is true then play notes "MX 63"
else play notes "63"
midikey
MX 63
kon SelectUp
begin
global midikey
if midikey is true then play notes "MX 60"
else play notes "60"
midikey
MX 60
kon SelectUp
begin
global midikey
if midikey is true then play notes "MX 62"
else play notes "62"
midikey
MX 62
kon SelectUp
begin
global midikey
if midikey is true then play notes "MX 64"
else play notes "64"
midikey
MX 64
kon SelectUp
begin
global midikey
if midikey is true then play notes "MX 66"
else play notes "66"
midikey
MX 66
kon SelectUp
begin
global midikey
if midikey is true then play notes "MX 65"
else play notes "65"
midikey
MX 65
kon SelectUp
begin
global midikey
if midikey is true then play notes "MX 67"
else play notes "67"
midikey
MX 67
kon SelectUp
begin
global midikey
if midikey is true then play notes "MX 68"
else play notes "68"
midikey
MX 68
kon SelectUp
begin
global midikey
if midikey is true then play notes "MX 70"
else play notes "70"
midikey
MX 70
kon SelectUp
begin
global midikey
if midikey is true then play notes "MX 69"
else play notes "69"
midikey
MX 69
kon SelectUp
begin
global midikey
if midikey is true then play notes "MX 71"
else play notes "71"
midikey
MX 71
on SelectUp
begin
global midikey
if the hilite of me is true begin
put true into midikey
set defaultpreset to object id 320
else put false into midikey
midikey
kon SelectUp
begin
global midikey
if midikey is true then play notes "MX 73"
else play notes "73"
midikey
MX 73
kon SelectUp
begin
global midikey
if midikey is true then play notes "MX 75"
else play notes "75"
midikey
MX 75
kon SelectUp
begin
global midikey
if midikey is true then play notes "MX 72"
else play notes "72"
midikey
MX 72
kon SelectUp
begin
global midikey
if midikey is true then play notes "MX 74"
else play notes "74"
midikey
MX 74
kon SelectUp
begin
global midikey
if midikey is true then play notes "MX 76"
else play notes "76"
midikey
MX 76
kon SelectUp
begin
global midikey
if midikey is true then play notes "MX 78"
else play notes "78"
midikey
MX 78
kon SelectUp
begin
global midikey
if midikey is true then play notes "MX 77"
else play notes "77"
midikey
MX 77
kon SelectUp
begin
global midikey
if midikey is true then play notes "MX 79"
else play notes "79"
midikey
MX 79
kon SelectUp
begin
global midikey
if midikey is true then play notes "MX 80"
else play notes "80"
midikey
MX 80
kon SelectUp
begin
global midikey
if midikey is true then play notes "MX 82"
else play notes "82"
midikey
MX 82
kon SelectUp
begin
global midikey
if midikey is true then play notes "MX 81"
else play notes "81"
midikey
MX 81
kon SelectUp
begin
global midikey
if midikey is true then play notes "MX 83"
else play notes "83"
midikey
MX 83
kon SelectUp
begin
global midikey
if midikey is true then play notes "MX 84"
else play notes "84"
midikey
MX 84
kon SelectUp
begin
global midikey
if midikey is true then play notes "MX 37"
else play notes "37"
midikey
MX 37
kon SelectUp
begin
global midikey
if midikey is true then play notes "MX 39"
else play notes "39"
midikey
MX 39
kon SelectUp
begin
global midikey
if midikey is true then play notes "MX 36"
else play notes "36"
midikey
MX 36
kon SelectUp
begin
global midikey
if midikey is true then play notes "MX 38"
else play notes "38"
midikey
MX 38
kon SelectUp
begin
global midikey
if midikey is true then play notes "MX 40"
else play notes "40"
midikey
MX 40
kon SelectUp
begin
global midikey
if midikey is true then play notes "MX 42"
else play notes "42"
midikey
MX 42
kon SelectUp
begin
global midikey
if midikey is true then play notes "MX 41"
else play notes "41"
midikey
MX 41
kon SelectUp
begin
global midikey
if midikey is true then play notes "MX 43"
else play notes "43"
midikey
MX 43
kon SelectUp
begin
global midikey
if midikey is true then play notes "MX 44"
else play notes "44"
midikey
MX 44
kon SelectUp
begin
global midikey
if midikey is true then play notes "MX 46"
else play notes "46"
midikey
MX 46
kon SelectUp
begin
global midikey
if midikey is true then play notes "MX 45"
else play notes "45"
midikey
MX 45
kon SelectUp
begin
global midikey
if midikey is true then play notes "MX 47"
else play notes "47"
midikey
MX 47
Calculator
Display
C ->
Yards -> Meters
Meters -> Yards
F ->
Inches -> Centimeters
Centimeters -> Meters
Miles -> Kilometers
Pounds -> Grams
Grams -> Pounds
Kilometers -> Miles
on SelectUp
begin
checkit()
if textfield "Display" = 0 and (char 2 of textfield "Display") != "."
put "7" into textfield "Display"
else put "7" after textfield "Display"
checkit
Display
Display
Display
Display
on SelectUp
begin
checkit()
if textfield "Display" = 0 and (char 2 of textfield "Display") != "."
put "8" into textfield "Display"
else put "8" after textfield "Display"
checkit
Display
Display
Display
Display
on SelectUp
begin
checkit()
if textfield "Display" = 0 and (char 2 of textfield "Display") != "."
put "9" into textfield "Display"
else put "9" after textfield "Display"
checkit
Display
Display
Display
Display
on SelectUp
begin
global operator
global firstnumber
global doit
put false into doit
put "/" into operator
put textfield "Display" into firstnumber
/ operator
firstnumber
Display
on SelectUp
begin
checkit()
if textfield "Display" = 0 and (char 2 of textfield "Display") != "."
put "4" into textfield "Display"
else put "4" after textfield "Display"
checkit
Display
Display
Display
Display
on SelectUp
begin
checkit()
if textfield "Display" = 0 and (char 2 of textfield "Display") != "."
put "5" into textfield "Display"
else put "5" after textfield "Display"
checkit
Display
Display
Display
Display
on SelectUp
begin
checkit()
if textfield "Display" = 0 and (char 2 of textfield "Display") != "."
put "6" into textfield "Display"
else put "6" after textfield "Display"
checkit
Display
Display
Display
Display
on SelectUp
begin
global operator
global firstnumber
global doit
put false into doit
put "x" into operator
put textfield "Display" into firstnumber
/ operator
firstnumber
Display
on SelectUp
begin
checkit()
if textfield "Display" = 0 and (char 2 of textfield "Display") != "."
put "1" into textfield "Display"
else put "1" after textfield "Display"
checkit
Display
Display
Display
Display
on SelectUp
begin
checkit()
if textfield "Display" = 0 and (char 2 of textfield "Display") != "."
put "2" into textfield "Display"
else put "2" after textfield "Display"
checkit
Display
Display
Display
Display
on SelectUp
begin
checkit()
if textfield "Display" = 0 and (char 2 of textfield "Display") != "."
put "3" into textfield "Display"
else put "3" after textfield "Display"
checkit
Display
Display
Display
Display
on SelectUp
begin
global operator
global firstnumber
global doit
put false into doit
put "-" into operator
put textfield "Display" into firstnumber
/ operator
firstnumber
Display
on SelectUp
begin
checkit()
if textfield "Display" = 0 and (char 2 of textfield "Display") != "."
put "0" into textfield "Display"
'else put "0" after textfield "Display"
if textfield "Display" != 0 put "0" after textfield "Display"
checkit
Display
Display
Display
Display
Display
bon SelectUp
begin
put textfield "Display" * -1 into textfield "Display"
resetcalculator()
Display
Display
resetcalculator
2on SelectUp
begin
checkit()
get textfield "Display"
put the number of characters of it into n
put false into dot
for i = 1 to n begin
if (char i of it) = "." begin
put true into dot
put n + 1 into i
end
if dot = false then
put "." after textfield "Display"
checkit
Display
Display
on SelectUp
begin
global operator
global firstnumber
global doit
put false into doit
put "+" into operator
put textfield "Display" into firstnumber
/ operator
firstnumber
Display
:on SelectUp
begin
put zero into textfield "Display"
Display
Don SelectUp
begin
global operator
global firstnumber
global doit
if operator = "/" begin
if (textfield "Display" = 0) then
put "DIVISION BY ZERO" into it
else put (firstnumber / textfield "Display") into it
end
if operator = "x" then put firstnumber * textfield "Display" into it
if operator = "-" then put firstnumber - textfield "Display" into it
if operator = "+" then put firstnumber + textfield "Display" into it
if operator is empty then put zero into it
put it into textfield "Display"
put "=" into operator
put false into doit
/ operator
firstnumber
Display
DIVISION BY ZERO
Display
Display
Display
Display
Display
on SelectUp
begin
get textfield "Display"
put (sin of (it * 3.14159265358979 / 180)) into textfield "Display"
resetcalculator()
Display
Display
resetcalculator
on SelectUp
begin
get textfield "Display"
put (cos of (it * 3.14159265358979 / 180)) into textfield "Display"
resetcalculator()
Display
Display
resetcalculator
on SelectUp
begin
get textfield "Display"
put (tan of (it * 3.14159265358979 / 180)) into textfield "Display"
resetcalculator()
Display
Display
resetcalculator
on SelectUp
begin
get textfield "Display"
put (asin of it) * 180 / 3.14159265358979 into textfield "Display"
resetcalculator()
Display
Display
resetcalculator
on SelectUp
begin
get textfield "Display"
put (acos of it) * 180 / 3.14159265358979 into textfield "Display"
resetcalculator()
Display
Display
resetcalculator
on SelectUp
begin
get textfield "Display"
get textfield "Display"
put (atan of it) * 180 / 3.14159265358979 into textfield "Display"
resetcalculator()
Display
Display
Display
resetcalculator
on SelectUp
begin
get textfield "Display"
put (sinh of (it * 3.14159265358979 / 180)) into textfield "Display"
resetcalculator()
Display
Display
resetcalculator
on SelectUp
begin
get textfield "Display"
put (cosh of (it * 3.14159265358979 / 180)) into textfield "Display"
resetcalculator()
Display
Display
resetcalculator
on SelectUp
begin
get textfield "Display"
put (tanh of (it * 3.14159265358979 / 180)) into textfield "Display"
resetcalculator()
Display
Display
resetcalculator
jon SelectUp
begin
put the log10 of textfield "Display" into textfield "Display"
resetcalculator()
Display
Display
resetcalculator
hon SelectUp
begin
put the exp of textfield "Display" into textfield "Display"
resetcalculator()
Display
Display
resetcalculator
on SelectUp
begin
get textfield "Display"
put (cot of (it * 3.14159265358979 / 180)) into textfield "Display"
resetcalculator()
Display
Display
resetcalculator
jon SelectUp
begin
put (textfield "Display") * 1.8 + 32 into textfield "Display"
resetcalculator()
Display
Display
resetcalculator
lon SelectUp
begin
put (textfield "Display") * 1.09361398 into textfield "Display"
resetcalculator()
Display
=Display
resetcalculator
hon SelectUp
begin
put (textfield "Display") * 0.9144 into textfield "Display"
resetcalculator()
Display
Display
resetcalculator
qon SelectUp
begin
put ((textfield "Display") - 32) * 0.555555 into textfield "Display"
resetcalculator()
Display
Display
resetcalculator
jon SelectUp
begin
put (textfield "Display") * 0.393701 into textfield "Display"
resetcalculator()
Display
Display
resetcalculator
fon SelectUp
begin
put (textfield "Display") * 2.54 into textfield "Display"
resetcalculator()
Display
RDisplay
resetcalculator
ion SelectUp
begin
put (textfield "Display") * 0.62137 into textfield "Display"
resetcalculator()
Display
Display
resetcalculator
kon SelectUp
begin
put (textfield "Display") * 0.0026792 into textfield "Display"
resetcalculator()
Display
Display
resetcalculator
ion SelectUp
begin
put (textfield "Display") * 373.242 into textfield "Display"
resetcalculator()
Display
Display
resetcalculator
ion SelectUp
begin
put (textfield "Display") * 1.60934 into textfield "Display"
resetcalculator()
Display
PrDisplay
resetcalculator
Lon PageClose begin
put 0 into textfield "Display"
checkit begin
global operator
global doit
if (operator is not empty) and (doit is false) then begin
put zero into textfield "Display"
put true into doit
end
resetcalculator begin
global operator, doit
put "=" into operator
put false into doit
resetcalculator
checkit
Display
/ operator
Display
/ operator
Directory Utility
FileA
FileB
CGraphics RAM: %3
Other RAM: %4
OS: %k
Processor: %1
Delete
COPY ->
Rename
MakeDir
Image
Sound
Music
<- COPY
Delete
Rename
MakeDir
Image
Sound
Music
Halt Music
Bookshelf
WORK:
WORK:
About
on SelectUp
begin
put strdir of selector "FileA" into temporary
put strdir of selector "FileB" into selector "FileA"
put temporary into selector "FileB"
FileA
FileB
FileA
FileB
Mon SelectUp
begin
put strdir of selector "FileA" into selector "FileB"
FileA
FileB
Mon SelectUp
begin
put strdir of selector "FileB" into selector "FileA"
FileB
FileA
kon SelectUp
begin
deletefile selector "FileA"
put strdir of selector "FileA" into selector "FileA"
FileA
FileA
FileA
on SelectUp
begin
copyfile selector "FileA" to strdir of selector "FileB"
put strdir selector "FileB" into selector "FileB"
FileA
FileB
FileB
FileB
on SelectUp
begin
ask "Enter new name:" with selector "FileA"
if it is not empty then begin
rename selector "FileA" as it
put strdir of selector "FileA" into selector "FileA"
end
Enter new name:
FileA
FileA
FileA
FileA
on SelectUp
begin
ask "Enter path and directory name:" with strdir of selector "FileA"
if it is not empty then begin
makedir it
put strdir of selector "FileA" into selector "FileA"
end
Enter path and directory name:
FileA
FileA
FileA
Don SelectUp
begin
show image selector "FileA" fade loops zero
FileA
4on SelectUp
begin
play sound selector "FileA"
FileA
3on SelectUp
begin
show text selector "FileA"
FileA
4on SelectUp
begin
play music selector "FileA"
FileA
on SelectUp
begin
copyfile selector "FileB" to strdir of selector "FileA"
put strdir of selector "FileA" into selector "FileA"
FileB
FileA
FileA
FileA
kon SelectUp
begin
deletefile selector "FileB"
put strdir of selector "FileB" into selector "FileB"
FileB
FileB
FileB
on SelectUp
begin
ask "Enter new name:" with selector "FileB"
if it is not empty then begin
rename selector "FileB" as it
put strdir of selector "FileB" into selector "FileB"
end
Enter new name:
FileB
FileB
FileB
FileB
on SelectUp
begin
ask "Enter path and directory name:" with strdir of selector "FileB"
if it is not empty begin
makedir it
put strdir of selector "FileB" into selector "FileB"
end
Enter path and directory name:
FileB
FileB
FileB
Don SelectUp
begin
show image selector "FileB" fade loops zero
FileB
4on SelectUp
begin
play sound selector "FileB"
FileB
3on SelectUp
begin
show text selector "FileB"
FileB
4on SelectUp
begin
play music selector "FileB"
FileB
5on SelectUp
begin
set midi to the hilite of me
Von SelectUp
begin
answer "This button is disabled\nin this demonstration book."
This button is disabled
in this demonstration book.
Lon SelectUp
begin
selectpathA()
on MenuUp
begin
changebutton()
selectpathA
changebutton
Lon SelectUp
begin
selectpathA()
on MenuUp
begin
changebutton()
selectpathA
changebutton
Lon SelectUp
begin
selectpathA()
on MenuUp
begin
changebutton()
selectpathA
changebutton
Lon SelectUp
begin
selectpathB()
on MenuUp
begin
changebutton()
selectpathB
changebutton
Lon SelectUp
begin
selectpathB()
on MenuUp
begin
changebutton()
selectpathB
changebutton
Lon SelectUp
begin
selectpathB()
on MenuUp
begin
changebutton()
selectpathB
changebutton
Lon SelectUp
begin
selectpathA()
on MenuUp
begin
changebutton()
selectpathA
changebutton
Lon SelectUp
begin
selectpathA()
on MenuUp
begin
changebutton()
selectpathA
changebutton
Lon SelectUp
begin
selectpathA()
on MenuUp
begin
changebutton()
selectpathA
changebutton
Lon SelectUp
begin
selectpathB()
on MenuUp
begin
changebutton()
selectpathB
changebutton
Lon SelectUp
begin
selectpathB()
on MenuUp
begin
changebutton()
selectpathB
changebutton
Lon SelectUp
begin
selectpathB()
on MenuUp
begin
changebutton()
selectpathB
changebutton
3on SelectUp
begin
answer "Directory Utility"
Directory Utility
selectpathA
begin
put the name of me into selector "FileA"
selectpathB
begin
put the name of me into selector "FileB"
changebutton
begin
ask "Enter path:" with the name of me
if it is not empty then set the name of me to it
changebutton
selectpathB
selectpathA
FileA
FileB
Enter path:
Calendar
>FORM
*ILBMBMHD
DFORM
0ILBMBMHD
ILBMBMHD
+Database Example (One form with four pages)
Last Name
First Name
Company
Street
State
Country
Notes
Phone
@MMenu
@DDelete Page
@wNew Page
@FFind
@SSort
@RReturn
@BBookshelf
@NNext
@PPrevious
Number
Company
@AApps Menu
Phone
@11 Dial
@22 Dial
Ton SelectUp
begin
answer "This command is NOT\nimplemented in the Demo Book."
This command is NOT
implemented in the Demo Book.
Ton SelectUp
begin
answer "This command is NOT\nimplemented in the Demo Book."
This command is NOT
implemented in the Demo Book.
Von SelectUp
begin
answer "This command is disabled\nin the demonstration book."
This command is disabled
in the demonstration book.
Ton SelectUp
begin
answer "This command is NOT\nimplemented in the Demo Book."
This command is NOT
implemented in the Demo Book.
bon SelectUp
begin
answer "This command is NOT\n" &
"implemented in the Demo Book."
This command is NOT
implemented in the Demo Book.
/on SelectUp
begin
dial textfield "Phone"
Phone
-on SelectUp
begin
dial textfield "FAX"
Smallbridge
1805 Esquire Street
Renown, Ltd.
05-14-93
Horatio
Hornblower
1-804/555-1000
Chichester
1967 Francis Street
12-03-92
William
1-555/1797
ITALIA
Tuscany
Volterra
1796 Marchesa Way
Edward Yorke & Associates, Inc.
11-15-92
Nicholas
Ramage
Rhymes with "damage."
1-804/555-3432
1-804/555-3432
23230
Yorktown
123 Captain Road
Nonsuch, Inc.
02-15-93
Barbara
Wellesley
HFORM
4ILBMBMHD
A textfield is like a small word
processor contained in an
.object. The textfields support color and style
font, color, and style changes;
color fonts; mouse scrolling;
transparent backgrounds;
hypertext; and more. The
textfields have everything
you need to create video and
multimedia presentations
with ease.
Lydia
swung away,
close-hauled
, clawing her
way up to windward of the
flaming wreck.
Hornblower
gazed back at
her. There were bright
flames now to be seen,
spouting from the
shattered bows -- the red
glow was reflected in the
heaving sea around her.
And then, as they looked,
they saw the flames
vanish abruptly, like an
extinguished candle. There
was nothing to be seen at
all, nothing save darkness
and the faint glimmer of
the wave crests. The seas
had swallowed the
Natividad
before the
flames could destroy her.
from
Beat to Quarters
C. S. Forester
Textfields
PCECIL SCOTT FORESTER (1899-1965), British
Novelist. Created the character of
Horatio Hornblower in a series of novels
that take place during the wars with
France (1793-1815). These novels are
noted for their vivid descriptions of
square-rigger seamanship and the complex
Hornblower character.
iCLOSE-HAULED, having the sails
trimmed so that the ship proceeds
as close to the wind as possible.
on SelectUp
begin
NHORATIO HORNBLOWER
Captain of His Majesty's
Frigate Lydia.
on SelectUp
begin
IWILLIAM BUSH
First Lieutenant of His
Majesty's frigate Lydia
on SelectUp
begin
An imagefield is an object that
contains one or more image
frames. You can paint on the
image with the paint tools.
You can also animate an
imagefield or use it as a
button. Try the imagefield
slider to the left or press
down on the lamp with the
selection (left) mouse button.
Imagefields
Selectors are control panels
used for specialized input.
Many selectors offer ways
of selecting an item in a list;
you can attach actions or a
script to each item and to the
selector as a whole. Other
selectors, like file selectors,
perform unque functions that
would be difficult for you to
program on your own.
Selectors
Selectors Types
theClock
Calendar
Check Box
Clock
Cycle
Empty
Function
Information
Item Slider
Matrix
Multiple Choice
Number
Palette
Pop-up Menu
Radio
Scrolling List
Single Choice
Slider
Tacking
Close-hauled
Fetch
Reach
Broad reach
Gybing
Broad
Grace
Franklin
Aon SelectUp
begin
set the pen of selector "theClock" to me
theClock
Fleet Admiral
Admiral
Vice Admiral
Rear Admiral
Marryat
Forester
Tinker
Tailor
Soldier
Sailor
A timer executes actions or a
script at a specified interval
after the page on which the
timer rests is opened. Timers
provide easy ways to create
non-interactive video
presentations. Timers are
usually left invisible when in
use. The book author will
choose
Show All
to make
changes to the timers.
This timer scrolls text in a
textfield once every second.
John Jervis
Horatio Nelson
Cuthbert Collingwood
Edward Pellew
Timer Objects
nFORM
ZANIMFORM
ILBMBMHD
wwwwCRNG
ILBMANHD
con]KR4>
}}<;CS
ILBMANHD
gOOOHWT^?
ILBMANHD
o?;;??
o?;;??
[[77/_
4,Z;>~
^ILBMANHD
ILBMANHD
con]KR4>
}}<;CS
ANIMFORM
ILBMBMHD
ADPAN
wwwwCRNG
ILBMANHD
ILBMANHD
ILBMANHD
RILBMANHD
^^]=:u
ILBMANHD
ILBMANHD
8|||8
,\R %
8|||8
ILBMANHD
ILBMANHD
zFORM
fANIMFORM
ILBMBMHD
wwwwCRNG
ILBMANHD
ILBMANHD
ILBMANHD
ILBMANHD
ILBMANHD
|FORM
hILBMBMHD
Helm produces many different
messages as you interact with
a book, such as clicking on a
button or turning a page.
The event functions in scripts
give an object a way to
respond to these events; Helm
handles the interaction with
the user, freeing the author to
concentrate on the creative
aspect of programming.
SelectUp
SelectDown
MenuUp
MenuDown
MenuChoice
BookOpen
BookClose
PreOpen
PageOpen
PageClose
Return
Timer
Event Functions
Helm Recognizes these Events
The script displayed in the
textfield to the left is a copy
of the script that is attached
to the red "Press to Play"
button. When you click on this
button with the selection (left)
mouse button, Helm will
run the script. Notice that
the event function will not
run until you release (that is,
"let
) the selection button.
on SelectUp
begin
set color zero to bright red
wait 1
set color zero to black
play notes "cq e gh"
Script Example
@PPress to Play
@OVariation One
@TVariation Two
oon SelectUp
begin
set color zero to bright red
wait 1
set color zero to black
play notes "cq e gh"
cq e gh
on SelectUp
begin
lock display
put "red" into word 9 of textfield "test"
put "wait" into word 10 of textfield "test"
put "1" into word 11 of textfield "test"
set the script of button "Press to Play" to textfield "test"
unlock display
test
Press to Play
on SelectUp
begin
lock display
put "\"Hello\"" into word 11 of textfield "test"
put "blue" into word 9 of textfield "test"
put "answer" into word 10 of textfield "test"
set the script of button "Press to Play" to textfield "test"
unlock display
"Hello"
test
answer
Press to Play
You must understand four
basic object-oriented concepts
before you can program in
Helm: (1) Scripts are attached
to objects. (2) Scripts consist
of functions. (3) Event
functions show Helm how to
respond to specified events.
(4) Events are created when
the user interacts with the
objects in a book.
HOW TO PROGRAM
+1. Create an object, such as a button, with
1a tool chosen from the
Draw tools window
*2. Choose the Selection tool from the Draw
tools window to edit the object.
&3. Double click the object to edit the
(object's name and change its settings in
+the object's info window. Then select Exit.
&4. With the object still active -- the
'control points are visible on an active
*object -- choose Script... from the Object
&pull down menu; the Script Editor will
)open. (You could also have chosen Actions
+to attach a simple multimedia action list.)
%5. Determine which event you want the
!object to respond to and enter it
$followed by "begin" into the editor.
)6. Enter the body of your event function,
(followed by "end" to indicate the end of
%the function. Then choose OK from the
$editor pull-down menu to compile the
)script and leave the editor. YOU'RE DONE!
37. Select the
Browse tool
and then click on
the object to test your work.
-How to Program (The Easy Object-oriented Way)
ptopaz
3o3xg
Make Interactive Kiosks
Video Presentations
Personal Programming
&To make applications, you draw objects
'on screen and attach actions or scripts
to the objects.
It's that simple.
You create objects with
tools selected from this
tool window. Use the Selection
Tool to edit existing objects.
Use the Browse tool to use
the book when you are
finished creating or editing
objects. All other tools
create objects.
Selection
Browse
Use the Draw Tools!
HFORM
4ILBMBMHD
But that's not all.
PAINT TOOLS
Helm's paint tools are some of
the best in the business. They
#are useful for editing and creating
artwork or animated buttons.
And the painting features of
Helm are so good that you can
even create your own custom
paint program...Your own AGA
paint program.
Paint Tools Window
|FORM
hILBMBMHD
Don't forget the Forms!
;Objects on a form will appear on all of the form's daughter
?pages. The data contained in these objects can be different for
3each page. This is great for making books that have
)different text or pictures on every page.
Objects on a form...
...appear on all the
form's daughter
pages.
Now you know
something about Helm.
Try this demo.
You will be surprised at how
"quickly you can build colorful and
useful applications.
Time's wasting!
~ Main Menu
~SMUSSHDR
MaryCeleste.SMUSINS1
Piano
A TRAK
) SOND
pFORM
\8SVXVHDR
,Created Or Edited With Synthia Professional.BODY
(?MGG\
2;O`&
$ElV89
>@4'1B@6
(+?MMVGTG_\
3>\XFQ{T
,B?^ZZK
-?<K^Zl?
22;TOx`6&) "
'$>ETlyV88%9'
0)(<WO0)
(<<G7
'L[6
#098+%
'6>73*
-.*$
$,2,&
*381(
%41-
)/(**
.)..%
%)/)"!
',+'! "
#,22*),%
)2)((*'
,)'!%)!
&)!!&+
'-)'*32#
'+&',23
('3>3
!4A:(
!173$
"/3+#
$12-#
&21,'#
*.0++
)+-.%!
$+/+%#
#+.&+!
$*&+'#
%()*)&
&(+).%
$'%,,$
#$(/.!
+,,)!
*+-+
"&,++!
%*.+
!$-/.
#"
"%"#"
!#"#&
AWTD--!
34/.'%
"Pd`XM5'$-6EE7/,%% "
%EFT=
$6HQD&
->Qh`J
4HMKA*
&<U\Z8
(268'
)D]mV>
4GJD6#
0K\`[6
/9@:*
*I[aU3
"7LJC3
,[ugA$
';?0.(
Fgq\>$
+03;2
GffO8(
#4=9.
)R^[M9*
,=F>,$#%$
/MXQE8'
.:81'""#
8NSTH;*
*1/&"#!
8LXQKF,
*(%'!
7AJTO8
%*+3+&-.
(BQRE0
%%"$*(
1JVPC8'
'%'+10'
2HGFB2
2@GJ@+
.2+!##$"
5GNPC,
-?OH4&
2FJ>5(
!% #('%#
5@D@1"
2CF=2%!
#$#%)(!
/??3*%
5=962$
"3=>;3("!#
+483&
1?=.'/5*
!9:/)/93"
(2,'/96."
'&(/5760!
!+/2<=/
$&-;A:+
%1>@4$
(;@:4/
.6889-
*17?:&
%2AB4
(;@>/
,:?9-
-<?6&
1<</"
4>3+'
%232-'
%/211(
!(24+
.4/*#
"-/+)(
#'),.&
$-2/#
",.+!
$))&!
$'))"
#'+,#
!).+!
',+)$
#).+!
$+-+"
!,+$
%*%"$%
%##&(%
!$(($
!'%')
"(,'
$+.*!
"//0+
#+21(
$/12'
&/3/'
&.31#
'12+%
(/1,#
)//)%
!(.,+(
(*,-(
$*./'
$+/.(
#+2.#
&.0+&
%+/-'
%,0.&
%//,(
&,00&
$.2.$
&/3-!
+.,'"
")+,(
(-+%!
!(+*'
(+(&"
'('
%%'($
#%'(&
!$(*'
(+(%
"'*)&
!'*,&
'+*%
!'++$
!)+)$
"(**#
!&,)!
!)+&
#)(%"
#''%"
"&%%$
#&(#
!%:GJ?'
-@HI@8/
+O``REJF7,&$ $$
0D@AIJ98@0'%!
&2<7#
!.=3
4CJTjgOLGA<5/#
-,.FXOAHSTG7(
2SgYKOVUF>C<%
')0@A8=O^XKGF<*%(
0FHISWSPVZG(!)-%,774<P`[MNYWF<;1(
%)(6GJJU\I2/02+"#-55:IOTVVXVQPM@-*#
(>HIKMH<83$""!
!(/9BCJOMU\T@243-"
&2AFB@?6'%#
$&%)7AFOROGDD9786&
6?>AGG<6-
!-.4GQLFHIECLI4
%:IE==<0$#*
*BH>7CRMIMM=6<4
%556FH4'08)
0.$+?FBEFGHIKC0
#0<604=?1
$2715BHFFNVM2
(,/<HH;,)-%
"+.,,2;FQVO?0#
!(,6AE>41,#
+=MPLFA=2"
)37<=<:0("
*<IIHML?672(
%7D?3.&
-68CPM@=GD832'
)7322+
"3DD:;EFCGF6
"$-5-
''" !
!32-/8AHLLC3%
#' !%
+3-''!
!+)#"&'$%+&
#039DNQH6(
#!$$!&-55'
#09FMNI@1$
$+*.,#
&+364*!
&1>IOOD. "%
#(-0(!
)25-(#
1:DMJ<20(
#(-/0+
!*()00$
3GJ>:90(05+
'155+
"5867965761$
%)%"
-860,
&$!%%!
#'-347:;6.(
#"#(&
)*16."
#'29:;6.(&"
"')*&
%22)#!
)/0)
'-49;730+
#(--&"
"%(('
+3/(#
$-2:?9*#&!
#.1(
!$)-,&
!'*.*
!0<:1+&
%0.# ""#%%#
#*04,
+.'&'
#560.* ",.("$&'%"&'#!!
&/22*
!"$--$
$'())()('&&'&$$%%$$&&&"
"%%(('('%#'*# $*-+%
(33,$
%%&%$$)-)
!&(,/(!
"***%
&-1*
#'+.$
!!!%*+(*)$
'+()&
'+& #&
!(*(*-+"
"++(&
$$"%%
$$%+-+*
$+**%
(..*%!"&(%$
%&++##'*''(%
"($!$&&&)-*#
"#! !##$),*))%
!%(*-0*"
" ",1.)$
"$"$!
',0/'
!%&$!
!##$$"
)--($"!!#('!
"##&'
"*(#%'$ !&$&!
#&&" %&"#+,%
#$!!"
$,,(
$-+$!
#"!$%!
!&%#$$!
!$&&$
"#""#!
!%#
&'$""
"$"#'*&
! !$((('#
&')+)"
"#$(,*#
&+*$#&%
"&%$()%!!$"
##"%'&$%'%!
"%$#%'%%('
#&&'*+%
"#%)+'$##
%*(%'(#
"&%%(*("
#(*'""%$
$&$"%"$%
#""$$$%'&"
!%$"$'&$&$
"&&&((#
#"$)+'"!
&*(%%%
"&$$()%
#(*&""$"
$&$$& "$!
$#"$%#"%'#
"%#"%'$#&%
#&%%((#
"#$(*&""#
%*'$%'#
"&%%')'"
#()&"#%#
$&$"%"$%
#""$$$%'&"
!%$"$'&$&$
"&&&((#
#"$)+'"!
&*(%%%
"&$$()%
#(*&""$"
$&$$& "$!
$#"$%#"%'#
"%#"%'$#&%
#&%%((#
"#$(*&""#
%*'$%'#
"&%%')'"
#()&"#%#
$&$"%"$%
#""$$$%'&"
!%$"$'&$&$
"&&&((#
#"$)+'"!
&*(%%%
"&$$()%
#(*&""$"
$&$$& "$!
$#"$%#"%'#
"%#"%'$#&%
#&%%((#
"#$(*&""#
%*'$%'#
"&%%')'"
#()&"#%#
$&$"%"$%
#""$$$%'&"
!%$"$'&$&$
"&&&((#
#"$)+'"!
&*(%%%
"&$$()%
#(*&""$"
$&$$& "$!
$#"$%#"%'#
"%#"%'$#&%
#&%%((#
"#$(*&""#
%*'$%'#
"&%%')'"
#()&"#%#
$&$"%"$%
#""$$$%'&"
!%$"$'&$&$
"&&&((#
#"$)+'"!
&*(%%%
"&$$()%
#(*&""$"
$&$$& "$!
$#"$%#"%'#
"%#"%'$#&%
#&%%((#
"#$(*&""#
%*'$%'#
"&%%')'"
#()&"#%#
$&$"%"$%
#""$$$%'&"
!%$"$'&$&$
"&&&((#
#"$)+'"!
&*(%%%
"&$$()%
#(*&""$"
$&$$& "$!
$#"$%#"%'#
"%#"%'$#&%
#&%%((#
"#$(*&""#
%*'$%'#
"&%%')'"
^FORM
JSMUSSHDR
Raven.SMUSINS1
First Voice
First Voice
Piano
zFORM
f8SVXVHDR
eagle
Audio Master
%MPH
+* ,)
'4 +
' #G@
"9O8&'4
'H,"
- 54
At midnight I was at the tiller and suddenly noticed a line of clear sky
between the south and southwest. I called to the other men that the sky
was clearing, and then a moment later I realized that what I had seen was
not a rift in the clouds but the white crest of an enormous wave. During
twenty-six years' experience of the ocean in all its moods I had not
encountered a wave so gigantic. It was a mighty upheaval of the ocean, a
thing quite apart from the big white-capped seas that had been our
tireless enemies for many days. I shouted, "For God's sake, hold on! It's
got us!" Then came a moment of suspense that seemed drawn out into hours.
White surged the foam of the breaking sea around us. We felt our boat
lifted and flung forward like a cork in breaking surf. We were in a
seething chaos of tortured water; but somehow the boat lived through it,
half full of water, sagging to the dead weight and shuddering under the
blow. We baled with the energy of men fighting for life, flinging the
water over the sides with every receptacle that came to our hands, and
after ten minutes of uncertainty we felt the boat renew her life beneath
us. She floated again and ceased to lurch drunkenly as though dazed by the
attack of the sea. Earnestly we hoped that never again would we encounter
such a wave.
The conditions in the boat, uncomfortable before, had been made worse by
the deluge of water. All our gear was thoroughly wet again. Our cooking
stove had been floating about in the bottom of the boat, and portions of
our last hoosh seemed to have permeated everything. Not until 3 A.M., when
we were all chilled almost to the limit of endurance, did we manage to get
the stove alight and make ourselves hot drinks. The carpenter [McCarthy]
was suffering particularly, but he showed grit and spirt. Vincent had for
the past week ceased to be an active member of the crew, and I could not
easily account for his collapse. Physically he was one of the strongest
men in the boat. He was a young man, he had served on North Sea trawlers,
and he should have been able to bear hardships better than McCarthy, who,
not so strong, was always happy.
The weather was better on the following day (May 6), and we got a
glimpse of the sun. Worsley's observation showed that we were not more
than a hundred miles from the northwest corner of South Georgia. Two more
days with a favorable wind and we would sight the promised land.
from SOUTH (1920)
by Ernest Shackleton