[comp.sys.mac.hypercard] Delphi Hypercard Digest Vol 1 #1

chuq@plaid.Sun.COM (Chuq Von Rospach) (12/19/87)

                   Delphi Hypercard Digest Vol 1 #1
                                   
                              Subjects:
                                   
         RE: Urgent XCMD/Hypercard Questions (Re: Msg 23745)
               RE: deprotecting stacks (Re: Msg 23746)
                 re: Disk Directories (Re: Msg 23745)
                 re: "AffiniFile" DA (Re: Msg 23746)
                        HyperText in HyperCard

-----------------------------------
23765 21-NOV 19:55 Network Digests
     RE: Urgent XCMD/Hypercard Questions (Re: Msg 23745)
     From: PEABO        To: CHUQ (NR)

>From: rmc@beta.UUCP (R. Martin Chavez)
>Subject: Urgent XCMD/Hypercard Questions
>Date: 6 Nov 87 10:58:46 GMT
>I'm working against some deadlines here (who isn't), so I'll
>be very grateful for timely responses.

>(1) I have a rather large MacApp program that I'd like to use
>as an XFCN with Hypercard.  Even with some consolidation at
>link time, I have around ten segments.  I couldn't possibly
>cram EVERYTHING (especially all the MacApp stuff) into one segment.

I think MacApp also depends on the jump table to implement parts of the
object and method mechanism.  (This may not be true if all object
references can be resolved at compile time, but that probably is an
unusual situation.)  Hence you would not be able to make an XFCN with
MacApp.  Your solution of using MultiFinder sounds like a good one.


-----------------------------------
23766 21-NOV 20:15 Network Digests
     RE: deprotecting stacks (Re: Msg 23746)
     From: PEABO        To: CHUQ (NR)

>From: snyder@batcomputer.tn.cornell.edu (Scott Snyder)
>Subject: How do I examine password protected stacks?
>Date: 13 Nov 87 16:06:33 GMT

>A couple of weeks ago someone on the net mentioned that there was a PD program
>that let someone get around the password protection on a stack. He said that it
>was being sent to comp.binaries.mac but I haven't seen it. Could the person
>that posted that message or anyone else who has a copy of that program please
>mail it to me?

 -- and --

>From: neruda@tut.cis.ohio-state.edu (Steve Neruda)
>Subject: deprotecting stacks
>Date: 12 Nov 87 14:55:51 GMT

>These are problems that are for the most part insignificant and yet,
>  that sooner or later I will run across someone who has protected their
>  only copy of a stack and are unable to remember the passwd.  The fact
>  that deprotect also damages the stack from being accessable with the
>  correct passwd is bothersome

There are two kinds of password protection on HyperCard stacks.  The
level protection is easily removed by zeroing the hashcode of the
password.  But Protected Access stacks are not easily unprotected
because HyperCard encrypts a half-dozen critical values in the stack
header.  Thus, the problem is not that deprotect damages the stack, it
is that deprotect does not know how to decrypt the header values.

I am sure that someone sufficiently determined could break the
encryption algorithm or figure out a way to substitute correct values in
the header by examination of the rest of the stack (which is not
protected in any way from external programs).  My program Stackware
Detective 0.8 shows you the information in the header and allows you to
break into level protected stacks with the aid of a disk editor, but it
does nothing with Protected Access stacks.  Stackware Detective or any
disk editor can be used to retrieve information from stacks which cannot
be opened by HyperCard, so if you meet someone with a password disaster,
it is only a matter of how much effort you are willing to expend to
recover the data.  Myself, I don't use password protection for any of my
stacks.

peter                          "In any context, half of all references
PEABO @ DELPHI                  are local and half are global."

-----------------------------------
23806 22-NOV 23:43 Network Digests
     re: Disk Directories (Re: Msg 23745)
     From: DDUNHAM      To: CHUQ (NR)

 > From: ssegan@dasys1.UUCP (Sascha Segan)
 > Subject: Disk Directories
 Not exactly what you want, but my program Dir-Acta-ry outputs name,
