home *** CD-ROM | disk | FTP | other *** search
/ Carousel / CAROUSEL.cdr / mactosh / hc / openands.sit / OPENANDSAVE.DOC < prev    next >
Internet Message Format  |  1988-10-30  |  2KB

  1. From: Andrew Gilmartin <ANDREW%BROWNVM.BITNET@forsythe.stanford.edu>
  2. Subject:      Open and Save dialogs for HyperCard
  3.  
  4. The stack contains two simple XFunctions to facilitate interaction
  5. with disk files.
  6.  
  7. The first, FileName, is a simple rewrite of the Steve Maller's XFunction
  8. of the same name.  FileName allows the HyperTalk script writer to query
  9. the user for the name of an existing file.
  10.  
  11. The second, NewFileName, allows the script writer to query the user for
  12. the name of a new file.
  13.  
  14. These two XFunctions, while using the Macintosh standard file package,
  15. do  depart from the standard human interface guidelines as they center
  16. the respective dialog box over the HyperCard window rather than the
  17. Macintosh Screen.
  18.  
  19. I have chosen to do this as I feel that it clearly indicates that the
  20. dialog is a result of an interaction with the card rather than with
  21. HyperCard itself, or some other application if you are running in the
  22. Multifinder environment. (I wish I could do this with HyperTalk's ask
  23. and answer commands.)
  24.  
  25. A typical script for FileName() would be
  26.  
  27.     -- FileName( <file type> )
  28.  
  29.     on mouseUp
  30.       put FileName( "TEXT" ) into sourcefile
  31.       if sourcefile is not empty then
  32.         open file sourcefile
  33.         -- read text from source file
  34.         close file sourcefile
  35.       end if
  36.     end mouseUp
  37.  
  38. The one optional parameter, <file type>, allows the script writer to
  39. display only files of a particular kind, such as text files or
  40. applications.  Typical file types are "STAK" for HyperCard stacks,
  41. "TEXT" for simple text files, and "APPL" for applications.
  42.  
  43. Unfortunately, sources for the names of other file types is limited
  44. without access to utilities such as ResEdit or MacSnoop.
  45.  
  46. A typical script for NewFileName would be
  47.  
  48.     -- NewFileName( <prompt>, <initial FileName> )
  49.  
  50.     on mouseUp
  51.       put NewFileName("Save document as?","") into targetfile
  52.       if targetfile is not empty then
  53.         -- write text to target file
  54.       end if
  55.     end mouseUp
  56.  
  57. The first required parameter, <prompt>, should be a simple descriptive
  58. statement about the request, such as, "Save document as?," or "Save test
  59. result to:."
  60.  
  61. The second required parameter is <initial FileName>.  The first time
  62. NewFileName is called this should be  empty ("") as the user is saving
  63. an untitled document.  Thereafter, it should contain the name of the
  64. document as previously given by the user.
  65.  
  66. I hope these will be of use.
  67.  
  68. Andrew Gilmartin
  69. Brown University
  70.