Path: news.uiowa.edu!chi-news.cic.net!newsfeeder.sdsu.edu!newspump.sol.net!spool.mu.edu!howland.reston.ans.net!swrinde!cssun.mathcs.emory.edu!gatech!news.mathworks.com!uunet!in1.uu.net!van-bc!unixg.ubc.ca!freenet.vancouver.bc.ca!gareth
From: gareth@vcn.bc.ca (Gareth Jones)
Newsgroups: comp.sys.apple2
Subject: HCGS Article 2
Date: 2 Jul 1996 17:24:03 GMT
Organization: Vancouver CommunityNet
Lines: 160
Message-ID: <4rblvj$jo6@milo.vcn.bc.ca>
NNTP-Posting-Host: opus.vcn.bc.ca
X-Newsreader: TIN [version 1.2 PL2]

Here a another article on using HyperCard GS. If anyone puts it into a 
newsletter, please post a copy to me. (I'm sentimental that way).

Gareth Jones
#1, 3872 Sunset Street
Burnaby, British Columbia
CANADA
V5G 1T3

=======================
Printing Documents from HyperCard IIgs
     
     16 October 1995
     
     Gareth Jones
     
     REMOTE PRINTING FROM HYPERCARD
     
     HyperCard IIgs has two commands for communicating with other 
applications: "open [document] with [application]" and "print [document] 
with [application]." The only catch is that the application must have 
been written to receive these messages. In many cases, such commands do 
no more than launch the application. With a properly written application, 
however, all you need is a short script to add remote-control display or 
printing of files to your list of HyperCard tricks.
     
     CREATING THE BUTTON
     
     To create a simple, workable, document-printing button in HyperCard 
IIgs, follow these steps:
     1. Create a new button by choosing "New Button" from the "Objects" 
menu. 
     2. Drag it into place. Anywhere will do.
     3. Double-click it.
     4. Click on the "Script" button
     5. Type in this script:
     
     on mouseUp
       answer file "Select a text file to print:" of type 80
       if it is "Cancel" then
     exit mouseUp
       else
         put it into wpFileName
         print wpFileName with ":HardDriveVolume:FolderName:AppleWorks.GS"
       end if
     end mouseUp
     
     LOCATING THE APPLICATION
     
     You will have to replace the pathname in line 4 of the script with 
the pathname of the program that you intend to print the document with. 
You've got three methods for telling HyperCard IIgs the location of the 
application you want to print with.
     
     1. You can spell out the entire pathname in the script. E.g.
     print ":MyDisk1:TextFileFolder:MyTextFile" with 
":MyDisk2:My.Word.v1.4:My.Word"
     (Brutally simple, but it works).
     
     2. You can specify the Volumes and folders in the "Search paths" 
page of the HyperCard IIgs Home stack. (This isn't the place to discuss 
this in detail).
     
     3. You can just put in the filename of the Application, and let 
HyperCard IIgs put up a Standard File dialogue box that asks you to 
locate it. (This could get tiresome).
      
     On the whole, I prefer the second method.
     
     SPECIFYING THE FILETYPE
     
     You may also have to modify the number at the end of line 2 to match 
the filetype of the document(s) that you wish to print. There are a 
number of points to make about the filetypes specified in the script. 
First of all, filetypes are usually given as hexadecimal (base 16) 
numbers, as is indicated by a dollar sign in front of the number. 
HyperCard IIgs, however, requires that they be listed as decimal numbers 
(base 10). 
     The Calculator desk accessory that comes with System 6 makes it easy 
to convert between the two types of numbers. Simply select "Calculator" 
from the Apple menu and click on its zoom box. Click on the "hex" button 
that shows up on the expanded calculator, then enter the hexadecimal 
number of the filetype you are interested in. In my case AppleWorks GS 
Word Processing files have a filetype of $50, so I enter "50." The next 
step is to press the "Dec" button, and the "50" in the calculator's 
display suddenly turns into its decimal equivalent, "80." This is the 
number that should be used in line 2 of the HyperCard script.
     Line 2 of the script produces a file selection dialogue box that 
ideally would show just files of the correct kind. Unfortunately, 
different file formats often have the same filetype. Where AppleWorks GS 
Word Processing files are Type $50, Aux Type $8010, Teach files are Type 
$50, Aux Type $5445, and certain other word processing documents differ 
only in their Aux Types. The syntax of the "Answer file" command does not 
allow you to identify files by Aux Type, so this is a limitation that we 
have to live with (until someone writes a more capable version of "Answer 
file" as an XCMD). Fortunately, selecting a file of the wrong format does 
no harm P you are simply informed that it will not print.
     Here is a list of filetypes and aux filetypes that may be useful in 
your experiments. All filetypes are given in decimal form.
     
     -- type 4, text
     -- type 26, AppleWorks Word Processing file
     -- type 79, AppleWorks GS Database
     -- type 80, AppleWorks GS Word Processing file
     -- type 81, AppleWorks GS Spreadsheet
     -- type 83, AppleWorks GS Drawing
     -- type 84, AppleWorks GS Page Layout.
     -- type 85, HyperMedia document (e.g. HyperStudio or HyperCard stack)
     -- type 192, GS painting (filetype $C0)
     
     USING SPECIFIC APPLICATIONS
     
     As mentioned, not all applications were written to support remote 
opening and printing of files. As a general guide, if you can print a 
document from the Finder by selecting a document icon then selecting 
"Print..." from the File menu, you can Open or Print it with HyperCard 
IIgs commands as well. This section gives you a head start on the 
experimentation by listing my successes, and a few failures.
     AppleWorks GS will open or print documents that are in its own file 
formats. AppleWorks GS draws a distinction between its own file formats, 
which are accessed through the "Open..." command, and AppleWorks, text, 
and Apple Preferred Format paint documents which are accessed through the 
"Import..." command. It will open or print the former formats under 
command from HCGS, but not the latter.
     There are many disappointments in the search for applications that 
will open and print Teach documents. You can't issue open or print 
commands to the handy desk accessory word processor called ShadowWrite 
(or Hermes) because, as HCGS will inform you, it is a desk accessory, not 
an application. WordWorks Pro (from SoftDisk GS) will not even open a 
file on command. Teach will open the documents on command, but will not 
print them. However, Gary Little's program "My Word!" opens and prints 
Teach, AppleWorks, AppleWorks GS, and text documents. If you have and 
like another TextEdit-based word processor,  experiment to see what it 
will do. 
     Printing graphics could be a problem, as neither Platinum Paint nor 
DreamGrafix will Open or Print documents from HyperCard commands. On the 
other hand, SuperConvert, from Seven Hills Software, will Open or Print 
many kinds of graphic on command.
     Here's a hot tip! Have you ever wished that HyperStudio had 
HyperTalk, or HyperCard had some of the unique features of HyperStudio? 
It is possible to use those programs together in a single project since 
HyperStudio will obey HyperCard's command to open a stack, and then 
returns you to HyperCard when it quits.
     
     SUMMARY
     
     The ability to display a file or print it under the control of a 
HyperCard script has some intriguing possibilities. For example, you 
could use it to display 320-mode or 3200-colour pictures that HyperCard 
cannot, itself, display. Another possibility is to save a text file to 
disk and then print it with My Word!, which has better ability to control 
the font and margins of the printout. In addition, the potential of 
linking HyperCard and HyperStudio stacks with the "open" command is 
exciting and unexplored. These commands certainly should be in the back 
of your mind as you develop your HyperCard projects.
     
     
     
     
      
