[comp.sys.mac.hypercard] HyperCard 1.2 Features Preview!

dlw@hpsmtc1.HP.COM (David Williams) (05/07/88)

Well Boys and Girls here are just some of the new things to expect from
Hypercard 1.2 

Stack Enhancements: 



*  Area Codes now includes area codes for Canada.     

*  Button Ideas has new buttons for importing and exporting text.     

*  Home has a new setting on the User Preferences card.     

*  Datebook has been redesigned for an international audience.     

*  Phone now supports international dialing conventions. 

Text Arrows

 HyperCardUs Text Arrows option (new in versions 1.1 and later) lets you use the arrow
keys when you edit text fields or the Message box. When you click any user level button
except Browsing on the User Preferences card, a check box labeled Text Arrows
appears. With Text Arrows checked, the Left Arrow and Right Arrow keys move the
insertion point to the left and right over text in a field or in the message box; the Up
Arrow and Down Arrow keys move up and down through lines in a field. To move to the
previous or next card, or to go back and forward through cards youUve seen, hold down
the Option key as you press the appropriate arrow key. (With Text Arrows unchecked,
you don't need to hold down the Option key.)  For details on the User Preference card,
see pages 22 and 50 of the HyperCard UserUs Guide. For more information on the actions
of arrow keys with Text Arrows unchecked, see pages 116 P120.



The Button Ideas stack has three new buttons for importing and exporting text.
Use the Import button to bring text into the current stack from any
ASCII text file. HyperCard asks if you want to import a file as Data or Text.
A series of further questions appear, depending on which answer you give.

 

IMPORTING DATA...
Click Data to import from a spreadsheet or database document, or
any text document separated into fields and records.  HyperCard asks whether
you want to use Tab and Return as delimiters:  The Tab character ASCII 9 is
the standard delimiter for fields; the Return character ASCII 13 is the 
standard delimiter for records. In nearly all cases, the appropriate answer 
is Yes. (If you answer Other,HyperCard asks what ASCII characters you want to
use.)  Next, HyperCard asks if you want Header information included. If you
say yes, HyperCard will list at the start of the imported text the number of 
cards created, the name of the file the text came from, the number of lines
in the file, and the total number of characters imported. Finally, HyperCard
asks for the name of the file you want to import: you won't see the typical
directory dialog box listing all your files and folders, so you'll need to
write down the file's name and pathname in advance. For each record, HyperCard
creates a new card with a scrolling background field into which it copies the
imported text. (It makes a new background on the first card that it creates so
that the rest of your stack remains unaffected.) HyperCard creates a new
background field for each fieldUs worth of text you import. These fields 
are piled atop one another as they're created; so if you import several fields
for a particular record, you'll need to peel the fields apart to see them.    

(See page 57 in the HyperCard User's Guide for information on moving fields.) 



IMPORTING TEXT... Click Text to import a word-processing document or any text
document that isn't separated into records. HyperCard asks if you want Header
information included. If you say yes, HyperCard will list at the top of the
imported text the number of cards created, the name of the file the text came
from, the number of lines in the file, and the total number of characters 
imported.  After it asks if you want Header information, HyperCard asks for 
the name of the file you want to import: you won't see the typical directory 
dialog box listing all your files and folders, so you'll need to write down 
the file's name and pathname in advance. HyperCard creates a new card with a 
scrolling background field, into which it copies the text. (It makes a new
background on the first card that it creates so that the rest of your stack 
remains unaffected.) 



Exporting Text Use the Export Text button to send text from the specified 
background field(s) of the current background to a document that you name. 
HyperCard asks you which fields in the current background you want to export 
text from. Then it asks for the name of the document you want to send the 
text to. If the document you name doesn't exist, HyperCard creates it; if the 
document already exists, HyperCard asks you to confirm that you want the text 
in that document replaced. (You can't append exported text to the end of 
the existing text.)  Export Text doesn't send record and field delimiters; to 
create a document that a database or spreadsheet application can use,
use the Export Data button.

 

Exporting Data Use the Export Data button to send text from the specified 
background field(s) of the current background to a document that you name. The
text is sent with record and field delimiters so that it can be more readily 
accepted by spreadsheets, databases, and other applications that separate text
into fields and records.  HyperCard asks you which fields in the current 
background you want to export text from. Then it asks for the name of the 
document you want to send the text to. If the document you name doesn't exist,
HyperCard creates it; if the document already exists, HyperCard asks you to 
confirm that you want the text in that document replaced. (You can't append 
exported text to the end of the existing text.)  Finally, HyperCard asks
whether you want to use Tab and Return as delimiters: The Tab character-
ASCII 9 is the standard delimiter for fields; the Return character.ASCII 13
is the standard delimiter for records. In nearly all cases, the appropriate 
answer is Yes. (If you answer Other, HyperCard asks what ASCII characters you 
want to use.) 

 

Write Protected Stacks HyperCard stacks can be write-protected. You can look 
at a write-protected stack and make copies of all or part of it, but you can't
change it. You can recognize a write-protected stack because you can't type 
into any fields (even if they're not locked) and you can't use certain menu 
items. (They're grayed out.)  You can use the Message box to make temporary 
changes to a card (for example, put pay * taxes into field 3), but as soon as 
you leave the card the changes will disappear. Stacks are write-protected in 
a number of ways:



*The stack is on a CD-ROM.  

*The stack is on a file server in a folder whose access privileges are set to 
Read Only.  

*The Locked box is checked in the stack's Get Info box in the Finder.  

*The stack is on a locked 3.5-inch disk.  

*Can't Modify Stack is checked in the stack's Protect Stack dialog box.   

*The cantModify property is set to TRUE. 



When the stack is on write-protected media (a locked disk, CD-ROM, a locked 
folder on a file server), HyperCard automatically puts a check into the Can't 
Modify Stack option; you can't uncheck it. To make changes to such a stack, 
you'll first have to unprotect it. In many cases, copying a stack to an 
unlocked disk makes the stack modifiable. (But if a user or scripter has 
checked Can't Modify Stack in the stackUs Protect Stack dialog box
or if the Locked box is checked in the stack's Get Info box in the Finder, 
you'll have to uncheck the proper boxes before you can make stack changes.) 



Auto Tab

When Auto Tab is checked in the Field Info dialog box of a non-scrolling field
, pressing Return with the insertion point in the last line of that field 
moves the insertion point to the next field on that card.  (Normal tabbing 
order is followed: if the field you're leaving is a card field, the insertion 
point moves to the next higher-numbered card field or to the lowest-numbered 
background field if no higher-numbered card field exists; if the field you're 
leaving is a background field, the insertion point moves to the next 
higher-numbered background field or to the lowest-numbered card field if no
higher-numbered background field exists.) This feature can be useful, for 
example, when you're creating a form: when the person filling out the form 
completes a field and the insertion point is in the last line, all she need 
do to move to the next field is press Return. (See page 60 in the user's guide
for a discussion of tabbing and field order.)



Line Spacing Shortcut Changes In earlier versions of HyperCard you could press
Command-Option-> and Command-Option-< to increase or decrease the space between
lines of text. In version 1.2, you must add the Shift key to the formula: with
the appropriate field selected, press Command-Option-Shift plus either > or
 < to increase  or decrease spacing. 

 

Stacks on file servers Only a single user has access to a stack on a file 
server when the stack is unlocked.  Any number of users have access to a stack
when the stack is locked (but no one can make changes to it). If any one of 
the following conditions are true, a stack is considered  locked: 

*The stack is on a CD-ROM. 

*The stack is on a file server in a folder whose access privileges are set to 
Read Only.

*The Locked box is checked in the stackUs Get Info box in the Finder. 

*The stack is on a locked 3.5-inch disk.
_______________________________________________________ Checking Can't
Modify Stack in the stackUs Protect Stack dialog box isn't enough to give 
multiple users access to the stack.
_______________________________________________________ 

Additions to HyperTalk These additions to the HyperCard scripting language 
are new for version 1.2 and will not work with older versions. For complete 
details on HyperTalk, see or any of the other books on HyperTalk available at 
your favorite bookseller.  



Peeking at objects and scripts-command + option and click

 

cantModify-The cantModify property lets you control whether a  stack can be 
changed in any way. This property checks or unchecks both the CanUt modify 
stack option and the Can't delete stack option in the Protect Stack dialog box.

  

showPict

 The showPict property makes the background or the card picture visible (set 
TRUE) or invisible (set   FALSE). When the showPict of an object is set FALSE 
and you attempt to use a Paint tool on that object, a dialog box appears 
asking if you want to make the picture visible: clicking OK sets showPict of 
this object to TRUE and the picture appears; clicking Cancel cancels the 
action. 

  

cantDelete-The cantDelete property controls whether a user can can delete the
specified card, backround, or stack.  

This property checks or unchecks the appropriate option on the info box of 
the object in question.



userModify-The userModify property controls whether a user can type into 
fields or use Paint tools on a stack that has been write-protected.  

A card is write-protected under the following circumstances: 

*The stack is on a CD-ROM.  

*The stack is on a file server in a folder whose   access privileges are set 
to Read Only. 

*The Locked box is checked in the stack's Get Info box    in the Finder.  

*The stack is on a locked 3.5-inch disk.  

*Can't Modify Stack is checked in the stack's Protect   Stack dialog box.  
This property is set to FALSE when the user goes to another stack or quits 
HyperCard. 

userModify has no effect on an unlocked stack.

 

New Abbreviations: Here are four new abbreviations you can use in scripts:

pict     for         Picture

fld       for         Field                                           

cd        for         Card                                           

bg        for         Background 



Show Picture|Hide Picture 

show picture of <card expr> | <bkgnd expr> hide  picture of <card expr> |
 <bkgnd expr>
show <card | background> picture hide <card | background> picture 



Show Picture shows the specified picture on the specified card or background; 
Hide Picture hides the specified picture on the specified card or background.  

When an object's picture is hidden and you attempt to use a Paint tool on 
that object, a dialog box appears asking if you want to make the picture 
visible: clicking OK shows the picture; clicking Cancel cancels the action. 

  

Find Whole (or Shift-Command-F)

 Syntax: find whole "<what to find>" 

The Find Whole option (or Shift-Command-F) lets you search for a specific word
or phrase (including spaces) anywhere in a stack. For HyperCard to find a 
match, all the characters must be in the same field on a card,  and they must 
be in the same consecutive order as they appear in Find Whole's argument. The 
argument is enclosed within quotation marks: 

Find Whole "Apple Computer"  

The above example finds cards that have the phrase "Apple Computer" on them; it
won't find "Apple Computers" or "This apple is a computer". (The Find command
without Whole would find matches for all three cases.) 

Find Whole won't stop on cards that have only partial matches: for example,  

Find Whole "Ed"  

won't match 'Edward'. 

Find Whole pays no attention to case or to diacritical marks when it looks 
for matches:apple Cmpter, apple computer, and Apple Computer are all seen as 
the same. 

When you use the Find command without Whole, HyperCard looks for cards that 
contain everything between the quotation marks, even if the words appear in a 
different order or in different fields. 

As with Find, you can use Find Whole to search in a specific background field.
For details on this and other Find options and restrictions, see pages 120-122
in the user'sguide.

 

Find String - Syntax: find string "<what to find>" 



The Find String option lets you search for a contiguous group of characters 
anywhere in a stack. Word boundaries are ignored. For HyperCard to find a 
match, all the characters must be in the same consecutive order as they 
appear in Find String's argument. The argument is enclosed within quotation
marks: 

find string "ple computer" 

The above example finds the string "ple computer" in  "Apple computers" but 
not in "company that makes computers, not apples". (The Find command without 
String would find a match in the second case, but not the first.)

 

Lock Screen | Unlock Screen Syntax: lock screen unlock screen [with 
<visual effect>] 

Lock Screen has the same effect as setting the property lockScreen to TRUE: 
it prevents HyperCard from updating the screen. To unlock the screen, use 
UNLOCK SCREEN. 

Optionally, you can show and hide card and background pictures and objects 
using a single visual effect:   

1. Lock the screen.   

2. Enter hide and show commands that you want to take effect when the screen is
unlocked.   

3. Unlock the screen using the form  unlock screen with <visual effect> 
where <visual effect> is any single visual effect. 



Be sure to pair each Lock with a corresponding Unlock. If, for example, you 
lock a screen three times and unlock it only twice, the screen will still be 
locked and any visual effect you've set won't work.    For visual effects to work, when you're using
more than one monitor the card window must appear on the same monitor as does 
the menubar (although the menubar can be invisible); if you're using a 
Macintosh II, set Characteristics to Black & White/Grays and Grays to 2 in 
the Monitors section of the Control Panel. 



cantDelete This property checks or unchecks the appropriate option on the 
info box of the object in question. 



The Select command and the Found & Selected functions are too new to be 
documented here. 

************************************************************

Previews of coming attractions From Your Friendly Neighborhood Spiderman ----