Path: utzoo!mnetor!uunet!lll-winken!lll-lcc!ames!pacbell!att-ih!ihnp4!islenet!ric From: ric@islenet.UUCP (Frederick Lee) Newsgroups: comp.sys.mac.hypercard Subject: HyperCard Linking Message-ID: <3912@islenet.UUCP> Date: 9 Mar 88 21:00:32 GMT Organization: Islenet Inc., Honolulu Lines: 130 I received some helpful hints concerning linking during the past couple of weeks and am indebted to share what I've learned: ******************************************************************* From: Keith Rollin Subject: Re: Prob. with RETURN trapping in text field. Ric, It sounds like you are on the right track with your "move-to-next- field-on- RETURN-character" scripts; I've never heard anyone get so close before. There is no System message when a return character is pressed. There has been a great demand for it, so maybe in a future version. I'm not sure I quite understand your current problem - something about getting HyperCard's attention when you switch fields when the return key is pressed. You say that you click at the location of the next field. If this isn't working, try the 'tabkey' command. This is just like pressing the TAB key from the key- board. Then you can do your current field/next field management in an "OpenField" handler. ******************************************************************** I found that Steve Drazga of ART Incorporated, provided the the best solution I received to date (I put the following script in the index-card background): -- --This will capture the return key when it is pressed in the active field. --Each line of code is explained directly beneath it. --Created 1/7/88 by Steve Drazga, ART Incorporated. -- --This script segment may be put into the card, background, or stack scripts. --To make it work, the fields should pass the global variables --'currentfield', and 'nextfield' ------------------------------------------------------------------------------- - on idle -- global nextfield, currentfield if currentfield is empty then exit idle if last char of field currentfield is return then delete last char of field currentfield if nextfield is "***" then push this card get currentfield visual effect scroll left get field "Detail Link" if it is not empty then go card id it --go to detail card. get rect of field "memo" delete item 4 of it delete item 3 of it click at it -- put cursor at first charactor of field. pass idle exit idle end if put rect of field nextfield into it delete item 4 of it -- remove last two coordinates of next field. delete item 3 of it click at it -- select the next field. end if pass idle -- always pass the idle up through the hierarchy end idle The following a script of one of the index card's fields: on openField global currentfield, nextfield put 1 into currentfield put 2 into nextfield end openField > P.S. I'm not clear on your other question -- about creating two cards a linking then each other. What problems are you having? I eventually solved my problem about creating & trashing pairs of cards. I got the technical idea correct, but needed to figure out how the hierarchy of cards actually play. Essentially I wanted to create an a primary index card linked to a particular secondary memo card with a scroll field & and a title field. Basically you have to have the background card contain the engine of the logic; having each field sending its name back to it via global variables. I found out the hard way that you have to declare the variables global prior to each use. Not merely at a higher-level in the hyperarchy. Once you got the basic engine running, then you can add to the logic by having the second card positioned and ready for input after the last field of the first card is complete and the user presses the : on OpenField global currentfield, theArtist, theTitle get currentfield if it is "ad" then put theArtist into field "artist" put theTitle into field "title" put empty into currentField get rect of field "memo" delete item 4 of it delete item 3 of it click at it end if end OpenField Now All I need to figure out is how to trap the TAB key so I can do indenting in a field without popping into another field! Any Suggestions? I wish to express my sincere gratitude to everyone who shared their knowledge with me, by sharing my knowledge with my fellow hypercarders. Cheers & Aloha, Ric Lee, Honolulu, O'ahu.