[comp.sys.mac.hypercard] Need advice on speeding up card find in mega-sized stack

gft_robert@gsbacd.uchicago.edu (opcode ranger) (05/16/91)

I have a big problem (literally).  I've set up a stack for my clients which
is about 12 MB in size (yes, they've got a LOT of data: about 12k cards each
containing 13 pieces of info, in addition to fields, buttons, etc).

Problem is, it's slow.  Let's say that the stack is keeping track of years,
with each year  having it's own card (this isn't the situation, but just
an example).  OK, let's say a person wants to go to 1991.  My current system
uses this method: each card is named something like "Year 1932", or something,
i.e. "Year" && the year itself.  Thus if a person wants to go to 1991, I do
something like this:

on goToYear theYear
	put "Year" && theYear into theYear
	go to card theYear
end goToYear

This is VERY slow, taking as much as a minute.

What's the best way to do this.  Would go to cd id be quicker (requiring me
to keep a list of cd id's somewhere else)?  Would keeping the cards sorted
and doing a binary search be the best way?

In general, is HC a good medium for handling so much data (the stack will
be used for large data updates, requiring the (automatic) updating
of perhaps a couple of hundred cards per session)?  


Any info much appreciated!

Robert

-- 
============================================================================
= gft_robert@gsbacd.uchicago.edu * generic disclaimer: * "Good tea.        =
=            		         * all my opinions are *  Nice house."     =
=                                * mine                *  -Worf            =
============================================================================

martin@csc.ti.com (Steven Martin) (05/16/91)

In article <1991May15.114727.1@gsbacd.uchicago.edu> gft_robert@gsbacd.uchicago.edu (opcode ranger) writes:
>I have a big problem (literally).  I've set up a stack for my clients which
>is about 12 MB in size (yes, they've got a LOT of data: about 12k cards each
>containing 13 pieces of info, in addition to fields, buttons, etc).
>

I have a 10Mb, 25000 card database that I keep in a Hypercard stack.
I have found the binary search method to be the best.  I have a "goto"
script that searches on the sorted field.

-- 
Steve Martin            USENET: {ctvax,im4u,texsun,rice}!ti-csl!martin
The opinions in this    ARPANET: SMARTIN@CSC.TI.COM  COMPUSERVE: 72727,1471
article are my own.     PHONE: (214)-995-0662, 404-1061

mtrst9@unix.cis.pitt.edu (Mary T Reina) (05/21/91)

Hello!    

I am still a new comer to HC.  I have what I believe to be a very simple
problem to be solved...except I can't solve it - yet!


I am working on an instructional stack where a user selects the right answers
to a given problems (Questions A-N).  They are prompted with immediate feed 
back after they have made their selection with a pop-on field.  

Now I need these fields hidden for the next time a new user sits down to use
the stack.

What I have done...and I thought it worked great at first...was to script
each card with:  



on closeStack
	repeat with i=1 to 3
	hide card field i
	set hilite of card button i to false -- check boxes need to be unchecked	end repeat
end closeStack

Low and behold, this only works on the card from which I close.  I need all the
fields which are visible to be invisible for Questions/(Cards) A-N.
I have placed this same script in the background script and the stack script  
with no luck.

Any help would be greatly appreciated and I am sorry for such a simple 
question. 

Thank you,

Mary T. Reina
mtrst9@unix.cis.pitt.edu
or
mtrst9@vms.cis.pitt.edu 
 




    







 

A