Apple Newton Utilities Podręcznik Użytkownika Strona 488

  • Pobierz
  • Dodaj do moich podręczników
  • Drukuj
  • Strona
    / 942
  • Spis treści
  • BOOKMARKI
  • Oceniono. / 5. Na podstawie oceny klientów
Przeglądanie stron 487
CHAPTER 11
Data Storage and Retrieval
11-56 Using Newton Data Storage Objects
You can use the Move method to move the cursor multiple positions. For example,
instead of coding incremental cursor movement as in the following example,
for i := 1 to 5 do myCursor:Next();
you can obtain faster results by using the Move method. The following code
fragment depicts a typical call to this method. After positioning the cursor, the
Move method returns the current entry.
// skip next four entries and return the fifth one or nil
local theEntry := myCursor:Move(5);
To move the cursor in large increments, it’s faster to use the GoTo and GoToKey
methods to position the cursor directly. You can use the
GoToKey method to go
directly to the rst indexed slot that has a particular value and return the entry
containing that slot, as shown in the following example:
// index spec for soup that generated myCursor
indxSpec: {structure: 'slot, path: 'name, type: 'string};
// go to the first entry that has
// the value "Nige" in the name slot
local theEntry := myCursor:GotoKey("Nige");
If the argument to the GoToKey method is not of the type specied by the soup’s
index spec, this method throws an exception. For example, the index spec in the
previous example species that the
name slot holds string data. If you pass a
symbol to the
GoToKey method, it signals an error because this soup’s index holds
string data:
// throws exception - arg doesn’t match index data type
myCursor:GotoKey('name);
Counting the Number of Entries in Cursor Data 11
Because the user can add or delete entries at any time, it’s difcult to determine
with absolute certainty the number of entries referenced by a cursor. With that in
mind, you can use the
CountEntries cursor method to discover the number of
entries present in the set referenced by the cursor at the time the
CountEntries
method executes.
To discover the number of entries in the entire soup, you can execute a very broad
query that includes all soup entries in the set referenced by the cursor and then
send a
CountEntries message to that cursor. For example:
local allEntriesCursor := mySoup:Query(nil);
local numEntries := allEntriesCursor:CountEntries();
Przeglądanie stron 487
1 2 ... 483 484 485 486 487 488 489 490 491 492 493 ... 941 942

Komentarze do niniejszej Instrukcji

Brak uwag