size, and file comments into an Acta outline -- each file a daughter of
the appropriate folder topic.  It's free, and so is the Acta Reader
program.  (You can also read Acta documents with the inexpensive Acta
DA, and the document format is available on Delphi, CompuServe, GEnie,
or from Symmetry Corp.)

 David Dunham     "Whenever you see a sign 'No Exit,' it means
 Maitreya Design   there is an exit."

-----------------------------------
23805 22-NOV 23:42 Network Digests
     re: "AffiniFile" DA (Re: Msg 23746)
     From: DDUNHAM      To: CHUQ (NR)

re: "AffiniFile" DA
 The story on this is pretty funny.  Apparently the Macintosh Today
reporter called up Affinity and asked if AffiniFile worked with
HyperCard.  Of course, they said "yes" (it's a well-written DA)...and MT
somehow got the idea that it read HyperCard files.  In actual fact,
AffiniFile has nothing to do with HyperCard (it's sort of an organizer).

 David Dunham     "The more laws there are, the more people are
 Maitreya Design   inclined to break them"

-----------------------------------
24247 14-DEC 02:21 Programming
     HyperText in HyperCard
     From: BMUG         To: ALL
 
 
HyperHackers -
 
I can't hold back any longer!  Here it is!  The long-awaited "Improved
HyperText Technique" I've been promising.  I think I've generalized it enough
to be useful all over.  Rather than upload a stack, I'll just post the script
itself for people to type or cut/paste in...
 
[in script of home stack, or your stack]:
 
-- The BMUG HyperText trick by Raines Cohen, 12/11/87.
-- please retain this credit in your script if you use this.
 
on mouseUp
  if word 2 of the target is "field" and msg is not empty and word 1 of msg is
   not "find" and the commandKey is down then
    put "find"&&quote&msg&quote
    do "send lookUp to"&&the target
    type return
  end if
end mouseUp
 
This is different from the original XREF trick, in that fields DO NOT have to
be locked for it to work, so you can use it on ANY field in ANY stack, unless
the mouseUp message is trapped.
 
I send the lookUp message in order to allow overriding and special-case
behavior, like:
 
[in script of bkgnd field "Body Text"]:
 
on lookUp
  put " in bkgnd field"&&quote&"Keywords"&quote after msg
end lookUp
 
This will make lookups based on the Body Text look in "KeyWords"  Another
example would be to put "Go to card" into word 1 of msg or something like that
to allow cross-referencing.
 
How it works: When you command-mouseDown on any field, locked or unlocked,
HyperCard "picks up" the text and puts it into the msg box. My script just
puts 'Find ""' around the text, and sends the lookup message to allow a
particular field, or card, or background, or stack modify or override the
searching behavior.  I "type return" to get HC to execute the contents of the
msg box.  The user is left with any occurence of the phrase "selected" with
the "find" rectangle, and the command still in the message box to allow the
user to press return to repeat the search.
 
Credits: Please use this trick in your stacks, royalty-free!  If you would,
I'd appreciate it if you'd credit "The BMUG HyperText trick" in your script
and about box if your use of it is significant.  More importantly, let me know
about any interesting variations or improvements you discover!  You can reach
me c/o: BMUG, 1442A Walnut #62, Berkeley, CA 94709.  AppleLink: UG0001.
Delphi, GEnie, BIX, MCI Mail,Well: BMUG. CIS: 70007,2271.  FIDOnet(EchoMac):
161/444.  Voice: [415] 549-BMUG.
 
This trick was inspired by an offhand remark by Dan Winkler at a HyperCard
seminar.  I aspire to attain his goal of writing poetry in HyperTalk.
 
-- Raines Cohen / Leader, BMUG HyperCard Scripting SIG

***********************
End of HyperCard Digest