home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 October / usenetsourcesnewsgroupsinfomagicoctober1994disk1.iso / altsrc / articles / 11429 < prev    next >
Text File  |  1994-11-01  |  64KB  |  957 lines

  1. Newsgroups: alt.sources
  2. Path: wupost!psuvax1!news.ecn.bgu.edu!willis.cis.uab.edu!ddsw1!panix!news.mathworks.com!hookup!europa.eng.gtefsd.com!howland.reston.ans.net!cs.utexas.edu!uunet!zib-berlin.de!math.fu-berlin.de!fub!bitrot!thomas
  3. From: thomas@bitrot.in-berlin.de (Thomas Driemeyer)
  4. Subject: Re: grok - X/Motif database manager and UI builder, part 11/12
  5. Message-ID: <1994Oct31.213716.11358@bitrot.in-berlin.de>
  6. Organization: /usr/lib/news/organi[sz]ation
  7. References: <1994Oct31.212946.10228@bitrot.in-berlin.de>
  8. Date: Mon, 31 Oct 1994 21:37:16 GMT
  9. Lines: 946
  10.  
  11. Submitted-by: thomas@bitrot
  12. Archive-name: grok/part11
  13.  
  14. #!/bin/sh
  15. # this is grok.shar.11 (part 11 of grok)
  16. # do not concatenate these parts, unpack them in order with /bin/sh
  17. # file Manual.ps continued
  18. #
  19. if test ! -r _shar_seq_.tmp; then
  20.     echo 'Please unpack part 1 first!'
  21.     exit 1
  22. fi
  23. (read Scheck
  24.  if test "$Scheck" != 11; then
  25.     echo Please unpack part "$Scheck" next!
  26.     exit 1
  27.  else
  28.     exit 0
  29.  fi
  30. ) < _shar_seq_.tmp || exit 1
  31. if test ! -f _shar_wnt_.tmp; then
  32.     echo 'x - still skipping Manual.ps'
  33. else
  34. echo 'x - continuing file Manual.ps'
  35. sed 's/^X//' << 'SHAR_EOF' >> 'Manual.ps' &&
  36. (and)g(describ)q(es)i(ho)o(w)e(to)g(displa)o(y)f(it)h(in)f(a)h(card.)19
  37. b(The)c(standard)f(user)i(in)o(terface)e(that)g(comes)0 272
  38. y(up)h(when)h(grok)f(is)h(started)g(deals)f(with)h(database)f(presen)o
  39. (tation)h(and)g(mo)q(di\014cation;)d(to)i(edit)h(the)g(presen)o(tation,)g(or)
  40. f(to)0 322 y(create)g(a)f(new)g(database,)g(start)g(the)h(form)d(editor)i
  41. (from)e(the)j(File)e(pulldo)o(wn)g(in)g(the)i(main)d(windo)o(w.)0
  42. 407 y(The)19 b(form)e(editor)i(is)f(a)g(separate)i(windo)o(w)e(that)g(is)h
  43. (rather)g(more)f(complicated)f(than)i(the)g(standard)g(database)g(user)0
  44. 457 y(in)o(terface.)27 b(It)17 b(is)g(basically)e(a)i(simple)e(UI)i(builder)g
  45. (that)f(allo)o(ws)g(the)h(user)h(to)f(create)h(and)e(p)q(osition)h(UI)f
  46. (elemen)o(ts)h(in)f(a)0 507 y(card.)0 668 y Fi(General)k(Setup)0
  47. 781 y Fj(The)14 b(\014rst)h(step)g(when)g(creating)f(a)g(new)g(database)g(is)
  48. g(c)o(ho)q(osing)g(a)f(form)f(name.)18 b(This)13 b(is)h(the)h(name)e(that)h
  49. (will)e(app)q(ear)i(in)0 830 y(the)i(Database)f(pulldo)o(wn)f(in)g(the)i
  50. (main)d(windo)o(w)h(\(actually)m(,)g(the)i(pulldo)o(wn)e(should)h(b)q(e)g
  51. (called)g(F)m(orm,)e(but)j(I)f(fear)g(that)0 880 y(w)o(ould)f(confuse)i
  52. (casual)g(users\).)23 b(Ev)o(ery)16 b(form)e(references)k(a)d(database)g
  53. (whose)h(con)o(ten)o(ts)g(it)f(presen)o(ts;)j(this)d(name)f(m)o(ust)0
  54. 930 y(also)f(b)q(e)i(c)o(hosen.)k(T)o(ypically)m(,)11 b(b)q(oth)j(names)f
  55. (are)i(the)f(same.)0 1015 y(Both)i(the)f(form)f(name)g(and)h(database)h
  56. (names)e(are)i(also)f(the)h(\014le)f(names)f(the)i(form)e(and)h(the)h
  57. (database)f(will)f(b)q(e)i(stored)0 1065 y(in.)22 b(The)16
  58. b(form)d(name)h(gets)i(the)g(extension)g(\\.gf)s(",)e(and)h(non-pro)q
  59. (cedural)h(databases)g(get)f(the)h(extension)g(\\.db")f(tac)o(k)o(ed)0
  60. 1115 y(on)g(if)g(the)i(names)d(are)i(not)g(fully)e(quali\014ed)h(\(i.e.,)g
  61. (do)g(not)h(b)q(egin)g(with)f(\\/")g(or)g(\\)p Fh(\030)p Fj("\).)24
  62. b(If)15 b(the)h(database)g(is)g(pro)q(cedural,)0 1165 y(the)f(database)f
  63. (\014le)g(is)g(a)g(script,)g(and)g(has)g(no)g(.db)f(or)h(an)o(y)g(other)h
  64. (extension.)k(This)14 b(script)g(is)g(executed)i(to)e(read)h(or)f(write)0
  65. 1214 y(data.)0 1300 y(When)e(a)g(database)h(or)f(form)f(is)h(read,)g(the)h
  66. (path)f(it)g(w)o(as)g(read)h(from)e(is)h(stored;)h(when)g(the)g(database)f
  67. (or)g(form)f(is)h(c)o(hanged,)0 1350 y(it)i(is)h(written)g(bac)o(k)g(to)g
  68. (that)g(path.)21 b(When)15 b(a)f(new)h(database)h(is)e(created,)i(and)f(its)g
  69. (name)e(do)q(es)j(not)f(b)q(egin)f(with)h(\\/")f(or)0 1399
  70. y(\\)p Fh(\030)p Fj(")g(as)h(de\014ned)h(in)e(the)h(second)h(line)e(of)g(the)
  71. h(form)e(editor,)h(it)h(is)f(stored)i(in)e(the)h(same)f(directory)h(as)g(its)
  72. f(form)f(\014le.)21 b(The)0 1449 y(default)14 b(is)f(alw)o(a)o(ys)g
  73. Fh(\030)p Fj(/.grok.)k(The)e(Help->Database)e(p)q(opup)h(sho)o(ws)g(whic)o(h)
  74. g(paths)g(are)h(actually)e(used.)0 1534 y(The)j(database)g(is)f(a)g(t)o(w)o
  75. (o-dimensional)d(arra)o(y)k(of)e(strings.)23 b(The)16 b(ro)o(ws)g(are)g
  76. (called)f Fg(c)n(ar)n(ds)p Fj(,)g(and)g(the)h(columns)e(are)i(called)0
  77. 1584 y Fg(\014elds)p Fj(.)i(Ro)o(ws)12 b(are)h(separated)g(b)o(y)g(newlines,)
  78. f(and)h(columns)e(are)i(separated)h(b)o(y)e(the)h(\014eld)g(delimiter.)j(The)
  79. d(\014eld)f(delimiter)0 1634 y(is)i(a)h(colon)f(b)o(y)g(default,)g(but)g(can)
  80. h(b)q(e)g(c)o(hanged)g(to)g(an)o(y)f(c)o(haracter.)21 b(The)15
  81. b(button)g(accepts)h(c)o(haracters,)g(o)q(ctal)e(constan)o(ts)0
  82. 1684 y Fh(n)p Fg(nnn)p Fj(,)g(and)f(the)h(tab)f(c)o(haracter)i
  83. Fh(n)p Ff(t)p Fj(.)i(An)o(y)c(c)o(haracter)i(other)f(than)f
  84. Fh(n)p Fg(0)h Fj(and)f(newline)g(can)h(b)q(e)g(c)o(hosen;)g(grok)f(will)f
  85. (prop)q(erly)0 1734 y(escap)q(e)i(the)f(c)o(haracter)g(when)g(it)f(app)q
  86. (ears)h(in)f(a)g(database)h(string.)k(Sev)o(ere)d(c)o(haos)e(ma)o(y)e(result)
  87. k(if)d(the)i(delimiter)e(c)o(haracter)0 1783 y(is)j(c)o(hanged)g(when)g(the)h
  88. (database)f(already)g(con)o(tains)f(data.)0 1869 y(Databases)i(can)g(b)q(e)h
  89. (mark)o(ed)e(read-only)m(.)20 b(A)15 b(user)h(accessing)g(a)f(database)g
  90. (through)g(a)g(form)e(that)i(is)g(has)g(the)g(read-only)0 1919
  91. y(\015ag)e(set)i(will)e(not)g(b)q(e)i(able)f(to)f(c)o(hange)i(an)o(y)e
  92. (cards,)h(and)g(will)e(not)i(b)q(e)h(able)e(to)h(write)g(bac)o(k.)0
  93. 2004 y(A)f(pro)q(cedural)g(database)h(do)q(es)f(not)g(read)g(a)g(\014le,)f
  94. (but)h(calls)g(a)f(script)i(that)e(pro)o(vides)h(the)h(data)e(in)h(the)g
  95. (same)f(format)f(that)0 2054 y(the)j(\014le)f(w)o(ould)g(con)o(tain.)18
  96. b(If)13 b(the)h Ff(procedural)d Fj(button)j(is)f(turned)h(on,)f(the)h
  97. (referenced)i(database)e(name)e(is)h(the)h(name)f(of)0 2103
  98. y(the)j(script,)f(not)g(of)g(an)o(y)g(database)g(\014le.)22
  99. b(It)15 b(ma)o(y)e(con)o(tain)i(options.)21 b(When)15 b(the)h(database)f(is)g
  100. (read,)h(grok)e(app)q(ends)i(the)0 2153 y(option)f Ff("-r")g
  101. Fj(\(read\))i(and)f(the)h(form)d(name)h(as)h(sho)o(wn)g(in)g(the)g
  102. Ff(Form)21 b(name)15 b Fj(button)i(\(without)e(prep)q(ending)i(a)f(path)g(or)
  103. 0 2203 y(app)q(ending)g(an)f(extension\).)24 b(When)16 b(writing,)f
  104. Ff(-w)g Fj(is)h(app)q(ended)h(instead)f(of)f Ff(-r)p Fj(.)23
  105. b(The)16 b(script)g(m)o(ust)f(prin)o(t)g(the)i(data)e(to)0
  106. 2253 y(stdout)h(if)e Ff(-r)g Fj(is)h(sp)q(eci\014ed,)i(or)e(m)o(ust)f(accept)
  107. i(the)g(data)e(from)f(stdin)j(if)e Ff(-w)g Fj(is)h(sp)q(eci\014ed,)i
  108. (separating)e(columns)f(with)g(the)0 2303 y(\014eld)f(delimiter)e(c)o
  109. (haracter)j(and)f(separating)g(ro)o(ws)g(with)g(newlines.)18
  110. b(If)12 b(the)i(delimiter)d(or)i(newlines)g(app)q(ear)g(in)g(as)g(part)g(of)0
  111. 2352 y(a)h(data)f(string,)h(it)f(m)o(ust)g(b)q(e)i(escap)q(ed)g(with)f(a)f
  112. (bac)o(kslash.)0 2438 y(A)j(commen)o(t)d(can)j(b)q(e)g(sp)q(eci\014ed)i(that)
  113. d(should)h(giv)o(e)f(the)h(name)f(of)g(the)h(author)g(of)f(the)h(form,)e(or)i
  114. (sp)q(ecial)g(ca)o(v)o(eats.)24 b(The)0 2488 y(commen)o(t)12
  115. b(is)h(displa)o(y)o(ed)h(only)f(in)g(the)i(form)d(editor)i(windo)o(w.)965
  116. 2770 y(1)p eop
  117. %%Page: 2 2
  118. 2 1 bop 0 42 a Fi(Creating)20 b(a)f(Card)0 159 y Fj(After)f(the)g(general)g
  119. (setup)g(is)f(done,)h(\014elds)g(can)g(b)q(e)g(arranged)f(on)h(a)f(card)h
  120. (\\can)o(v)n(as",)f(whic)o(h)g(has)g(the)h(same)f(size)h(and)0
  121. 209 y(la)o(y)o(out)d(as)h(the)g(\014nal)f(card)i(will)d(ha)o(v)o(e,)i(but)g
  122. (do)q(esn't)g(lo)q(ok)f(as)h(nice)g(and)g(sho)o(ws)g(extra)h(information.)k
  123. (Fields)16 b(app)q(ear)g(as)0 259 y(blue)e(rectangular)g(b)q(o)o(xes,)g(some)
  124. e(of)i(whic)o(h)f(are)h(divided)f(in)h(the)g(middle)e(\(dep)q(ending)i(on)g
  125. (the)g(\014eld)g(t)o(yp)q(e\).)k(The)c(curren)o(t)0 309 y(\014eld,)20
  126. b(whose)g(sp)q(eci\014cation)g(is)f(displa)o(y)o(ed)f(in)h(the)h(form)d
  127. (editor)j(windo)o(w.)33 b(A)19 b(\014eld)g(can)h(b)q(e)g(mo)o(v)o(ed)d(b)o(y)
  128. i(left-clic)o(king)0 359 y(somewhere)12 b(inside)g(the)h(\014eld)f(\(but)g
  129. (not)g(to)q(o)g(close)g(to)g(an)f(edge\))i(and)f(dragging.)k(The)d(size)f
  130. (can)g(b)q(e)h(c)o(hanged)f(b)o(y)g(dragging)0 408 y(one)i(of)g(the)h(four)e
  131. (edges,)i(and)f(the)h(divider)f(can)g(also)g(b)q(e)g(dragged.)19
  132. b(Fields)14 b(should)g(not)g(o)o(v)o(erlap.)19 b(The)14 b(card)h(can)o(v)n
  133. (as)f(can)0 458 y(b)q(e)h(resized;)f(\014elds)h(should)e(not)h(o)o(v)o(erlap)
  134. f(the)i(can)o(v)n(as)f(windo)o(w)f(edges.)0 543 y(The)g(can)o(v)n(as)g(is)g
  135. (divided)f(in)h(t)o(w)o(o)f(parts)i(b)o(y)f(a)f(horizon)o(tal)g(fat)h(line.)k
  136. (The)c(divider)g(can)g(b)q(e)h(mo)o(v)o(ed)d(v)o(ertically)h(b)o(y)h
  137. (dragging)0 593 y(the)f(little)e(square)i(that)f(initially)d(app)q(ears)k
  138. (near)f(the)h(top)f(righ)o(t)f(corner)i(of)f(the)g(can)o(v)n(as.)17
  139. b(Ev)o(erything)11 b(ab)q(o)o(v)o(e)g(the)g(divider)g(is)0
  140. 643 y(the)i Fg(static)g(p)n(art)p Fj(;)f(ev)o(erything)h(b)q(elo)o(w)f(the)h
  141. (divider)f(is)g(the)h Fg(c)n(ar)n(d)g(p)n(art)p Fj(.)k(The)c(card)g(part)f
  142. (displa)o(ys)g(one)h(ro)o(w)f(of)g(the)h(database)0 693 y(if)e(one)h(is)g
  143. (selected;)i(this)e(information)d(c)o(hanges)j(frequen)o(tly)h(whenev)o(er)g
  144. (a)f(searc)o(h)h(is)e(p)q(erformed)h(or)g(a)f(ro)o(w)h(is)g(c)o(hosen)h(from)
  145. 0 743 y(the)h(summary)m(.)0 828 y(The)i(static)g(part)g(do)q(es)h(not)e
  146. (normally)f(c)o(hange,)i(it)f(is)h(in)o(tended)g(for)f(static)i(data)e(suc)o
  147. (h)h(as)g(the)h(a)o(v)o(erage)e(of)h(all)e(\014elds,)i(a)0
  148. 878 y(c)o(hart)c(displa)o(ying)d(statistics,)j(or)g(buttons.)17
  149. b(This)11 b(part)h(is)f(not)g(en)o(tirely)g(static)h(b)q(ecause)h(en)o
  150. (tering)e(new)h(cards)g(or)f(resorting)0 928 y(the)j(database)g(ma)o(y)d(c)o
  151. (hange)j(data,)f(but)h(it)f(is)g(not)g(b)q(ound)h(to)f(a)g(particular)g
  152. (card,)h(and)f(it)g(remains)g(accessible)i(if)d(no)h(card)0
  153. 977 y(is)f(c)o(hosen.)19 b(This)12 b(mak)o(es)f(it)h(a)g(go)q(o)q(d)f(place)i
  154. (to)f(place)g(form)f(switc)o(h)h(buttons)h(that)f(w)o(ould)g(otherwise)h(b)q
  155. (ecome)f(una)o(v)n(ailable)0 1027 y(when)i(no)g(card)g(is)g(displa)o(y)o(ed.)
  156. 0 1112 y(There)h(are)f(sev)o(eral)h(t)o(yp)q(es)g(of)e(\014elds.)19
  157. b(Not)14 b(all)e(of)i(them)f(store)i(data)e(in)h(the)g(database;)g(some)f
  158. (are)i(decorativ)o(e)f(or)g(displa)o(y)0 1162 y(computed)f(information.)0
  159. 1248 y Fe(Input)118 b Fj(This)13 b(is)f(the)h(main)e(t)o(yp)q(e)i(of)f
  160. (\014eld.)18 b(It)12 b(displa)o(ys)g(an)h(editable)f(\(unless)i(turned)f
  161. (o\013)s(\))g(string)g(in)f(the)h(database,)236 1297 y(along)g(with)g(a)h
  162. (lab)q(el.)k(Input)c(\014elds)g(should)g(not)f(b)q(e)i(put)f(in)o(to)f(the)i
  163. (static)f(part)g(of)f(the)i(can)o(v)n(as.)0 1383 y Fe(Time)127
  164. b Fj(A)20 b(v)n(ariation)e(of)h(the)i(Input)f(\014eld.)35 b(The)21
  165. b(database)f(represen)o(tation)h(is)f(a)f(n)o(um)o(b)q(er)g(of)g(seconds.)37
  166. b(It)20 b(is)236 1432 y(displa)o(y)o(ed)12 b(as)g(a)f(date,)h(as)h(a)e(time,)
  167. g(as)h(b)q(oth)g(date)g(and)g(time,)f(and)g(as)h(a)g(duration.)17
  168. b(The)12 b(\014rst)h(three)g(assume)236 1482 y(the)j(database)f(string)g(to)f
  169. (b)q(e)i(a)e(n)o(um)o(b)q(er)g(of)h(seconds)h(since)f(Jan)o(uary)g(1,)f
  170. (1970;)g(the)i(last)e(simply)f(assumes)236 1532 y(a)18 b(n)o(um)o(b)q(er)f
  171. (of)g(seconds)j(up)e(to)g(86399)e(\(one)j(da)o(y)e(min)o(us)f(1)i(second\).)
  172. 31 b(When)19 b(a)e(string)h(is)g(en)o(tered)i(in)o(to)236 1582
  173. y(a)15 b(Time)f(\014eld,)i(it)f(is)g(con)o(v)o(erted)i(to)e(the)i(n)o(umeric)
  174. d(represen)o(tation,)j(reformatted,)e(and)h(reprin)o(ted.)23
  175. b(Time)236 1632 y(\014elds)14 b(are)g(useful)f(b)q(ecause)i(they)f(can)g(b)q
  176. (e)g(used)g(in)f(expressions)i(for)e(calculation;)f(expressions)i(alw)o(a)o
  177. (ys)f(see)236 1681 y(the)i(n)o(umeric)e(database)h(string.)k(Time)12
  178. b(\014elds)j(should)e(not)h(b)q(e)h(put)f(in)o(to)f(the)i(static)f(part)g(of)
  179. f(the)i(can)o(v)n(as.)0 1767 y Fe(Note)134 b Fj(A)17 b(note)g(is)g(a)g(m)o
  180. (ulti-li)o(ne)e(Input)i(\014eld.)27 b(It)17 b(should)g(b)q(e)g(used)h(only)e
  181. (for)g(m)o(ultiline)f(text)i(input)g(b)q(ecause)h(it)236 1817
  182. y(cannot)e(b)q(e)h(tabb)q(ed)f(o)o(v)o(er,)g(and)g(b)q(ecause)h(pressing)g
  183. (Return)f(when)g(en)o(tering)h(data)e(in)o(to)g(the)i(card)f(in)o(to)f(a)236
  184. 1866 y(Note)i(actually)f(inserts)i(a)e(newline,)h(rather)h(than)f(skipping)e
  185. (to)i(the)g(next)h(\014eld)e(as)h(an)g(Input-t)o(yp)q(e)g(\014eld)236
  186. 1916 y(w)o(ould.)g(Note)e(\014elds)f(should)g(not)g(b)q(e)g(put)g(in)o(to)f
  187. (the)i(static)f(part)g(of)f(the)i(can)o(v)n(as.)0 2001 y Fe(Choice)94
  188. b Fj(Unlik)o(e)16 b(all)f(other)i(t)o(yp)q(es,)h(man)o(y)d(c)o(hoice)i
  189. (\014elds)g(reference)h(the)g(same)d(database)i(string.)26
  190. b(They)17 b(all)e(m)o(ust)236 2051 y(ha)o(v)o(e)f(the)h(same)e(summary)e
  191. (column,)h(the)j(same)e(database)i(column,)d(and)i(the)g(same)f(in)o(ternal)h
  192. (\014eld)g(name)236 2101 y(\(these)19 b(three)f(are)f(buttons)g(in)f(the)i
  193. (form)d(editor\).)27 b(They)17 b(di\013er)g(only)f(in)g(the)i(Choice/\015ag)e
  194. (co)q(de.)27 b(grok)236 2151 y(alw)o(a)o(ys)14 b(mak)o(es)f(sure)j(that)f
  195. (only)e(one)i(of)f(the)i(c)o(hoice)f(\014elds)g(with)f(iden)o(tical)g(in)o
  196. (ternal)g(\014eld)h(names)f(can)g(b)q(e)236 2201 y(activ)o(e)h(at)g(an)o(y)f
  197. (time;)g(the)h(database)h(string)f(then)g(matc)o(hes)g(the)g(Choice/\015ag)g
  198. (co)q(de)g(of)g(that)g(\014eld.)21 b(Most)236 2250 y(attributes)15
  199. b(of)e(a)g Ff(Choice)f Fj(item,)g(when)i(c)o(hanged,)g(are)g(copied)f(to)h
  200. (all)e(other)i Ff(Choice)f Fj(items)f(that)i(ha)o(v)o(e)f(the)236
  201. 2300 y(same)g(in)o(ternal)h(name.)j(Choice)d(\014elds)g(should)g(not)f(b)q(e)
  202. i(put)f(in)o(to)f(the)i(static)f(part)g(of)f(the)i(can)o(v)n(as.)0
  203. 2385 y Fe(Lab)q(el)120 b Fj(Lab)q(els)14 b(are)h(purely)f(decorativ)o(e.)k
  204. (They)d(prin)o(t)e(an)h(arbitrary)g(one-line)f(string)h(at)g(a)g(p)q(osition)
  205. f(in)g(the)i(card.)236 2435 y(There)k(is)f(no)f(asso)q(ciated)i(database)f
  206. (string.)30 b(Lab)q(els)18 b(are)g(rarely)g(needed)i(b)q(ecause)f(most)e(of)g
  207. (the)h(other)236 2485 y(t)o(yp)q(es)d(come)d(with)h(their)h(o)o(wn)f
  208. (built-in)f(lab)q(el)h(parts.)19 b(The)13 b(lab)q(el)g(is)h(static,)f
  209. (expressions)i(cannot)e(b)q(e)i(used.)0 2570 y Fe(Prin)o(t)124
  210. b Fj(Prin)o(t)17 b(\014elds)g(are)g(lik)o(e)f(Input)h(\014elds,)g(but)g(no)g
  211. (text)g(can)g(b)q(e)g(en)o(tered.)28 b(Unlik)o(e)16 b(lab)q(els,)h(they)g
  212. (can)g(displa)o(y)236 2620 y(an)g(expression)h(sp)q(eci\014ed)h(in)e(the)g
  213. (Input)h(Default)e(button)i(of)e(the)i(form)d(editor.)28 b(This)17
  214. b(can)g(b)q(e)h(used)g(to)236 2670 y(displa)o(y)e(a)g(running)h(a)o(v)o
  215. (erage)g(or)f(sum)g(in)g(cards,)i(or)f(displa)o(y)f(other)h(computed)f
  216. (information.)24 b(There)18 b(is)965 2770 y(2)p eop
  217. %%Page: 3 3
  218. 3 2 bop 236 42 a Fj(no)16 b(asso)q(ciated)g(database)g(string.)24
  219. b(Prin)o(t)16 b(\014elds)g(are)g(useful)g(in)f(b)q(oth)h(the)g(static)g(and)g
  220. (card)g(parts)g(of)f(the)236 91 y(can)o(v)n(as.)0 177 y Fe(Flag)145
  221. b Fj(Flags)13 b(are)g(b)q(o)q(olean)g(database)g(strings:)18
  222. b(the)c(string)f(either)h(matc)o(hes)f(the)h(prede\014ned)g(string)g(\()p
  223. Fg(true)p Fj(\),)e(or)h(it)236 226 y(is)j(empt)o(y)e(\()p Fg(false)p
  224. Fj(\).)24 b(\(In)16 b(fact,)f(a)h(string)f(that)h(do)q(esn't)g(matc)o(h)f(is)
  225. g(also)g(considered)j Fg(false)p Fj(,)d(but)h(this)f(is)h(not)236
  226. 276 y(part)c(of)g(the)g(normal)e(op)q(eration.\))17 b(The)c(string)e(that)h
  227. (constitutes)i Fg(true)d Fj(is)h(sp)q(eci\014ed)h(with)f(the)g(Choice/\015ag)
  228. 236 326 y(co)q(de)j(button)f(in)f(the)i(form)d(editor.)0 411
  229. y Fe(Button)86 b Fj(Buttons)13 b(ha)o(v)o(e)f(an)g(asso)q(ciated)h(action)e
  230. (expression)i(that)g(is)e(executed)j(when)f(the)g(button)f(is)g(pressed.)19
  231. b(This)236 461 y(action)e(could)f(start)i(a)e(shell)h(script,)h(for)f
  232. (example.)25 b(Buttons)18 b(are)f(not)g(asso)q(ciated)h(with)e(an)o(y)h
  233. (database)236 511 y(string,)c(but)h(the)f(expression)i(can)e(access)i(one.)j
  234. (F)m(or)13 b(example,)f(a)h(database)g(of)g(demo)f(programs)g(can)h(ha)o(v)o
  235. (e)236 561 y(a)i(button)h(that)f(executes)j(the)e(program.)k(The)c(returned)h
  236. (string)e(is)h(executed,)h(there)f(is)g(no)f(need)h(to)f(use)236
  237. 611 y(the)g Ff(system)d Fj(k)o(eyw)o(ord)i(unless)h(nesting)f(is)f(desired.)
  238. 19 b(Note)c(that)f(the)g(action)f(expression)i(is)f(the)g(only)f(t)o(yp)q(e)
  239. 236 660 y(of)k(expression)h(that)f(ma)o(y)e(con)o(tain)h Ff(switch)g
  240. Fj(statemen)o(ts;)i(see)g(the)g(Expression)g(Gramm)o(ar)c(c)o(hapter)k(for)
  241. 236 710 y(details.)g(It)c(is)g(often)g(a)f(go)q(o)q(d)h(idea)f(to)h(put)g
  242. (buttons)h(in)e(the)i(static)f(part)g(of)f(the)i(can)o(v)n(as.)0
  243. 795 y Fe(Chart)113 b Fj(Charts)21 b(displa)o(y)d(data)i(as)g(bar)g(or)g(line)
  244. f(c)o(harts.)37 b(The)20 b(X)g(axis)f(is)h(divided)f(in)o(to)g(one)h(slot)g
  245. (p)q(er)h(ro)o(w)e(in)236 845 y(the)d(database;)h(the)f(Y)g(axis)f(dep)q
  246. (ends)i(on)e(the)h(v)n(alues)g(computed)f(from)f(those)i(ro)o(ws)g(\(X)g(and)
  247. f(Y)h(ma)o(y)d(b)q(e)236 895 y(exc)o(hanged\).)19 b(Eac)o(h)14
  248. b(c)o(hart)g(con)o(tains)f(one)h(or)g(more)e Fg(c)n(omp)n(onents)p
  249. Fj(.)19 b(A)13 b(comp)q(onen)o(t)g(computes)h(v)n(alues)f(that)236
  250. 945 y(is)18 b(plotted)f(in)h(the)g(c)o(hart;)h(a)f(c)o(hart)g(ma)o(y)d
  251. (displa)o(y)i(more)g(than)g(one)h(v)n(alue.)29 b(F)m(or)17
  252. b(example,)g(an)g(exp)q(ense)236 995 y(accoun)o(t)c(c)o(hart)g(ma)o(y)e
  253. (displa)o(y)g(a)h(stac)o(k)o(ed)h(bar)g(c)o(hart)g(consisting)f(of)g
  254. (di\013eren)o(t)h(color-co)q(ded)g(t)o(yp)q(es)h(of)d(costs,)236
  255. 1044 y(eac)o(h)18 b(describ)q(ed)i(b)o(y)d(a)g(comp)q(onen)o(t.)29
  256. b(There)18 b(are)g(man)o(y)e(v)n(ariations)g(for)h(con\014guring)h(c)o(harts)
  257. g(and)g(their)236 1094 y(comp)q(onen)o(ts.)g(Charts)c(should)g(b)q(e)g(put)h
  258. (in)o(to)e(the)h(static)h(part)f(of)f(the)h(can)o(v)n(as.)0
  259. 1180 y(Eac)o(h)i(\014eld)g(has)g(a)f(n)o(um)o(b)q(er)g(of)g(parameters)h
  260. (that)g(dep)q(end)g(on)g(the)g(t)o(yp)q(e.)24 b(The)16 b(most)f(imp)q(ortan)o
  261. (t)f(is)h(the)i(in)o(ternal)e(\014eld)0 1229 y(name.)28 b(It)18
  262. b(m)o(ust)f(b)q(e)h(unique,)g(except)h(for)e(c)o(hoice)i(\014elds)f(whic)o(h)
  263. f(are)h(group)q(ed)h(b)o(y)e(assigning)g(common)e(in)o(ternal)i(\014eld)0
  264. 1279 y(names.)g(If)c(the)h(\014eld)f(references)j(a)d(database)g(string,)g
  265. (the)h(in)o(ternal)f(\014eld)g(name)f(also)h(names)f(the)i(database)g
  266. (string.)k(The)0 1329 y(in)o(ternal)c(\014eld)h(name)f(can)h(b)q(e)g(used)h
  267. (in)e(expressions)i(to)f(read)g(the)h(database)f(string.)20
  268. b(F)m(or)15 b(example,)e(supp)q(ose)j(y)o(ou)e(ha)o(v)o(e)0
  269. 1379 y(a)g(database)g(of)f(bac)o(kup)h(tap)q(es,)h(y)o(ou)e(ma)o(y)f(ha)o(v)o
  270. (e)i(an)g Ff(Input)e Fj(\014eld)i(with)g(an)g(in)o(ternal)f(\014eld)h(name)f
  271. Fg(c)n(ap)n(acity)p Fj(,)h(and)g(another)0 1429 y Ff(Input)f
  272. Fj(\014eld)g(named)g Fg(use)n(d)p Fj(.)18 b(Y)m(ou)13 b(could)g(then)i(add)e
  273. (a)g Ff(Print)g Fj(\014eld)g(whose)i(Input)f(Default)e(expression)j(is)f
  274. Ff(\()p 1720 1429 14 2 v 15 w(capacity)20 b(-)p 0 1478 V 13
  275. 1478 a(used\))p Fj(.)29 b(The)18 b Ff(Print)e Fj(\014eld)i(then)h(displa)o
  276. (ys)e(the)h(remaining)e(free)i(space)h(on)e(eac)o(h)i(tap)q(e,)f(ev)o(en)h
  277. (though)e(the)i(database)0 1528 y(only)12 b(con)o(tains)h(total)f(capacit)o
  278. (y)g(and)h(used)h(capacit)o(y)m(.)j(Another)c Ff(Print)f Fj(lab)q(el)g(ma)o
  279. (y)f(ha)o(v)o(e)i(an)f(expression)i Ff(\(sum\()p 1796 1528
  280. V 15 w(used\)\))p Fj(,)0 1578 y(whic)o(h)i(displa)o(ys)f(a)g(running)h(total)
  281. f(of)g(all)g(tap)q(es')h(con)o(ten)o(ts.)25 b Ff(sum)15 b Fj(is)h(one)g(of)f
  282. (a)h(group)f(of)h(functions)f(that)h(lo)q(op)f(o)o(v)o(er)h(all)0
  283. 1628 y(cards)h(rather)f(than)g(just)g(referencing)h(the)g(curren)o(t)g(card;)
  284. g(see)g(the)f(Expression)h(Gramma)o(r)c(c)o(hapter)k(for)f(details.)23
  285. b(It)16 b(is)0 1678 y(also)11 b(p)q(ossible)i(to)e(reference)k(a)d(database)g
  286. (\014eld)g(for)g(whic)o(h)g(there)h(is)f(no)f(\014eld)i(description)f(in)g
  287. (an)f(expression;)j(in)d(this)h(case,)0 1727 y(the)i(\014eld)g(is)g
  288. (referenced)j(b)o(y)c(n)o(um)o(b)q(er.)18 b(Fields)13 b(in)h(the)g(database)h
  289. (are)f(n)o(um)o(b)q(ered)g(left)f(to)h(righ)o(t,)f(b)q(eginning)g(with)h(0.)0
  290. 1813 y(The)g(next)f(button)h(in)e(the)i(form)d(editor)j(is)f(the)h(database)f
  291. (column.)j(It)d(needs)i(to)e(b)q(e)h(sp)q(eci\014ed)g(only)f(for)g(\014eld)g
  292. (t)o(yp)q(es)h(that)0 1863 y(displa)o(y)f(the)h(column)f(and)g(allo)o(w)g(en)
  293. o(try)h(in)o(to)f(the)i(column.)h(These)f(\014elds)f(are)h(\\windo)o(ws")e
  294. (in)o(to)g(the)h(database;)g(there)h(is)0 1912 y(normally)c(one)k(\014eld)f
  295. (for)g(eac)o(h)g(database)h(column.)i(All)c(\014elds)i(that)f(do)g(not)g
  296. (reference)i(a)e(database)h(column)d(are)j(merely)0 1962 y(decoration,)h(no)g
  297. (c)o(hange)g(of)g(the)g(database)h(is)e(p)q(ossible)i(through)f(suc)o(h)g(a)g
  298. (decorativ)o(e)h(\014eld)f(\(although)f(the)h(decorativ)o(e)0
  299. 2012 y(\014eld)h(ma)o(y)e(read)i(the)g(database,)h(as)f Ff(Print)e
  300. Fj(\014elds)i(do\).)27 b(This)17 b(relation)f(b)q(et)o(w)o(een)i(\014elds)f
  301. (and)g(database)g(columns)f(also)0 2062 y(serv)o(es)i(to)e(giv)o(e)f(a)h(sym)
  302. o(b)q(olic)e(name)h(to)h(database)g(columns;)f(these)j(sym)o(b)q(olic)c
  303. (names)h(can)h(b)q(e)h(used)g(in)f(expressions)h(b)o(y)0 2112
  304. y(pre\014xing)c(them)g(with)g(an)g(underscore.)21 b(\(It)13
  305. b(is)h(also)e(p)q(ossible)i(to)f(use)i(the)f(column)e(n)o(um)o(b)q(er)g(in)h
  306. (expressions,)i(but)f(that)f(is)0 2161 y(less)i(con)o(v)o(enien)o(t\).)0
  307. 2247 y(The)e(main)d(windo)o(w)h(has)h(three)i(parts,)e(a)g(summary)m(,)d(the)
  308. k(static)f(area,)g(and)g(the)h(card.)18 b(The)12 b(summary)e(con)o(tains)i
  309. (one)g(line)0 2296 y(p)q(er)j(card,)e(while)g(the)i(card)f(con)o(tains)f(the)
  310. i(en)o(tire)f(card's)g(information)d(as)j(de\014ned)g(with)g(the)g(form)e
  311. (editor)i(and)f(the)h(card)0 2346 y(can)o(v)n(as.)j(The)12
  312. b(static)g(part)g(is)f(optional)g(and)g(programmed)e(in)i(the)i(same)d(w)o(a)
  313. o(y)h(as)h(the)g(card.)18 b(The)12 b(Summary)d(column)h(and)0
  314. 2396 y(Width)j(in)h(summary)e(buttons)i(in)g(the)h(form)d(editor)i(determine)
  315. g(whic)o(h)g(\014elds)h(also)e(app)q(ear)i(in)e(the)i(summary;)c(this)j(is)g
  316. (a)0 2446 y(subset)j(of)d(the)i(\014elds)f(that)h(reference)h(a)e(database)h
  317. (column)d(\(decoration)j(\014elds)f(can)g(not)g(b)q(e)h(put)g(in)o(to)e(the)i
  318. (summary\).)0 2496 y(The)d(t)o(w)o(o)f(buttons)i(sp)q(ecify)f(the)g(order)h
  319. (in)e(database)h(column)e(and)i(the)g(width)f(in)h(c)o(haracters.)19
  320. b(Tw)o(o)12 b(blanks)h(are)g(inserted)0 2546 y(b)q(et)o(w)o(een)j(\014elds)e
  321. (in)g(the)g(summary)e(automatically)l(.)k(The)f(summary)c(has)k(a)e(title;)h
  322. (it)g(can)g(not)g(b)q(e)h(sp)q(eci\014ed)g(directly)g(but)0
  323. 2595 y(is)f(tak)o(en)g(from)e(the)i(Lab)q(el)g(text)h(of)e(the)h(\014eld.)965
  324. 2770 y(3)p eop
  325. %%Page: 4 4
  326. 4 3 bop 0 42 a Fj(Here)15 b(is)f(a)f(brief)h(summary)e(of)h(all)g(buttons)h
  327. (in)f(the)i(form)d(editor)i(that)g(sp)q(ecify)h(a)e(\014eld)h(in)f(the)i
  328. (card:)0 167 y Fe(Field)i(t)o(yp)q(e)376 b Fj(The)17 b(t)o(yp)q(e)f(of)g(a)g
  329. (\014eld)g(is)g(en)o(tered)i(here.)26 b(See)17 b(ab)q(o)o(v)o(e)f(for)g(a)g
  330. (list)g(of)f(a)o(v)n(ailable)f(t)o(yp)q(es)591 217 y(and)f(what)h(they)g(do.)
  331. 0 302 y Fe(Searc)o(hable)366 b Fj(The)15 b(main)f(windo)o(w)g(con)o(tains)i
  332. (a)f(Searc)o(h)h(input)f(button.)23 b(It)15 b(searc)o(hes)j(through)d(all)591
  333. 352 y(cards)20 b(and)f(puts)i(all)d(cards)i(con)o(taining)f(the)h(searc)o(h)h
  334. (string)e(in)o(to)g(the)h(summary)m(.)591 402 y(Fields)13 b(that)h(are)h(not)
  335. e(searc)o(hable)i(are)g(excluded)f(from)f(the)h(searc)o(h.)0
  336. 487 y Fe(Read)d(only)377 b Fj(The)11 b(user)g(cannot)f(c)o(hange)h(the)f
  337. (database)h(string)f(referenced)j(b)o(y)d(a)f(\014eld)i(that)f(is)g(read-)591
  338. 537 y(only)m(.)24 b(This)16 b(is)h(useful)f(if)g(there)i(are)f(t)o(w)o(o)f
  339. (forms)f(referencing)i(the)h(same)d(database,)591 587 y(one)c(for)g(y)o(ou)g
  340. (and)g(one)g(for)g(the)h(un)o(w)o(ashed)f(masses)g(with)g(lots)g(of)g
  341. (read-only)f(\015ags)i(set.)591 636 y(The)j(read-only)g(\015ag)g(can)h(also)e
  342. (b)q(e)i(set)g(for)f(the)h(en)o(tire)g(database)g(with)f(the)h(button)591
  343. 686 y(near)f(the)g(top)f(of)g(the)h(form)e(editor)i(windo)o(w;)f(setting)h
  344. (that)f(\015ag)g(o)o(v)o(errides)i(all)d(\014eld)591 736 y(read-only)g
  345. (\015ags.)0 821 y Fe(Not)j(sortable)327 b Fj(The)14 b(\014eld)g(will)e(b)q(e)
  346. j(omitted)d(from)g(the)j(Sort)f(pulldo)o(wn)f(in)g(the)i(main)c(men)o(u.)0
  347. 907 y Fe(Default)18 b(sort)338 b Fj(When)17 b(the)h(\014le)g(is)f(read)h(in)f
  348. (from)f(disk,)i(it)f(is)g(sorted)i(b)o(y)e(the)h(\014eld)g(that)f(has)h(this)
  349. 591 956 y(\015ag)e(on.)26 b(Setting)16 b(it)h(in)f(an)o(y)g(\014eld)g(will)g
  350. (clear)h(the)g(Default)f(sort)h(\015ag)f(in)g(all)f(other)591
  351. 1006 y(items)g(automatically)m(.)23 b(If)16 b(no)g(\014eld)h(has)g(the)g
  352. (Default)f(sort)h(\015ag,)f(the)h(\014le)g(will)e(not)591 1056
  353. y(b)q(e)e(sorted)i(when)e(it)g(is)g(read.)19 b(It)13 b(is)g(p)q(ossible)h
  354. (but)f(not)g(recommended)g(to)g(ha)o(v)o(e)g(b)q(oth)591 1106
  355. y(the)h(Default)f(sort)i(\015ag)e(and)h(the)g(Not)g(sortable)g(\015ag)g(on)f
  356. (in)h(the)g(same)f(\014eld.)0 1191 y Fe(In)o(ternal)g(\014eld)i(name)192
  357. b Fj(All)13 b(\014elds)h(ha)o(v)o(e)g(an)g(unique)g(name.)j(Choice)d(names)f
  358. (are)i(not)f(unique,)f(c)o(hoice)i(\014elds)591 1241 y(are)h(group)q(ed)g(b)o
  359. (y)g(a)f(common)e(name.)23 b(If)16 b(the)g(\014eld)g(references)j(a)c
  360. (database)h(string,)591 1291 y(the)d(in)o(ternal)g(\014eld)g(name)f(also)g
  361. (names)g(the)i(database)f(column,)e(whic)o(h)i(can)h(then)f(b)q(e)591
  362. 1340 y(accessed)j(in)d(expressions)j(sym)o(b)q(olically)l(.)0
  363. 1426 y Fe(Database)11 b(column)230 b Fj(If)10 b(the)i(\014eld)f(references)i
  364. (a)e(database)g(column,)e(this)i(button)g(sa)o(ys)g(whic)o(h)f(one,)i(0)e(b)q
  365. (eing)591 1476 y(the)h(\014rst)g(column.)k(If)c(not,)f(this)h(button)g(is)f
  366. (gra)o(y)o(ed)g(out.)17 b(The)11 b(column)e(n)o(um)o(b)q(er)h(m)o(ust)591
  367. 1525 y(b)q(e)h(unique,)g(except)i(for)e(c)o(hoice)g(\014elds)h(whic)o(h)f
  368. (are)g(group)q(ed)h(b)o(y)f(a)f(common)f(database)591 1575
  369. y(column)j(\(and)i(a)f(common)e(in)o(ternal)j(\014eld)g(name,)e(to)q(o\).)0
  370. 1660 y Fe(Width)20 b(in)h(summary)191 b Fj(If)19 b(the)g(width)g(is)g
  371. (nonzero,)i(the)f(database)f(string)h(referenced)h(b)o(y)e(the)h(\014eld)f
  372. (will)591 1710 y(app)q(ear)c(in)f(the)i(summary)m(,)11 b(with)k(as)f(man)o(y)
  373. f(c)o(haracters)k(as)e(sp)q(eci\014ed.)22 b(Tw)o(o)14 b(blanks)591
  374. 1760 y(are)20 b(app)q(ended.)38 b(The)21 b(summary)d(alw)o(a)o(ys)h(uses)i
  375. (monospaced)f(Courier)g(to)g(mak)o(e)591 1810 y(columns)12
  376. b(line)i(up)g(v)o(ertically)m(.)0 1895 y Fe(Summary)i(column)221
  377. b Fj(If)15 b(the)h(width)g(is)f(nonzero,)h(this)f(v)n(alue)g(sp)q(eci\014es)j
  378. (the)e(order)g(of)f(\014elds)g(in)g(summary)591 1945 y(lines.)i(No)12
  379. b(t)o(w)o(o)f(\014elds)i(ma)o(y)d(ha)o(v)o(e)i(the)g(same)f(summary)f(column)
  380. g(n)o(um)o(b)q(er,)h(but)i(there)591 1995 y(ma)o(y)e(b)q(e)k(gaps.)0
  381. 2080 y Fe(Choice/\015ag)h(co)q(de)241 b Fj(The)15 b(string)g(that)g(Flag)f
  382. (and)h(Choice)g(\014elds)g(store)h(in)e(the)i(database,)f(if)f(activ)o(e.)21
  383. b(No)591 2130 y(t)o(w)o(o)13 b(Choice)h(\014elds)g(with)g(the)g(same)f(in)o
  384. (ternal)h(name)f(ma)o(y)f(ha)o(v)o(e)h(the)i(same)e(co)q(de.)0
  385. 2215 y Fe(Sho)o(wn)20 b(as)396 b Fj(If)19 b(this)g(string)g(is)g(set,)h(it)f
  386. (will)e(b)q(e)j(displa)o(y)o(ed)e(in)h(the)g(summary)d(in)j(place)g(of)f(the)
  387. 591 2265 y(c)o(hoice/\015ag)13 b(co)q(de.)20 b(Basically)m(,)12
  388. b(it)i(is)g(a)g(mnemonic)d(name)i(for)h(the)g(c)o(hoice/\015ag)g(co)q(de)591
  389. 2315 y(that)f(a)h(user)h(can)f(understand.)0 2400 y Fe(Time)20
  390. b(format)326 b Fj(Time)17 b(\014elds)i(ha)o(v)o(e)f(four)g(di\013eren)o(t)h
  391. (formats,)f(as)g(describ)q(ed)j(ab)q(o)o(v)o(e.)31 b(The)19
  392. b(format)591 2450 y(con)o(trols)13 b(what)g(gets)h(prin)o(ted)f(in)o(to)g
  393. (the)g(card,)h(and)f(ho)o(w)g(user)h(input)f(is)g(in)o(terpreted.)0
  394. 2535 y Fe(Lab)q(el)k(text)374 b Fj(All)15 b(\014eld)h(t)o(yp)q(es)g(come)f
  395. (with)g(some)f(kind)h(of)g(text)h(string)g(that)f(is)h(prin)o(ted)g(in)o(to)e
  396. (the)591 2585 y(\014eld)f(in)h(the)g(card.)19 b(This)14 b(string)g(is)f(alw)o
  397. (a)o(ys)g(literal,)g(it)g(cannot)h(b)q(e)h(an)f(expression.)0
  398. 2670 y Fe(Lab)q(el)i(justi\014cati)o(on)211 b Fj(Lab)q(els)15
  399. b(can)g(b)q(e)g(cen)o(tered,)i(left-aligned,)c(or)h(righ)o(t-aligned.)19
  400. b(This)c(is)f(not)h(sho)o(wn)f(in)965 2770 y(4)p eop
  401. %%Page: 5 5
  402. 5 4 bop 591 42 a Fj(the)14 b(card)g(can)o(v)n(as,)g(press)h(the)f(Preview)h
  403. (button)f(to)g(see)h(the)g(e\013ect.)0 127 y Fe(Lab)q(el)g(fon)o(t)376
  404. b Fj(The)14 b(fon)o(t)f(used)i(for)f(the)g(lab)q(el.)j(Fiv)o(e)d(fon)o(ts)g
  405. (are)g(a)o(v)n(ailable.)0 212 y Fe(Max)21 b(input)d(length)221
  406. b Fj(The)18 b(maxim)o(um)13 b(n)o(um)o(b)q(er)18 b(of)f(c)o(haracters)j(than)
  407. e(can)g(b)q(e)g(en)o(tered)i(in)o(to)d(an)h(Input,)591 262
  408. y(Time,)10 b(or)h(Note)h(\014eld.)18 b(The)12 b(default)f(is)g(100)g(for)g
  409. (Input)h(and)g(Time)e(\014elds,)i(and)f(10000)591 312 y(for)f(Note)g
  410. (\014elds.)18 b(Alw)o(a)o(ys)9 b(mak)o(e)g(sure)j(that)e(note)h(\014elds)g
  411. (ha)o(v)o(e)f(a)g(su\016cien)o(t)h(maxim)n(um)591 361 y(length.)27
  412. b(This)17 b(n)o(um)o(b)q(er)f(is)h(passed)h(to)e(the)i(Motif)e(widget)h(to)f
  413. (limit)f(input)h(length,)591 411 y(but)e(do)q(es)g(not)g(lead)g(to)f
  414. (increased)j(memory)11 b(usage)j(for)g(the)g(database.)0 497
  415. y Fe(Input)19 b(default)311 b Fj(F)m(or)17 b(Input,)i(Time,)e(Flag,)g(and)g
  416. (Choice)h(\014elds,)h(this)f(\014eld)g(pro)o(vides)g(the)g(defaults)591
  417. 546 y(when)f(a)f(new)h(card)h(is)e(added)h(to)g(the)g(database.)27
  418. b(It)17 b(can)g(b)q(e)g(an)g(expression.)27 b(F)m(or)591 596
  419. y(Prin)o(t)12 b(\014elds,)h(the)g(Input)f(default)h(sp)q(eci\014es)h(what)e
  420. (gets)h(prin)o(ted)g(in)o(to)f(the)h(inset)g(area)591 646 y(of)i(the)h
  421. (\014eld;)h(input)e(default)h(is)g(actually)f(a)g(misnomer)f(b)q(ecause)j
  422. (Prin)o(t)f(\014eld)g(texts)591 696 y(cannot)c(b)q(e)i(input)e(and)g(are)i
  423. (ev)n(aluated)e(whenev)o(er)i(the)f(database)g(c)o(hanges,)g(not)g(just)591
  424. 746 y(when)18 b(a)g(new)h(card)g(is)f(added.)32 b(In)18 b(general,)h(Choice)g
  425. (\014elds)g(should)f(alw)o(a)o(ys)f(ha)o(v)o(e)591 795 y(a)f(default.)26
  426. b(If)16 b(the)h(\014eld)g(has)g(t)o(yp)q(e)g(Time,)e(the)j(input)e(default)g
  427. (expression)i(should)591 845 y(ev)n(aluate)g(to)g(a)g(n)o(um)o(b)q(er)g(of)f
  428. (seconds,)k(not)d(to)g(a)h(string)f(con)o(taining)f(a)h(date.)32
  429. b(F)m(or)591 895 y(example,)12 b(to)h(mak)o(e)g(the)h(Time)f(\014eld)h
  430. (default)f(to)h(to)q(da)o(y)m(,)e(use)j(\(date\),)f(not)g(date.)0
  431. 980 y Fe(Input)i(justi\014cation)210 b Fj(Input)16 b(can)g(b)q(e)g(cen)o
  432. (tered,)i(left-aligned,)d(or)g(righ)o(t-aligned.)23 b(This)15
  433. b(is)h(not)g(sho)o(wn)f(in)591 1030 y(the)f(card)g(can)o(v)n(as,)g(press)h
  434. (the)f(Preview)h(button)f(to)g(see)h(the)g(e\013ect.)0 1115
  435. y Fe(Input)10 b(fon)o(t)375 b Fj(The)11 b(fon)o(t)f(used)h(for)f(the)h(input)
  436. g(area.)17 b(Fiv)o(e)10 b(fon)o(ts)g(are)h(a)o(v)n(ailable.)k(It)10
  437. b(is)h(recommended)591 1165 y(to)h(use)h(Courier)f(for)g(Note)h(\014elds)g
  438. (\(and,)f(b)o(y)g(extension,)h(for)f(Input)g(and)h(Time)d(\014elds\))591
  439. 1215 y(b)q(ecause)15 b(prin)o(ting)e(functions)h(prin)o(t)g(notes)h(using)e
  440. (a)h(\014xed-width)g(fon)o(t.)0 1300 y Fe(Gra)o(y)o(ed)e(out)h(if)309
  441. b Fj(If)12 b(the)h(named)e(expression)i(ev)n(aluates)f(to)g
  442. Fg(true)p Fj(,)f(the)i(\014eld)f(is)g(gra)o(y)o(ed)g(out)g(and)g(cannot)591
  443. 1350 y(b)q(e)k(used)g(to)g(alter)g(the)g(database.)24 b(The)16
  444. b(expression)h(is)e(ev)n(aluated)h(ev)o(ery)g(time)e(the)591
  445. 1400 y(database)g(c)o(hanges.)0 1485 y Fe(In)o(visible)j(if)370
  446. b Fj(If)18 b(the)g(named)f(expression)i(ev)n(aluates)f(to)g
  447. Fg(true)p Fj(,)g(the)h(\014eld)f(is)f(excluded)i(from)d(the)591
  448. 1535 y(card.)33 b(The)20 b(expression)g(is)f(ev)n(aluated)g(only)f(once,)i
  449. (when)g(the)f(database)h(is)e(read)591 1585 y(from)13 b(disk.)20
  450. b(This)15 b(can)g(b)q(e)h(used)f(to)g(hide)g(en)o(tries)h(if)e(the)h(wrong)g
  451. (user)h(has)f(read)g(the)591 1634 y(database.)j(In)o(visibilit)o(y)12
  452. b(do)q(es)i(not)g(a\013ect)h(the)f(summary)m(.)0 1720 y Fe(Read-only)k(if)333
  453. b Fj(If)16 b(the)i(named)e(expression)i(ev)n(aluates)f(to)f
  454. Fg(true)p Fj(,)h(the)h(\014eld)f(is)f(read-only)m(.)26 b(The)18
  455. b(ex-)591 1770 y(pression)c(is)g(ev)n(aluated)g(only)f(once,)h(when)g(the)h
  456. (database)f(is)g(read)g(from)e(disk.)0 1855 y Fe(Skip)18 b(if)454
  457. b Fj(Normally)m(,)15 b(pressing)j(Return)g(in)f(an)g(Input)g(or)g(Time)f
  458. (\014eld)h(adv)n(ances)h(the)g(cursor)591 1905 y(to)13 b(the)h(next)g
  459. (\014eld)g(\(\014elds)g(are)g(ordered)h(b)o(y)f(their)g(b)q(ottom)e(left)h
  460. (corner,)i(in)e(Y-ma)r(jor)591 1954 y(order\).)18 b(If)13 b(the)h(named)f
  461. (expression)h(of)f(the)h(next)g(\014eld)f(ev)n(aluates)h(to)f
  462. Fg(true)p Fj(,)g(the)h(\014eld)591 2004 y(is)k(skipp)q(ed)h(and)f(the)i
  463. (cursor)f(is)g(put)g(elsewhere.)34 b(This)18 b(expression)i(is)e(ev)n
  464. (aluated)591 2054 y(ev)o(ery)g(time)f(return)i(is)e(pressed)j(in)d(the)i
  465. (previous)f(\014eld.)30 b(A)17 b(constan)o(t)i(expression)591
  466. 2104 y(suc)o(h)14 b(as)g Ff(true)f Fj(is)h(also)f(useful.)0
  467. 2189 y Fe(Action)j(when)g(pressed)154 b Fj(If)15 b(the)h(button)f(is)g
  468. (pressed,)i(this)e(expression)h(is)f(ev)n(aluated.)21 b(The)16
  469. b(result)f(is)g(ignore-)591 2239 y(d.)25 b(T)o(ypically)m(,)14
  470. b(the)j(expression)h(is)e(the)h(name)e(of)h(a)g(shell)g(script.)26
  471. b(The)17 b(expression)591 2289 y(ma)o(y)11 b(use)j(the)g Ff(switch)e
  472. Fj(statemen)o(t,)h(whic)o(h)g(switc)o(hes)i(to)e(another)h(database)f(and/or)
  473. 591 2339 y(p)q(erforms)g(a)h(query)g(on)g(all)e(cards.)0 2424
  474. y Fe(Chart)j(\015ags)360 b Fj(Not)13 b(do)q(cumen)o(ted)h(y)o(et.)19
  475. b(This)13 b(part)i(of)e(the)h(men)o(u)f(is)h(still)f(under)i(dev)o(elopmen)o
  476. (t.)0 2570 y(Some)g(of)h(the)g(ab)q(o)o(v)o(e)g(accept)i(expressions.)26
  477. b(An)16 b(expression)i(b)q(egins)e(with)g(a)g(paren)o(thesis,)i(a)e(brace,)h
  478. (or)f(a)g(dollar)f(sign.)0 2620 y(Ev)o(erything)e(else)g(is)f(a)g(literal)f
  479. (string.)18 b(P)o(aren)o(theses)d(and)d(braces)i(are)e(n)o(umeric)g(and)g
  480. (string)h(expressions,)g(resp)q(ectiv)o(ely;)h(a)0 2670 y(dollar)f(sign)g
  481. (follo)o(w)o(ed)f(b)o(y)i(an)f(en)o(vironmen)o(t)g(v)n(ariable)g(is)g(a)h
  482. (shortcut)h(for)e(the)h(same)f(sequence)j(enclosed)f(in)e(braces.)20
  483. b(The)965 2770 y(5)p eop
  484. %%Page: 6 6
  485. 6 5 bop 0 42 a Ff(system)12 b Fj(statemen)o(t)h(should)g(b)q(e)g(used)h
  486. (sparingly)m(,)e(b)q(ecause)i(some)f(expressions)h(\(suc)o(h)g(as)f(the)h
  487. (gra)o(y)o(ed-out-if)e(expression\))0 91 y(are)i(ev)n(aluated)g(frequen)o
  488. (tly)m(.)k(See)d(the)f(Expression)h(Gramma)o(r)d(section)i(for)g(details.)0
  489. 253 y Fi(Buttons)0 366 y Fj(There)h(is)f(a)f(ro)o(w)h(of)f(buttons)i(in)e
  490. (the)i(form)d(editor)i(for)f(v)n(arious)h(op)q(erations:)0
  491. 451 y Fe(Queries)135 b Fj(Starts)17 b(up)f(a)g(windo)o(w)f(that)i(allo)o(ws)e
  492. (en)o(try)h(of)g(standard)g(queries,)i(as)e(name/expression)g(pairs.)25
  493. b(The)295 501 y(name)13 b(is)i(what)f(will)f(app)q(ear)i(in)f(the)h(Query)g
  494. (pulldo)o(wn)e(in)h(the)h(main)d(men)o(u;)h(the)i(expression)h(is)e(what)295
  495. 551 y(gets)c(executed)i(if)d(the)h(name)e(is)h(selected)j(in)d(the)h(pulldo)o
  496. (wn.)15 b(When)10 b(a)f(name)g(is)g(selected,)j(the)e(expression)295
  497. 600 y(is)j(applied)e(to)i(all)e(cards)i(in)f(the)i(database,)e(and)g(those)i
  498. (that)e(return)i Fg(true)e Fj(are)h(put)g(in)o(to)e(the)i(summary)m(.)295
  499. 650 y(F)m(or)19 b(example,)g(assuming)f(y)o(our)h(database)g(has)h(an)f
  500. (Input)g(\014eld)h(with)f(the)h(in)o(ternal)e(name)h Ff(value)p
  501. Fj(,)295 700 y(the)h(query)f(expression)h Ff(\()p 722 700 14
  502. 2 v 15 w(value)h(>)h(avg\()p 1000 700 V 15 w(value\)\))17 b
  503. Fj(will)g(select)j(all)e(cards)h(whose)h(v)n(alue)e(is)g(ab)q(o)o(v)o(e)295
  504. 750 y(a)o(v)o(erage.One)13 b(of)f(the)h(queries)h(can)e(b)q(e)h(selected)i
  505. (as)d(the)h(default)g(query)g(that)f(will)f(b)q(e)i(p)q(erformed)f(when)295
  506. 800 y(the)j(database)f(is)g(read)g(from)e(disk.)0 885 y Fe(Def)17
  507. b(Help)106 b Fj(The)16 b(main)e(windo)o(w)h(has)h(a)f(help)h(button)g(in)f
  508. (the)h(lo)o(w)o(er)f(left)h(corner.)24 b(This)16 b(button)g(p)q(ops)g(up)g(a)
  509. f(help)295 935 y(windo)o(w)h(with)g(some)g(generic)h(info)e(ab)q(out)i(grok.)
  510. 25 b(With)16 b(the)h(Def)f(Help)g(button,)h(more)f(text)h(can)f(b)q(e)295
  511. 985 y(en)o(tered)i(that)d(will)g(b)q(e)h(app)q(ended)h(to)e(the)h(generic)h
  512. (help)f(text.)24 b(The)16 b(text)g(should)g(explain)f(the)h(card,)295
  513. 1034 y(ho)o(w)e(to)f(use)i(it,)e(and)h(what)g(the)g(\014elds)h(mean.)0
  514. 1120 y Fe(Debug)158 b Fj(This)18 b(button)g(c)o(hec)o(ks)h(the)g(consistency)
  515. g(of)e(all)g(\014elds,)h(and)g(rep)q(orts)h(con\015icts)g(suc)o(h)f(as)g
  516. (non-unique)295 1169 y(in)o(ternal)d(names)f(or)g(redundan)o(t)i(c)o(hoice)f
  517. (\015ags.)20 b(A)o(t)15 b(this)g(time,)e(expressions)j(are)f(not)g(c)o(hec)o
  518. (k)o(ed.)22 b(If)14 b(the)295 1219 y(Debug)f(button)g(rep)q(ortrs)i(nothing,)
  519. d(the)h(no)g(problems)f(w)o(ere)i(found.)j(The)c(Done)g(button)g(alw)o(a)o
  520. (ys)f(do)q(es)295 1269 y(a)i(debugging)f(run)h(\014rst,)h(and)e(refuses)j(to)
  521. e(exit)f(if)g(errors)j(w)o(ere)e(found.)0 1354 y Fe(Preview)125
  522. b Fj(The)15 b(card)f(can)o(v)n(as)g(sho)o(ws)g(the)g(la)o(y)o(out)f(of)g
  523. (\014elds)h(in)g(the)g(card,)g(as)g(b)q(o)o(xes)g(that)g(sho)o(w)g
  524. (additional)e(infor-)295 1404 y(mation)h(suc)o(h)j(as)g(t)o(yp)q(e,)f
  525. (database)h(column,)e(\015ag/c)o(hoice)h(co)q(de,)h(and)f(summary)d(column.)
  526. 21 b(This)15 b(do)q(es)295 1454 y(not)d(re\015ect)i(the)e(\014nal)g(card)g
  527. (that)g(the)h(user)g(will)d(see)k(v)o(ery)e(w)o(ell;)f(in)h(particular,)f
  528. (whether)j(a)d(lab)q(el)h(string)295 1504 y(\014ts)h(in)o(to)f(the)i(\014eld)
  529. e(on)h(the)g(card)g(can)o(v)n(as)g(do)q(es)g(not)g(mean)e(that)i(the)g(same)f
  530. (lab)q(el)g(will)f(\014t)i(in)o(to)f(the)i(\014nal)295 1554
  531. y(card.)19 b(Preview)14 b(sho)o(ws)h(precisely)g(what)e(the)i(card)f(will)f
  532. (lo)q(ok)g(lik)o(e.)0 1639 y Fe(Help)195 b Fj(Prin)o(t)14 b(general)g(help)g
  533. (information.)0 1724 y Fe(Cancel)154 b Fj(Discards)18 b(all)e(op)q(erations)h
  534. (done)g(with)g(the)h(form)d(editor)i(since)h(it)f(w)o(as)g(installed,)g(and)g
  535. (remo)o(v)o(es)f(the)295 1774 y(form)c(editor)i(windo)o(w)f(after)i(asking)e
  536. (for)g(con\014rmation.)0 1859 y Fe(Done)185 b Fj(Chec)o(k)16
  537. b(all)d(\014elds)j(for)e(consistency)m(.)22 b(If)14 b(no)h(problems)f(are)h
  538. (found,)f(the)i(form)d(\014le)i(is)f(written.)22 b(The)15 b(\014le)295
  539. 1909 y(name)d(is)g(tak)o(en)h(from)e(the)i(F)m(orm)e(name)g(button)i(at)f
  540. (the)i(top)e(of)g(the)h(form,)e(with)h Fh(\030)p Ff(/.grok)g
  541. Fj(prep)q(ended)295 1959 y(and)i Ff(.gf)f Fj(app)q(ended)i(if)e(appropriate.)
  542. 0 2044 y Fe(Add)205 b Fj(Adds)18 b(a)g(new)f(\014eld)h(to)f(the)h(card.)30
  543. b(Its)18 b(t)o(yp)q(e,)g(parameters,)g(and)f(p)q(osition)g(on)g(the)h(card)g
  544. (can)o(v)n(as)g(are)295 2094 y(c)o(hosen)i(based)g(on)f(the)h(curren)o(tly)g
  545. (selected)h(card,)f(so)f(it's)g(a)g(go)q(o)q(d)g(idea)f(to)h(select)i(a)e
  546. (\014eld)g(that)g(is)295 2144 y(similar)12 b(to)i(the)h(new)g(one)g(b)q
  547. (efore)g(pressing)g(Add.)k(If)14 b(the)h(card)g(can)o(v)n(as)f(has)h(no)f
  548. (free)h(space)g(b)q(elo)o(w)f(the)295 2193 y(b)q(ottom)i(\014eld,)h(the)h
  549. (new)f(\014eld)g(ma)o(y)e(b)q(e)i(placed)g(under)h(the)g(b)q(ottom)d(\014eld)
  550. i(where)h(it)f(can't)g(b)q(e)g(seen;)295 2243 y(it)e(is)f(generally)h(a)f(go)
  551. q(o)q(d)h(idea)f(to)h(start)g(with)g(a)f(card)h(can)o(v)n(as)g(that)g(is)f
  552. (to)q(o)h(large)f(and)h(resize)h(it)f(to)f(the)295 2293 y(correct)i(size)f
  553. (after)f(all)e(\014elds)j(ha)o(v)o(e)e(b)q(een)i(added)g(and)e(p)q
  554. (ositioned.)0 2378 y Fe(Delete)159 b Fj(Delete)15 b(the)f(curren)o(tly)h
  555. (selected)h(\014eld.)i(There)d(is)f(no)f(Undo)h(function)g(to)g(get)g(it)f
  556. (bac)o(k.)965 2770 y(6)p eop
  557. %%Page: 7 7
  558. 7 6 bop 0 42 a Fk(Expression)23 b(Grammar)0 172 y Fj(Expressions)18
  559. b(are)e(used)h(for)f(queries,)h(for)f(defaults)g(of)g(card)g(items,)g(and)g
  560. (for)f(prin)o(ting)h(expressions)h(in)o(to)f(cards.)26 b(They)0
  561. 221 y(are)14 b(set)h(in)f(Database)f(Edit)h(mo)q(de;)f(a)g(normal)f(user)j
  562. (do)q(es)g(not)e(deal)h(with)g(expressions)h(directly)m(.)0
  563. 307 y(Expressions)e(deal)f(with)g(t)o(w)o(o)f(data)h(t)o(yp)q(es,)g
  564. Fg(strings)j Fj(and)d Fg(numb)n(ers)p Fj(.)17 b(Expressions)c(or)f
  565. (sub-expressions)i(returning)f(strings)0 356 y(are)h(enclosed)g(in)f(braces;)
  566. h(expressions)h(or)e(sub-expressions)i(returning)f(n)o(um)o(b)q(ers)f(are)h
  567. (enclosed)g(in)f(paren)o(theses.)20 b(There)0 406 y(are)12
  568. b(man)o(y)d(built-in)h(op)q(erators)i(and)f(functions;)h(most)e(of)h(them)f
  569. (can)h(b)q(e)h(used)g(only)f(in)g(either)h(string)f(or)g(n)o(umeric)g(con)o
  570. (text.)0 492 y(Num)o(b)q(ers)h(b)q(egin)g(with)f(a)h(n)o(umerical)e(digit)h
  571. (or)h(a)f(p)q(erio)q(d,)h(and)g(are)g(in)g(standard)g(in)o(teger,)g
  572. (\015oating-p)q(oin)o(t,)e(or)i(exp)q(onen)o(tial)0 541 y(notation.)29
  573. b(String)18 b(literals)g(are)g(enclosed)h(in)e(double)h(quotes.)31
  574. b(Con)o(v)o(ersions)18 b(from)e(n)o(um)o(b)q(ers)i(to)g(strings)g(use)h(the)f
  575. Ff(\045g)0 591 y Fj(format)13 b(\(unless)j Ff(printf)d Fj(is)i(used\);)h(con)
  576. o(v)o(ersions)g(from)d(strings)i(to)g(n)o(um)o(b)q(ers)f(skips)i(leading)e
  577. (blanks)g(and)h(con)o(v)o(erts)h(lik)o(e)0 641 y Ff(atof)p
  578. Fj(.)h(T)m(railing)12 b(non-n)o(umeric)h(c)o(haracters)i(are)g(ignored.)0
  579. 726 y(Expressions)f(are)f(in)o(terpreted,)h(not)e(compiled.)k(This)c(means)g
  580. (that)g(all)g(parts)h(of)e(the)j(expression)f(are)g(ev)n(aluated,)f
  581. Ff(?:)p Fj(,)g Ff(&&)p Fj(,)0 776 y(and)i Fh(jj)f Fj(do)g(not)h
  582. (short-circuit.)0 861 y(In)g(the)g(follo)o(wing)e(tables,)h
  583. Fg(n)j Fj(stands)e(for)g(a)f(n)o(um)o(b)q(er)g(ot)h(a)g(n)o(umerical)e
  584. (expression,)j(and)e Fg(s)i Fj(stands)g(for)e(a)h(literal)f(string)h(or)0
  585. 911 y(a)g(string)g(expression.)19 b(Note)14 b(that)g(some)f(op)q(erators,)h
  586. (suc)o(h)h(as)f Ff(==)f Fj(and)h Ff(date)p Fj(,)f(app)q(ear)h(in)f(b)q(oth)h
  587. (con)o(texts.)0 1072 y Fi(Numerical)19 b(Op)r(erations)0 1184
  588. y Fj(Divisions)11 b(b)o(y)h(zero)i(return)f(1.)k(Arithmetic)12
  589. b(op)q(erators)h(use)g(standard)g(C)g(precedences.)21 b(Bit)o(wise)12
  590. b(op)q(erations)h(op)q(erate)g(on)0 1233 y(32)g(bits)h(only)m(.)0
  591. 1310 y Fg(Op)n(er)n(ator)234 b(T)m(yp)n(e)68 b(Op)n(er)n(ation)p
  592. 0 1333 1950 2 v 0 1375 a Ff(\()14 b Fg(n)h Ff(\))298 b Fg(n)130
  593. b Fj(Num)o(b)q(er)0 1425 y Fh(f)14 b Fg(s)g Fh(g)307 b Fg(n)130
  594. b Fj(In)13 b(n)o(um)o(b)q(er)h(con)o(text,)g(con)o(v)o(ert)g(string)g(to)g(a)
  595. g(n)o(um)o(b)q(er)0 1474 y Fg(n)h Ff(?)j Fg(n)e Ff(:)i Fg(n)214
  596. b(n)130 b Fj(If)13 b(the)i(\014rst)f(n)o(um)o(b)q(er)f(is)h(nonzero,)g
  597. (return)h(the)g(second)g(n)o(um)o(b)q(er;)547 1524 y(otherwise,)f(return)h
  598. (the)f(third)g(n)o(um)o(b)q(er)0 1574 y Fg(n)h Ff(,)f Fg(n)297
  599. b(n)130 b Fj(Ev)n(aluate)13 b(b)q(oth)h(n)o(um)o(b)q(ers,)f(return)i(second)0
  600. 1624 y Ff(-)f Fg(n)335 b(n)130 b Fj(Unary)14 b(min)o(us)0 1674
  601. y Ff(!)k Fg(n)331 b(n)130 b Fj(Unary)14 b(b)q(o)q(olean)f(NOT)0
  602. 1724 y Fh(\030)h Fg(n)325 b(n)130 b Fj(Unary)14 b(bit)o(wise)f(NOT)0
  603. 1773 y Fg(n)i Ff(+)f Fg(n)297 b(n)130 b Fj(Add)14 b(t)o(w)o(o)f(n)o(um)o(b)q
  604. (ers)0 1823 y Fg(n)i Ff(-)f Fg(n)297 b(n)130 b Fj(Subtract)14
  605. b(t)o(w)o(o)g(n)o(um)o(b)q(ers)0 1873 y Fg(n)h Ff(*)f Fg(n)297
  606. b(n)130 b Fj(Multiply)12 b(t)o(w)o(o)i(n)o(um)o(b)q(ers)0 1923
  607. y Fg(n)h Ff(/)f Fg(n)297 b(n)130 b Fj(Divide)13 b(t)o(w)o(o)g(n)o(um)o(b)q
  608. (ers)0 1973 y Fg(n)i Ff(\045)f Fg(n)297 b(n)130 b Fj(Calculate)13
  609. b(mo)q(dulo)f(of)h(t)o(w)o(o)g(n)o(um)o(b)q(ers)0 2022 y Fg(n)i
  610. Ff(&)f Fg(n)297 b(n)130 b Fj(Calculate)13 b(bit)o(wise)h(AND)g(of)f(t)o(w)o
  611. (o)g(n)o(um)o(b)q(ers)0 2072 y Fg(n)i Ff(&&)f Fg(n)275 b(n)130
  612. b Fj(Calculate)13 b(b)q(o)q(olean)h(AND)f(of)h(t)o(w)o(o)f(n)o(um)o(b)q(ers)0
  613. 2122 y Fg(n)i Ff(|)f Fg(n)297 b(n)130 b Fj(Calculate)13 b(bit)o(wise)h(OR)f
  614. (of)h(t)o(w)o(o)f(n)o(um)o(b)q(ers)0 2172 y Fg(n)i Ff(||)f
  615. Fg(n)275 b(n)130 b Fj(Calculate)13 b(b)q(o)q(olean)h(OR)f(of)h(t)o(w)o(o)f(n)
  616. o(um)o(b)q(ers)0 2222 y Fg(n)i Fj(^)p Fg(n)312 b(n)130 b Fj(Calculate)13
  617. b(bit)o(wise)h(X)o(OR)f(of)h(t)o(w)o(o)f(n)o(um)o(b)q(ers)0
  618. 2271 y Fg(n)i Ff(<<)f Fg(n)275 b(n)130 b Fj(Calculate)13 b(bit)o(wise)h(left)
  619. f(shift)0 2321 y Fg(n)i Ff(>>)f Fg(n)275 b(n)130 b Fj(Calculate)13
  620. b(bit)o(wise)h(righ)o(t)f(shift)0 2371 y Fg(n)i Ff(==)f Fg(n)275
  621. b(n)130 b Fj(1)13 b(if)g(b)q(oth)h(n)o(um)o(b)q(ers)g(are)g(equal,)f(0)h
  622. (otherwise)0 2421 y Fg(n)h Ff(!=)f Fg(n)275 b(n)130 b Fj(1)13
  623. b(if)g(b)q(oth)h(n)o(um)o(b)q(ers)g(are)g(not)g(equal,)f(0)h(otherwise)0
  624. 2471 y Fg(n)h Ff(<)f Fg(n)297 b(n)130 b Fj(1)13 b(if)g(the)i(\014rst)f(n)o
  625. (um)o(b)q(er)g(is)f(less)i(than)f(the)g(second,)h(0)e(otherwise)0
  626. 2521 y Fg(n)i Ff(>)f Fg(n)297 b(n)130 b Fj(1)13 b(if)g(the)i(\014rst)f(n)o
  627. (um)o(b)q(er)g(is)f(greater)i(than)f(the)h(second,)f(0)g(otherwise)0
  628. 2570 y Fg(n)h Ff(<=)f Fg(n)275 b(n)130 b Fj(1)13 b(if)g(the)i(\014rst)f(n)o
  629. (um)o(b)q(er)g(is)f(less)i(than)f(or)g(equal)f(to)h(the)g(second,)h(0)e
  630. (otherwise)0 2620 y Fg(n)i Ff(>=)f Fg(n)275 b(n)130 b Fj(1)13
  631. b(if)g(the)i(\014rst)f(n)o(um)o(b)q(er)g(is)f(greater)i(than)f(or)g(equal)f
  632. (to)h(the)h(second,)f(0)g(otherwise)0 2670 y Ff(sqrt)21 b(\()14
  633. b Fg(n)h Ff(\))189 b Fg(n)130 b Fj(Square)14 b(ro)q(ot)g(of)f(a)h(n)o(um)o(b)
  634. q(er)965 2770 y(7)p eop
  635. %%Page: 8 8
  636. 8 7 bop 0 42 a Ff(exp)21 b(\()14 b Fg(n)h Ff(\))211 b Fg(n)130
  637. b Fj(Exp)q(onen)o(tial)13 b(function,)g Fd(e)972 26 y Fc(n)0
  638. 91 y Ff(log)21 b(\()14 b Fg(n)h Ff(\))211 b Fg(n)130 b Fj(Decimal)11
  639. b(logarithm,)g(log)962 101 y Fb(10)1004 91 y Fd(n)0 141 y Ff(ln)21
  640. b(\()14 b Fg(n)h Ff(\))233 b Fg(n)130 b Fj(Natural)13 b(logarithm,)e(log)954
  641. 151 y Fc(e)979 141 y Fd(n)0 191 y Ff(pow)21 b(\()14 b Fg(n)h
  642. Fj(,)e Fg(n)j Ff(\))147 b Fg(n)130 b Fj(First)14 b(n)o(um)o(b)q(er)f(raised)h
  643. (to)g(the)g(second,)h Fd(n)1212 176 y Fc(m)0 241 y Ff(sin)21
  644. b(\()14 b Fg(n)h Ff(\))211 b Fg(n)130 b Fj(Sine)14 b(of)f(a)g(n)o(um)o(b)q
  645. (er,)g(sin)7 b Fd(x)0 291 y Ff(cos)21 b(\()14 b Fg(n)h Ff(\))211
  646. b Fg(n)130 b Fj(Cosine)14 b(of)f(a)g(n)o(um)o(b)q(er,)g(cos)8
  647. b Fd(x)0 340 y Ff(tan)21 b(\()14 b Fg(n)h Ff(\))211 b Fg(n)130
  648. b Fj(T)m(angen)o(t)13 b(of)g(a)h(n)o(um)o(b)q(er,)f(tan)6 b
  649. Fd(x)0 390 y Ff(asin)21 b(\()14 b Fg(n)h Ff(\))189 b Fg(n)130
  650. b Fj(Arc)14 b(sine)g(of)g(a)f(n)o(um)o(b)q(er,)g(sin)1005 373
  651. y Fa(\000)p Fb(1)1057 390 y Fd(x)0 440 y Ff(acos)21 b(\()14
  652. b Fg(n)h Ff(\))189 b Fg(n)130 b Fj(Arc)14 b(cosine)h(of)e(a)h(n)o(um)o(b)q
  653. (er,)e(cos)1049 425 y Fa(\000)p Fb(1)1100 440 y Fd(x)0 490
  654. y Ff(atan)21 b(\()14 b Fg(n)h Ff(\))189 b Fg(n)130 b Fj(Arctangen)o(t)14
  655. b(of)g(a)f(n)o(um)o(b)q(er,)g(tan)1068 475 y Fa(\000)p Fb(1)1119
  656. 490 y Fd(x)0 540 y Ff(atan2)21 b(\()13 b Fg(n)j Fj(,)d Fg(n)i
  657. Ff(\))104 b Fg(n)130 b Fj(Quadran)o(t-aligned)13 b(arctangen)o(t)0
  658. 589 y Ff(len)21 b(\()14 b Fg(s)h Ff(\))217 b Fg(n)130 b Fj(Length)14
  659. b(of)f(a)h(string)0 639 y Ff(bound)21 b(\()13 b Fg(n)j Fj(,)d
  660. Fg(n)i Fj(,)f Fg(n)h Ff(\))40 b Fg(n)130 b Fj(The)14 b(\014rst)h(n)o(um)o(b)q
  661. (er)e(b)q(ounded)h(b)o(y)g(a)f(minim)o(um)c(\(second)15 b(n)o(um)o(b)q(er\))f
  662. (and)547 689 y(a)f(maxim)n(um)d(\(third)k(n)o(um)o(b)q(er\))0
  663. 913 y Fi(String)19 b(Op)r(erations)0 1028 y Fj(Note)g(that)g(string)g
  664. (comparisons)e(return)j(strings,)g(and)f(m)o(ust)e(b)q(e)j(enclosed)g(in)e
  665. (braces)i Fh(fg)e Fj(if)g(&&)h(or)g(||)f(or)g(other)0 1078
  666. y(n)o(umerical)12 b(op)q(erators)j(are)f(used)h(on)f(the)g(result.)0
  667. 1157 y Fg(Op)n(er)n(ator)234 b(T)m(yp)n(e)68 b(Op)n(er)n(ation)p
  668. 0 1182 1950 2 v 0 1228 a Fh(f)14 b Fg(s)g Fh(g)307 b Fg(s)136
  669. b Fj(String)0 1278 y Ff(\()14 b Fg(n)h Ff(\))298 b Fg(s)136
  670. b Fj(In)13 b(string)h(con)o(text,)h(con)o(v)o(ert)f(n)o(um)o(b)q(er)f(to)h(a)
  671. g(string)0 1327 y Fg(s)h Ff(;)e Fg(s)310 b(s)136 b Fj(Ev)n(aluate)13
  672. b(b)q(oth)h(strings,)g(return)h(second)0 1377 y Fg(s)g Ff(.)j
  673. Fg(s)305 b(s)136 b Fj(Concatenate)14 b(strings)0 1427 y Fg(s)h
  674. Ff(?)j Fg(s)d Ff(:)j Fg(s)233 b(s)136 b Fj(If)13 b(the)i(n)o(umeric)e(v)n
  675. (alue)g(of)g(the)i(\014rst)f(string)g(is)g(nonzero,)g(return)h(the)g(second)g
  676. (string;)547 1477 y(otherwise,)f(return)h(the)f(third)g(string)0
  677. 1527 y Fg(s)h Ff(==)e Fg(s)288 b(s)136 b Fj(Return)14 b Ff("1")f
  678. Fj(if)g(the)i(t)o(w)o(o)e(strings)h(matc)o(h;)f(otherwise,)h(return)h
  679. Ff("0")0 1577 y Fg(s)g Ff(!=)e Fg(s)288 b(s)136 b Fj(Return)14
  680. b Ff("1")f Fj(if)g(the)i(t)o(w)o(o)e(strings)h(do)g(not)g(matc)o(h;)e
  681. (otherwise,)i(return)i Ff("0")0 1626 y Fg(s)f Ff(<)e Fg(s)310
  682. b(s)136 b Fj(Return)14 b Ff("1")f Fj(if)g(the)i(\014rst)f(string)g(is)g
  683. (lexicographically)e(less)j(than)f(the)g(second)547 1676 y(string;)f
  684. (otherwise,)h(return)h Ff("0")0 1726 y Fg(s)g Ff(>)e Fg(s)310
  685. b(s)136 b Fj(Return)14 b Ff("1")f Fj(if)g(the)i(\014rst)f(string)g(is)g
  686. (lexicographically)e(greater)j(than)f(the)g(second)547 1776
  687. y(string;)f(otherwise,)h(return)h Ff("0")0 1826 y Fg(s)g Ff(<=)e
  688. Fg(s)288 b(s)136 b Fj(Return)14 b Ff("1")f Fj(if)g(the)i(\014rst)f(string)g
  689. (is)g(lexicographically)e(less)j(than)f(or)f(equal)h(to)g(the)547
  690. 1875 y(second)h(string;)e(otherwise,)h(return)h Ff("0")0 1925
  691. y Fg(s)g Ff(>=)e Fg(s)288 b(s)136 b Fj(Return)14 b Ff("1")f
  692. Fj(if)g(the)i(\014rst)f(string)g(is)g(lexicographically)e(greater)j(than)f
  693. (or)g(equal)f(to)547 1975 y(the)h(second)h(string;)f(otherwise,)g(return)h
  694. Ff("0")0 2025 y(chop)21 b(\()14 b Fg(s)g Ff(\))196 b Fg(s)136
  695. b Fj(Return)14 b(the)g(string)g(with)g(the)g(trailing)f(newline,)g(if)g(an)o
  696. (y)m(,)g(remo)o(v)o(ed)0 2075 y Ff(substr)21 b(\()13 b Fg(s)i
  697. Fj(,)e Fg(n)j Fj(,)d Fg(n)i Ff(\))25 b Fg(s)136 b Fj(Return)14
  698. b(a)g(substring)g(of)f(the)i(\014rst)f(string.)19 b(The)14
  699. b(\014rst)h(n)o(um)o(b)q(er)e(is)g(the)i(start)f(index)547
  700. 2124 y(and)f(the)i(second)g(the)f(length.)k(A)c(negativ)o(e)g(index)g(coun)o
  701. (ts)g(from)e(the)j(end.)0 2174 y Ff(printf)21 b(\()13 b Fg(ar)n(gs)h
  702. Ff(\))97 b Fg(s)136 b Fj(F)m(ormat)12 b(and)h(return)i(a)f(string;)f
  703. Fg(ar)n(gs)h Fj(is)g(a)f(comma-separated)f(list)i(of)f(expressions.)547
  704. 2224 y(Comp)q(ound)f(expressions)j(m)o(ust)e(b)q(e)i(enclosed)g(in)e(\()h(\))
  705. g(or)g Fh(f)f(g)p Fj(.)965 2770 y(8)p eop
  706. %%Page: 9 9
  707. 9 8 bop 0 42 a Fi(V)-5 b(ariables)0 146 y Fj(V)m(ariables)11
  708. b(are)i(letters)g Ff(a)f Fj(through)g Ff(z)f Fj(that)h(can)g(hold)g(strings)g
  709. (or)g(n)o(um)o(b)q(ers.)17 b(When)12 b(a)g(v)n(ariable)f(is)h(assigned)g(to,)
  710. g(the)g(result)0 196 y(of)i(the)i(assignmen)o(t)e(is)g(returned.)23
  711. b(All)14 b(v)n(ariables)h(are)g(reset)h(to)f(the)h(empt)o(y)e(string)h(\(or)g
  712. (0\))f(when)i(a)e(database)i(is)e(loaded)0 246 y(from)e(disk.)0
  713. 314 y Fg(Op)n(er)n(ator)234 b(T)m(yp)n(e)68 b(Op)n(er)n(ation)p
  714. 0 334 1950 2 v 0 372 a(var)336 b(s)15 b Fj(,)p Fg(n)86 b Fj(V)m(alue)13
  715. b(of)g(a)h(v)n(ariable)0 422 y Fg(var)g Ff(=)f Fg(s)270 b(s)136
  716. b Fj(Assign)14 b(string)g(v)n(alue)f(to)h(a)f(v)n(ariable)0
  717. 472 y Fg(var)h Ff(=)f Fg(n)264 b(n)130 b Fj(Assign)14 b(n)o(umeric)f(v)n
  718. (alue)g(to)h(a)f(v)n(ariable)0 522 y Fg(var)h Ff(.=)f Fg(s)248
  719. b(s)136 b Fj(App)q(end)14 b(string)g(to)g(a)g(v)n(ariable)0
  720. 571 y Fg(var)g Ff(+=)f Fg(n)242 b(n)130 b Fj(Add)14 b(a)f(n)o(um)o(b)q(er)g
  721. (to)h(a)g(v)n(ariable)0 621 y Fg(var)g Ff(-=)f Fg(n)242 b(n)130
  722. b Fj(Subtract)14 b(a)g(n)o(um)o(b)q(er)f(from)f(a)i(v)n(ariable)0
  723. 671 y Fg(var)g Ff(*=)f Fg(n)242 b(n)130 b Fj(Multiply)12 b(a)i(v)n(ariable)f
  724. (b)o(y)g(a)h(n)o(um)o(b)q(er)0 721 y Fg(var)g Ff(/=)f Fg(n)242
  725. b(n)130 b Fj(Divide)13 b(a)g(v)n(ariable)g(b)o(y)h(a)f(n)o(um)o(b)q(er)0
  726. 771 y Fg(var)h Ff(\045=)f Fg(n)242 b(n)130 b Fj(Assign)14 b(mo)q(dulo)d(with)
  727. j(a)g(n)o(um)o(b)q(er)f(to)g(v)n(ariable)0 820 y Fg(var)h Ff(&=)f
  728. Fg(n)242 b(n)130 b Fj(P)o(erform)12 b(logical)h(AND)g(with)h(a)g(v)n(ariable)
  729. 0 870 y Fg(var)g Ff(|=)f Fg(n)242 b(n)130 b Fj(P)o(erform)12
  730. b(logical)h(OR)g(with)h(a)f(v)n(ariable)0 920 y Fg(var)h Ff(++)278
  731. b Fg(n)130 b Fj(P)o(ost-incremen)o(t)13 b(v)n(ariable)0 970
  732. y Fg(var)h Ff(--)278 b Fg(n)130 b Fj(P)o(ost-decremen)o(t)14
  733. b(v)n(ariable)0 1020 y Ff(++)f Fg(var)279 b(n)130 b Fj(Pre-incremen)o(t)14
  734. b(v)n(ariable)0 1070 y Ff(--)f Fg(var)279 b(n)130 b Fj(Pre-decremen)o(t)15
  735. b(v)n(ariable)0 1257 y Fi(Database)k(Access)0 1362 y Fj(Database)11
  736. b(ro)o(ws)g(\(cards\))i(can)e(b)q(e)h(accessed)h(b)o(y)e(pro)o(viding)f(an)h
  737. (index)g(in)g(brac)o(k)o(ets.)18 b(Without)11 b(brac)o(k)o(ets,)h(the)g
  738. (curren)o(t)g(card)0 1411 y(\()p Ff(this)p Fj(\))j(is)h(assumed.)23
  739. b(Database)16 b(columns)f(are)h(named.)23 b(The)16 b(name)f(m)o(ust)f(alw)o
  740. (a)o(ys)h(b)q(e)i(pre\014xed)g(with)e(an)h(underscore)0 1461
  741. y(\()p 18 1461 13 2 v 15 w(\).)i(In)13 b(place)g(of)g(the)g(name,)f(the)h
  742. (\014eld)g(can)h(b)q(e)f(selected)i(with)e(a)f(column)g(n)o(um)o(b)q(er)g
  743. (\(whic)o(h)h(m)o(ust)f(also)g(b)q(e)i(pre\014xed)g(with)0
  744. 1511 y(an)i(underscore\),)j(b)q(eginning)c(at)h(0.)25 b(Only)16
  745. b(\014elds)h(that)f(store)h(data)f(in)g(the)h(database)g(can)f(b)q(e)h
  746. (accessed)i(\(t)o(yp)q(es)e Fg(Input)p Fj(,)0 1561 y Fg(Time)p
  747. Fj(,)c Fg(Flag)p Fj(,)g(and)h Fg(Choic)n(e)p Fj(\);)f(this)h(excludes)h
  748. (\014elds)g(of)e(t)o(yp)q(e)h Fg(L)n(ab)n(el)k Fj(and)c Fg(Print)p
  749. Fj(.)0 1646 y(The)f Ff(avg)p Fj(,)f Ff(dev)p Fj(,)g Ff(min)p
  750. Fj(,)g Ff(max)p Fj(,)f(and)i Ff(sum)f Fj(op)q(erators)i(di\013er)f(from)e
  751. (all)g(other)j(op)q(erators:)k(they)13 b(don't)g(reference)i(a)d(\014eld)h
  752. (in)f(the)0 1696 y(curren)o(t)i(or)e(an)o(y)h(single)f(card,)g(they)h(op)q
  753. (erate)h(on)e(a)g(\014eld)h(in)f(all)f(cards)j(b)o(y)e(accessing)i(an)e(en)o
  754. (tire)h(column)e(of)h(the)h(database.)0 1781 y(The)k Ff(switch)e
  755. Fj(statemen)o(t)i(is)f(legal)f(only)h(in)g Fg(A)n(ction)h(when)h(pr)n(esse)n
  756. (d)e Fj(expressions)i(for)e(Button-t)o(yp)q(e)i(\014elds)f(in)f(the)h(form)0
  757. 1831 y(editor.)27 b(It)17 b(do)q(es)g(nothing)f(except)i(as)f(action)g(for)f
  758. (a)g(button)h(in)g(a)f(card.)27 b(It)17 b(switc)o(hes)h(grok)e(to)h(a)f(new)i
  759. (form)d(as)h(if)g(the)0 1881 y(Database)f(pulldo)o(wn)f(had)h(b)q(een)i(used)
  760. f(\(see)h(the)f(Editing)e(F)m(orms)g(c)o(hapter)i(for)f(details)g(ab)q(out)h
  761. (the)f(di\013erence)j(b)q(et)o(w)o(een)0 1931 y Fg(datab)n(ases)10
  762. b Fj(and)f Fg(forms)p Fj(.)16 b(The)10 b(\014rst)g(argumen)o(t)e(is)h(the)h
  763. (new)g(form)d(name,)i(the)h(second)g(argumen)o(t)f(is)g(the)h(query)f
  764. (expression)i(or)0 1980 y(searc)o(h)j(string)e(that)g(determines)h(whic)o(h)f
  765. (cards)i(are)e(displa)o(y)o(ed)g(in)g(the)h(summary)d(initially)m(.)15
  766. b(The)d(p)q(ossible)h(com)o(binations)0 2030 y(are:)0 2115
  767. y Ff(search\("",)20 b(""\))83 2165 y Fj(Do)q(es)14 b(nothing.)0
  768. 2250 y Ff(search\("",)20 b("*"\))83 2300 y Fj(Keep)15 b(the)g(curren)o(t)g
  769. (form,)d(and)h(put)h(all)f(cards)i(in)e(the)i(summary)m(.)0
  770. 2385 y Ff(search\("",)20 b(")p Fh(f)p Ff(expr)p Fh(g)p Ff("\))83
  771. 2435 y Fj(Keep)15 b(the)g(curren)o(t)h(form,)c(and)i(put)g(all)f(cards)i(in)e
  772. (the)i(summary)d(for)i(whic)o(h)g Fg(expr)g Fj(returns)h(something)e(other)i
  773. (than)83 2485 y(0)f(or)f(the)i(empt)o(y)e(string.)0 2570 y
  774. Ff(search\("",)20 b("\(expr\)"\))83 2620 y Fj(Equiv)n(alen)o(t)13
  775. b(to)h(the)h(previous,)g(except)g(that)g(the)f(returned)i(string)f(is)f(con)o
  776. (v)o(erted)h(to)f(a)g(n)o(um)o(b)q(er,)f(whic)o(h)i(is)f(c)o(hec)o(k)o(ed)83
  777. 2670 y(for)g(nonzero)g(v)n(alues.)965 2770 y(9)p eop
  778. %%Page: 10 10
  779. 10 9 bop 0 42 a Ff(search\("",)20 b("string"\))83 91 y Fj(Keep)15
  780. b(the)g(curren)o(t)g(form,)d(and)h(put)h(all)f(cards)i(in)e(the)i(summary)c
  781. (whose)k(searc)o(hable)f(\014elds)h(con)o(tain)e Fg(string)p
  782. Fj(.)0 177 y Ff(search\("name",)19 b(""\))83 226 y Fj(Switc)o(h)14
  783. b(to)g(form)e Fg(name)p Fj(,)i(and)f(displa)o(y)g(all)g(cards)i(in)e(the)i
  784. (summary)m(.)0 312 y Ff(search\("name",)k("xxx"\))83 361 y
  785. Fj(Switc)o(h)14 b(to)g(form)e Fg(name)p Fj(,)i(and)f(then)i(p)q(erform)e(a)h
  786. (query)m(.)k Ff(xxx)13 b Fj(stands)i(for)e(an)o(y)h(of)f(the)h(ab)q(o)o(v)o
  787. (e)g(query)g(expressions.)0 447 y(Because)19 b(short-circuiting)e(do)q(esn't)
  788. g(w)o(ork,)g Ff(switch)f Fj(can't)g(dep)q(end)j(on)d(a)h(conditional,)f(but)h
  789. (its)g(t)o(w)o(o)f(argumen)o(ts)g(can.)0 497 y Ff(switch)e
  790. Fj(returns)j(the)f(empt)o(y)f(string,)g(whic)o(h)g(means)g(that)h(the)g
  791. (button)f(w)o(on't)g(execute)i(a)f(command)c(as)k(usual;)f(if)g(this)0
  792. 546 y(is)h(o)o(v)o(erridden)g(b)o(y)f(app)q(ending)h(a)f(semicolon)f(and)i
  793. (another)g(string)g(expression,)h(the)f(command)d(is)j(executed)h(after)f
  794. (the)0 596 y(database)f(switc)o(h.)k(T)m(o)14 b(execute)i(a)e(script)h(b)q
  795. (efore)g(switc)o(hing,)e(prep)q(end)j(a)e Ff(system)f Fj(statemen)o(t)h(and)h
  796. (a)e(semicolon)g(to)h(the)0 646 y Ff(switch)g Fj(statemen)o(t)h(\(the)h
  797. (switc)o(h)f(is)g(done)h(after)f(the)h(expression)g(is)f(completely)f(ev)n
  798. (aluated\).)22 b(T)m(o)15 b(switc)o(h)g(bac)o(k)g(to)g(the)0
  799. 696 y(previous)f(form,)e(use)j(the)f Ff(prevform)e Fj(statemen)o(t.)0
  800. 774 y Fg(Op)n(er)n(ator)234 b(T)m(yp)n(e)68 b(Op)n(er)n(ation)p
  801. 0 799 1950 2 v 3 842 13 2 v 15 842 a(\014eld)305 b(s)15 b Fj(,)p
  802. Fg(n)86 b Fj(A)14 b(\014eld)f(from)g(the)h(database,)g(of)f(curren)o(t)i
  803. (card)p 3 892 V 15 892 a Fg(\014eld)f Ff([)g Fg(n)h Ff(])195
  804. b Fg(s)15 b Fj(,)p Fg(n)86 b Fj(A)14 b(\014eld)f(from)g(the)h(database,)g
  805. (from)e(an)o(y)h(card)0 941 y Ff(this)306 b Fg(n)130 b Fj(The)14
  806. b(n)o(um)o(b)q(er)f(of)g(the)i(curren)o(t)g(card,)f(0)g(is)f(\014rst)0
  807. 991 y Ff(last)306 b Fg(n)130 b Fj(The)14 b(n)o(um)o(b)q(er)f(of)g(the)i(last)
  808. e(card,)h(0)g(is)g(\014rst)0 1041 y Ff(avg)21 b(\()p 125 1041
  809. V 29 w Fg(\014eld)14 b Ff(\))146 b Fg(n)130 b Fj(Av)o(erage)14
  810. b(of)f(a)h(\014eld)g(in)f(all)g(cards)0 1091 y Ff(dev)21 b(\()p
  811. 125 1091 V 29 w Fg(\014eld)14 b Ff(\))146 b Fg(n)130 b Fj(Standard)14
  812. b(deviation)f(of)g(a)g(\014eld)h(in)g(all)e(cards)0 1141 y
  813. Ff(min)21 b(\()p 125 1141 V 29 w Fg(\014eld)14 b Ff(\))146
  814. b Fg(n)130 b Fj(Minim)o(um)10 b(v)n(alue)j(of)g(a)h(\014eld)g(in)f(all)g
  815. (cards)0 1190 y Ff(max)21 b(\()p 125 1190 V 29 w Fg(\014eld)14
  816. b Ff(\))146 b Fg(n)130 b Fj(Maxim)o(um)10 b(v)n(alue)j(of)g(a)h(\014eld)g(in)
  817. f(all)g(cards)0 1240 y Ff(sum)21 b(\()p 125 1240 V 29 w Fg(\014eld)14
  818. b Ff(\))146 b Fg(n)130 b Fj(Sum)12 b(of)h(a)h(\014eld)g(in)f(all)g(cards)0
  819. 1290 y Ff(dbase)284 b Fg(s)136 b Fj(The)14 b(name)f(of)g(the)h(accessed)j
  820. (database)d(\014le)0 1340 y Ff(form)306 b Fg(s)136 b Fj(The)14
  821. b(name)f(of)g(the)h(accessed)j(form)12 b(\014le)0 1390 y Ff(prevform)218
  822. b Fg(s)136 b Fj(The)14 b(name)f(of)g(the)h(previous)h(accessed)h(form)c
  823. (\014le)0 1439 y Ff(switch)21 b(\()13 b Fg(s)i Fj(,)e Fg(s)i
  824. Ff(\))95 b Fg(s)136 b Fj(Database)13 b(switc)o(h)i(and/or)e(query;)h(see)h
  825. (ab)q(o)o(v)o(e)0 1661 y Fi(Op)r(erating)k(System)f(Access)0
  826. 1775 y Fg(Op)n(er)n(ator)234 b(T)m(yp)n(e)68 b(Op)n(er)n(ation)p
  827. 0 1799 1950 2 v 0 1842 a Ff(system)21 b(\()13 b Fg(s)i Ff(\))152
  828. b Fg(s)136 b Fj(Execute)15 b(a)f(shell)f(command)f(and)h(return)i(the)g
  829. (result)g(as)e(a)h(string)0 1892 y Ff($)g Fg(envvar)239 b(s)136
  830. b Fj(Return)14 b(the)g(v)n(alue)g(of)f(the)h(en)o(vironmen)o(t)f(v)n(ariable)
  831. g Fg(envvar)0 1942 y Ff(host)306 b Fg(s)136 b Fj(The)14 b(host)g(name)f(of)g
  832. (the)i(lo)q(cal)e(host)0 1992 y Ff(user)306 b Fg(s)136 b Fj(The)14
  833. b(user's)h(login)d(name)0 2042 y Ff(uid)328 b Fg(n)130 b Fj(The)14
  834. b(user's)h(n)o(umeric)e(user)i(ID)0 2091 y Ff(gid)328 b Fg(n)130
  835. b Fj(The)14 b(user's)h(n)o(umeric)e(group)h(ID)0 2141 y Ff(access)21
  836. b(\()13 b Fg(s)i Fj(,)e Fg(n)j Ff(\))88 b Fg(n)130 b Fj(1)13
  837. b(if)g(the)i(\014le)f(name)e(exists)j(\(if)e(the)i(n)o(um)o(b)q(er)e(is)g
  838. (0\),)h(or)g(if)f(it)g(can)h(b)q(e)h(accessed)547 2191 y(for)e(execution)i
  839. (\(1\),)e(writing)g(\(2\),)h(and/or)f(reading)h(\(4\).)k(See)d(access\(3\).)0
  840. 2241 y Ff(beep)306 b Fg(s)136 b Fj(Ring)12 b(the)j(terminal)d(b)q(ell,)h
  841. (return)i(a)f(n)o(ull)f(string)0 2291 y Ff(error)21 b(\()13
  842. b Fg(ar)n(gs)h Ff(\))119 b Fg(s)136 b Fj(F)m(ormat)12 b(a)h(string)h(lik)o(e)
  843. f(prin)o(tf,)g(prin)o(t)h(it)f(in)h(a)f(windo)o(w,)g(return)i(a)f(n)o(ull)f
  844. (string)954 2770 y(10)p eop
  845. %%Page: 11 11
  846. 11 10 bop 0 42 a Fi(Time)19 b(Con)n(v)n(ersion)0 152 y Fj(Dates)14
  847. b(and)g(times)f(are)i(stored)g(as)f(n)o(um)o(b)q(er)f(of)h(seconds)h(since)g
  848. (Jan)o(uary)f(1,)f(1970.)18 b(Durations)c(are)g(stored)h(as)f(n)o(um)o(b)q
  849. (er)g(of)0 201 y(seconds.)19 b(Note)13 b(that)g(this)g(means)f(thata)g(time)g
  850. (is)g(a)h(signi\014can)o(tly)e(larger)i(n)o(um)o(b)q(er)f(than)h(a)f
  851. (duration,)g(ev)o(en)h(if)f(b)q(oth)h(ha)o(v)o(e)0 251 y(the)h(same)e(hh:mm)e
  852. (string)j(represen)o(tation.)20 b(The)13 b(represen)o(tation)i(dep)q(ends)g
  853. (on)e(the)h(date)f(and)g(time)f(format)f(selected)k(in)0 301
  854. y(the)f(Preferences)j(men)o(u.)0 376 y Fg(Op)n(er)n(ator)234
  855. b(T)m(yp)n(e)68 b(Op)n(er)n(ation)p 0 398 1995 2 v 0 442 a
  856. Ff(time)306 b Fg(s)136 b Fj(The)14 b(curren)o(t)h(time)e(as)h(hh:mm)c(or)k
  857. (hh:mm[a)o(p])d(string)0 491 y Ff(time)21 b(\()14 b Fg(n)h
  858. Ff(\))189 b Fg(s)136 b Fj(Extract)14 b(time)f(part)h(of)f(the)i(n)o(um)o(b)q
  859. (er,)d(and)i(format)e(as)i(hh:mm)d(or)j(hh:mm)o([ap])c(string)0
  860. 541 y Ff(date)306 b Fg(s)136 b Fj(T)m(o)q(da)o(y's)12 b(date)j(as)f(dd.mm)o
  861. (.yy)d(or)i(mm/dd/yy)e(string)0 591 y Ff(date)21 b(\()14 b
  862. Fg(n)h Ff(\))189 b Fg(s)136 b Fj(Extract)14 b(date)h(part)f(of)f(the)h(n)o
  863. (um)o(b)q(er,)f(and)h(format)e(as)i(dd.mm.)o(yy)d(or)j(mm/dd/)o(yy)d(string)0
  864. 641 y Ff(duration)20 b(\()14 b Fg(n)h Ff(\))102 b Fg(s)136
  865. b Fj(Con)o(v)o(ert)14 b(a)f(n)o(um)o(b)q(er)g(of)h(seconds)h(to)f(a)f(hh:mm)e
  866. (string)0 691 y Ff(date)306 b Fg(n)130 b Fj(Curren)o(t)14 b(time)f(in)g
  867. (seconds)j(since)f(Jan)o(uary)e(1,)g(1970)0 740 y Ff(year)21
  868. b(\()14 b Fg(n)h Ff(\))189 b Fg(n)130 b Fj(Extract)14 b(the)h(\(four-digit\))
  869. e(y)o(ear)h(from)e(a)h(time)0 790 y Ff(month)21 b(\()13 b Fg(n)j
  870. Ff(\))167 b Fg(n)130 b Fj(Extract)14 b(the)h(mon)o(th)d(1..12)g(from)g(a)i
  871. (time)0 840 y Ff(day)21 b(\()14 b Fg(n)h Ff(\))211 b Fg(n)130
  872. b Fj(Extract)14 b(the)h(da)o(y)e(1..31)f(from)h(a)g(time)0
  873. 890 y Ff(hour)21 b(\()14 b Fg(n)h Ff(\))189 b Fg(n)130 b Fj(Extract)14
  874. b(the)h(hour)f(0..23)e(from)g(a)i(time)0 940 y Ff(minute)21
  875. b(\()13 b Fg(n)i Ff(\))146 b Fg(n)130 b Fj(Extract)14 b(the)h(min)o(ute)d
  876. (0..59)g(from)h(a)g(time)0 990 y Ff(second)21 b(\()13 b Fg(n)i
  877. Ff(\))146 b Fg(n)130 b Fj(Extract)14 b(the)h(second)g(0..59)d(from)g(a)i
  878. (time)0 1039 y Ff(julian)21 b(\()13 b Fg(n)i Ff(\))146 b Fg(n)130
  879. b Fj(Extract)14 b(the)h(julian)d(date)j(0..365)c(from)i(a)g(time)0
  880. 1089 y Ff(leap)21 b(\()14 b Fg(n)h Ff(\))189 b Fg(n)130 b Fj(1)13
  881. b(if)g(the)i(time)d(is)i(in)f(a)h(leap)g(y)o(ear,)f(or)h(0)g(otherwise)954
  882. 2770 y(11)p eop
  883. %%Page: -1 12
  884. -1 11 bop 0 42 a Fk(Con)n(ten)n(ts)0 206 y Fe(Creating)14 b(and)i(Editing)d
  885. (F)l(orms)1338 b(1)83 268 y Fj(General)14 b(Setup)110 b(.)71
  886. b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)55
  887. b(1)83 330 y(Creating)14 b(a)f(Card)73 b(.)e(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
  888. (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)55 b(2)83 392 y(Buttons)j(.)71
  889. b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
  890. 55 b(6)0 480 y Fe(Expression)14 b(Grammar)1480 b(7)83 542 y
  891. Fj(Numerical)13 b(Op)q(erations)52 b(.)71 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
  892. (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)55 b(7)83 604 y(String)14 b(Op)q(erations)127
  893. b(.)71 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)55
  894. b(8)83 666 y(V)m(ariables)118 b(.)71 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
  895. g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)55 b(9)83 729 y(Database)14
  896. b(Access)69 b(.)i(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
  897. (.)g(.)55 b(9)83 791 y(Op)q(erating)14 b(System)g(Access)75
  898. b(.)c(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)117
  899. b(10)83 853 y(Time)12 b(Con)o(v)o(ersion)60 b(.)71 b(.)g(.)g(.)g(.)g(.)g(.)g
  900. (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)117 b(11)969 2770 y(i)p
  901. eop
  902. %%Trailer
  903. end
  904. userdict /end-hook known{end-hook}if
  905. %%EOF
  906. SHAR_EOF
  907. echo 'File Manual.ps is complete' &&
  908. chmod 0644 Manual.ps ||
  909. echo 'restore of Manual.ps failed'
  910. Wc_c="`wc -c < 'Manual.ps'`"
  911. test 113302 -eq "$Wc_c" ||
  912.     echo 'Manual.ps: original size 113302, current size' "$Wc_c"
  913. rm -f _shar_wnt_.tmp
  914. fi
  915. # ============= Grok.icon ==============
  916. if test -f 'Grok.icon' -a X"$1" != X"-c"; then
  917.     echo 'x - skipping Grok.icon (File already exists)'
  918.     rm -f _shar_wnt_.tmp
  919. else
  920. > _shar_wnt_.tmp
  921. echo 'x - extracting Grok.icon (Binary)'
  922. sed 's/^X//' << 'SHAR_EOF' > _shar_tmp_.tmp &&
  923. begin 600 Grok.icon
  924. M`=H!`0`#`%<`10`#`````````/\`````;F\@;F%M90``````````````````
  925. M````````````````````````````````````````````````````````````
  926. M````````````````````````````!``"``````!$``(`````````````$`8^
  927. M7````````$^)$`8WW!`&.QP`````````````````````````````````````
  928. M````````````````````````````````````````````````````````````
  929. M````````````````````````````````````````````````````````````
  930. M````````````````````````````````````````````````````````````
  931. M````````````````````````````````````````````````````````````
  932. M````````````````````````````````````````````````````````````
  933. M````````````````````````````````````````````````````````````
  934. M````````````````````````````````````````````````````````````
  935. M``````````````````````````AX```)@P``"HX```N;```,I```#:@```ZP
  936. M```/N0``$,(``!''```2RP``$]<``!3F```5\0``%O<``!@#```9"P``&A<`
  937. M`!LA```<*```'2<``!XJ```?(0``("```"$I```B)0``(RT``"0U```E-```
  938. M)C$``"<[```H.```*3X``"I#```K4```+%@``"U@```N8P``+VP``#!U```Q
  939. M@```,HX``#.=```TI0``-;```#:W```WR```.-0``#GC```Z[0``._L``#T$
  940. M```^$@``/R,``$`N``!!.@``0D<``$-6``!$7P``16L``$9U``!'@@``2(H`
  941. M`$F(``!*C```2Y```$R7``!-FP``3I@```C1```)W```"ND```OS```,^```
  942. M#?X```\)```0$```$1P``!(=```3)@``%#(``!4_```61```%T\``!A7```9
  943. M9@``&F\``!M[```<?P``'7L``!Y\```?>0``('8``"%]```B>P``(X,``"2-
  944. M```EAP``)H8``">+```HC```*9(``"J;```KI0``+*T``"VT```NN@``+\<`
  945. SHAR_EOF
  946. true || echo 'restore of Grok.icon failed'
  947. fi
  948. echo 'End of grok part 11'
  949. echo 'File Grok.icon is continued in part 12'
  950. echo 12 > _shar_seq_.tmp
  951. exit 0
  952. -- 
  953.  
  954. --
  955. Thomas Driemeyer       thomas@bitrot.in-berlin.de       voice: +49 30 8924936
  956.                    Schweidnitzer Str. 6, 10709 Berlin
  957.