$ od -c -N 50000 [qv]<notecards>RELEASE1.2I>library>nchacks.ted!2
0000000 T h e N C H A C K S L i b r
0000020 a r y P a c k a g e \r \r X e r
0000040 o x C o r p o r a t i o n \r \r
0000060 R a n d y T r i g g \r \r \r \r [
0000100 L o c a t i o n : { q v } < n
0000120 o t e c a r d s > r e l e a s e
0000140 1 . 2 i > l i b r a r y > n c h
0000160 a c k s . d c o m ] \r [ F i r s
0000200 t w r i t t e n : 8 / 2 3 /
0000220 8 5 R a n d y T r i g g ] \r
0000240 [ L a s t u p d a t e d : 8
0000260 / 2 7 / 8 5 R a n d y T r i
0000300 g g ] \r \r T h i s d o c u m e
0000320 n t d e s c r i b e s a l
0000340 i b r a r y p a c k a g e c
0000360 o n t a i n i n g m i s c e l
0000400 l a n e o u s h a n d y f u
0000420 n c t i o n s w r i t t e n
0000440 u s i n g t h e p r o g r a
0000460 m m e r ' s i n t e r f a c e
0000500 . I t i s h o p e d t
0000520 h a t y o u w i l l f i n
0000540 d t h e s e u s e f u l n
0000560 o t o n l y f o r t h e i
0000600 r f u n c t i o n a l i t y ,
0000620 b u t a l s o a s e x a
0000640 m p l e s o f t h e s o r
0000660 t o f c o d e t h a t c
0000700 a n b e w r i t t e n u s
0000720 i n g t h e p r o g r a m m
0000740 e r ' s i n t e r f a c e . \r
0000760 \r I e n c o u r a g e a n y
0001000 r e a d e r s w h o h a v
0001020 e c r e a t e d s u c h f
0001040 u n c t i o n s t h e m s e l
0001060 v e s t o s e n d m e t
0001100 h e c o d e a n d a s h
0001120 o r t d e s c r i p t i o n
0001140 a n d I ' l l i n c o r p o
0001160 r a t e i n t o t h i s p
0001200 a c k a g e . \r \r T h e f o l
0001220 l o w i n g f u n c t i o n s
0001240 a r e a p p l i c a b l e
0001260 t o s e t s o f c a r d s
0001300 a n d a l l o w g l o b a
0001320 l s e a r c h i n g , r e p
0001340 l a c i n g , a n d c h a i
0001360 n c r e a t i o n . A l l
0001400 t h e s e f u n c t i o n s
0001420 e x p e c t t h e r e t o
0001440 b e a n o p e n n o t e
0001460 f i l e . I n a d d i t i
0001500 o n , e a c h o f t h e s
0001520 e t a k e s a C a r d s
0001540 a r g u m e n t . T h i s
0001560 s h o u l d b e b o u n d
0001600 t o e i t h e r a s i n g
0001620 l e c a r d I D o r a
0001640 l i s t o f c a r d I D s
0001660 . T o r u n t h e f u
0001700 n c t i o n o v e r a l l
0001720 c a r d s i n t h e n o t
0001740 e f i l e , p a s s t h e
0001760 v a l u e o f ( N C P . A l
0002000 l C a r d s ) a s t h e C
0002020 a r d s a r g u m e n t .
0002040 T o a l l o w u s e r s e
0002060 l e c t i o n o f c a r d s
0002100 , p a s s t h e v a l u e
0002120 o f ( N C P . S e l e c t C
0002140 a r d s ) . \r \r N C H A C K S .
0002160 T e x t S e a r c h ( S t r i
0002200 n g W i l d C a r d s ? C a
0002220 r d s R e t u r n L o c s F l
0002240 g ) \r \r T h i s g o e s t h
0002260 r o u g h t h e C a r d s
0002300 l i s t l o o k i n g f o r
0002320 o c c u r r e n c e s o f
0002340 t e x t s t r i n g S t r i
0002360 n g . W i l d C a r d s ?
0002400 b e i n g n o n - n i l m e
0002420 a n s w i l d c a r d c h
0002440 a r a c t e r s m a y a p p
0002460 e a r i n S t r i n g .
0002500 T h e p o u n d s i g n c
0002520 h a r a c t e r ' # ' m a t
0002540 c h e s a n y s i n g l e
0002560 c h a r a c t e r , a s t e r
0002600 i s k ' * ' m a t c h e s
0002620 a n y s e q u e n c e o f
0002640 c h a r a c t e r s , a n d
0002660 s i n g l e q u o t e , " '
0002700 " c a n b e u s e d t o
0002720 q u o t e o n e o f t h
0002740 e w i l d c a r d c h a r a
0002760 c t e r s . \r \r I f R e t
0003000 u r n L o c s F l g i s n i
0003020 l , t h e n t h i s j u s
0003040 t r e t u r n s a l i s t
0003060 o f c a r d s c o n t a i
0003100 n i n g a t l e a s t o n
0003120 e o c c u r r e n c e o f
0003140 S t r i n g . I f R e t u
0003160 r n L o c s F l g i s n o n
0003200 - n i l , t h e n t h i s
0003220 r e t u r n s a l i s t o
0003240 f l i s t s . E a c h s
0003260 u b l i s t h a s a s f i
0003300 r s t e l e m e n t a c a
0003320 r d I D f o l l o w e d b
0003340 y t h e l o c a t i o n s
0003360 o f o c c u r e n c e s o f
0003400 S t r i n g . T h e s e
0003420 a r e s i n g l e i n t e g
0003440 e r s i f W i l d C a r d s
0003460 ? i s n i l a n d c o r
0003500 r e s p o n d t o t h e l
0003520 o c a t i o n o f t h e f
0003540 i r s t c h a r a c t e r o
0003560 f S t r i n g i n t h e
0003600 t e x t . I f W i l d C a
0003620 r d s ? i s n o n - n i l ,
0003640 t h e n t h e s e a r e
0003660 t w o e l e m e n t l i s t
0003700 s o f s t a r t a n d e
0003720 n d l o c a t i o n s o f
0003740 t h e m a t c h i n g s t r
0003760 i n g . \r \r A n y c a r d s
0004000 i n C a r d s t h a t a r
0004020 e n o t t e x t c a r d s
0004040 a r e i g n o r e d ( i .
0004060 e . t h e i r c a r d t y
0004100 p e m u s t h a v e T E X
0004120 T s u b s t a n c e ) . \r \r N
0004140 C H A C K S . G l o b a l T e x
0004160 t R e p l a c e ( S t r i n g
0004200 1 S t r i n g 2 W i l d C a
0004220 r d s ? C a r d s ) \r \r T h i
0004240 s g o e s t h r o u g h t
0004260 h e C a r d s l i s t r e
0004300 p l a c i n g e v e r y o c
0004320 c u r r e n c e o f t e x t
0004340 s t r i n g S t r i n g 1
0004360 b y S t r i n g 2 . W i l
0004400 d C a r d s ? b e i n g n o
0004420 n - n i l m e a n s w i l d
0004440 c a r d c h a r a c t e r s
0004460 m a y a p p e a r i n S
0004500 t r i n g 1 . T h e p o u
0004520 n d s i g n c h a r a c t e
0004540 r ' # ' m a t c h e s a n
0004560 y s i n g l e c h a r a c t
0004600 e r , a s t e r i s k ' * '
0004620 m a t c h e s a n y s e q
0004640 u e n c e o f c h a r a c t
0004660 e r s , a n d s i n g l e
0004700 q u o t e , " ' " c a n b
0004720 e u s e d t o q u o t e
0004740 o n e o f t h e w i l d c
0004760 a r d c h a r a c t e r s . \r
0005000 \r A n y c a r d s i n C a
0005020 r d s t h a t a r e n o t
0005040 t e x t c a r d s a r e
0005060 i g n o r e d ( i . e . t h
0005100 e i r c a r d t y p e m u
0005120 s t h a v e T E X T s u b
0005140 s t a n c e ) . \r \r N C H A C K
0005160 S . D a t e S e a r c h ( D a
0005200 t e S t r i n g 1 D a t e S t
0005220 r i n g 2 C a r d s ) \r \r T h
0005240 i s g o e s t h r o u g h
0005260 t h e C a r d s l i s t l
0005300 o o k i n g f o r o c c u r
0005320 r e n c e s o f c a r d p
0005340 a r t s m o d i f i e d b e
0005360 t w e e n t h e d a t e s
0005400 D a t e S t r i n g 1 a n d
0005420 D a t e S t r i n g 2 . I f
0005440 D a t e S t r i n g 1 i s
0005460 N I L , t h e n i t d e f
0005500 a u l t s t o a v e r y
0005520 e a r l y d a t e . I f
0005540 D a t e S t r i n g 2 i s N
0005560 I L , t h e n i t d e f a
0005600 u l t s t o c u r r e n t
0005620 d a t e . I f y o u p r
0005640 o v i d e v a l u e s f o r
0005660 e i t h e r D a t e S t r i
0005700 n g 1 o r D a t e S t r i n
0005720 g 2 , t h e y s h o u l d
0005740 b e s t r i n g s i n t h
0005760 e s a m e f o r m a t a s
0006000 t h a t r e t u r n e d b
0006020 y t h e ( D A T E ) f o r
0006040 m a t , i . e . " 1 - J a
0006060 n - 8 5 0 0 : 0 0 : 0 0 " . \r
0006100 \r T h i s r e t u r n s a
0006120 l i s t o f l i s t s , o
0006140 n e s u b l i s t f o r e
0006160 a c h c a r d m o d i f i e
0006200 d b e t w e e n t h e g i
0006220 v e n d a t e s . T h i s
0006240 s u b l i s t c o n s i s t
0006260 s o f t h e c a r d I D
0006300 f o l l o w e d b y t w o
0006320 - e l e m e n t l i s t s c
0006340 o n t a i n i n g t h e c a
0006360 r d p a r t n a m e t h a
0006400 t w a s m o d i f i e d a
0006420 n d t h e d a t e o f l
0006440 a s t m o d i f i c a t i o n
0006460 . F o r e x a m p l e ,
0006500 i f t h e r e w e r e t w
0006520 o h i t s , y o u m i g h
0006540 t g e t s o m e t h i n g
0006560 l i k e ( ( N C 0 0 0 0 1 (
0006600 S U B S T A N C E D A T E " 2
0006620 3 - A u g - 8 5 1 9 : 1 5 : 2
0006640 7 " ) ( T I T L E D A T E "
0006660 2 3 - A u g - 8 5 1 9 : 1 5 :
0006700 4 4 " ) ) ( N C 0 0 0 2 3 ( L
0006720 I N K S D A T E " 2 3 - A u g
0006740 - 8 5 1 9 : 1 6 : 1 6 " ) ) )
0006760 \r \r N C H A C K S . M a k e C h
0007000 a i n ( L i n k T y p e C a
0007020 r d s P o s i t i o n A d d
0007040 C R F l g ) \r \r T h i s c r e
0007060 a t e s l i n k s b e t w e
0007100 e n s u c c e s s i v e c a
0007120 r d s i n C a r d s e a c
0007140 h o f t y p e L i n k T y
0007160 p e p o s i t i o n e d a t
0007200 P o s i t i o n . T h u s
0007220 t h e f i r s t c a r d
0007240 i n C a r d s w i l l b e
0007260 l i n k e d t o t h e s
0007300 e c o n d , t h e s e c o n
0007320 d t o t h e t h i r d ,
0007340 e t c . ( N o l i n k w
0007360 i l l b e b u i l t f r o
0007400 m t h e l a s t c a r d
0007420 i n C a r d s . ) P o s i
0007440 t i o n s h o u l d b e i
0007460 n t h e s a m e f o r m
0007500 a s t h a t a c c e p t e d
0007520 b y N C P . C a r d A d d T
0007540 e x t , i . e . e i t h e r
0007560 a n i n t e g e r l o c a
0007600 t i o n o r o n e o f t
0007620 h e l i t a t o m s S T A R
0007640 T o r E N D . I f t h
0007660 e A d d C R F l g i s n o
0007700 n - n i l a n d P o s i t i
0007720 o n i s o n e o f S T A
0007740 R T o r E N D , t h e n
0007760 a c a r r i a g e r e t u r
0010000 n i s i n s e r t e d a f
0010020 t e r t h e l i n k i c o
0010040 n i n t h e c a s e o f
0010060 S T A R T o r b e f o r e
0010100 t h e l i n k i c o n i
0010120 n t h e c a s e o f E N
0010140 D . \r \r A n y c a r d s i n
0010160 C a r d s t h a t a r e
0010200 n o t t e x t c a r d s a
0010220 r e i g n o r e d ( i . e .
0010240 t h e i r c a r d t y p e
0010260 m u s t h a v e T E X T
0010300 s u b s t a n c e ) . \r \r N C H
0010320 A C K S . R e m o v e D e l e t
0010340 e d I c o n s F r o m T e x t C
0010360 a r d s ( C a r d s ) \r \r T h
0010400 i s r e m o v e s a l l d
0010420 e l e t e d l i n k i c o n
0010440 s f r o m t h e t e x t
0010460 o f t h o s e c a r d s i
0010500 n C a r d s h a v i n g T
0010520 E X T s u b s t a n c e . \r \0
0010540 \0 \0 \0 \0 005 \0 003 \0 \0 \0 \0 \0 \0 \0 \0 \0
0010560 \0 \0 \0 002 001 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0
0010600 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 002 034 \0 \0 \0
0010620 \0 \0 \0 002 001 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0
0010640 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 002 034 \0 \0 \0
0010660 \0 \0 \0 002 003 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0
0010700 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 004 \0 004 \0
0010720 \n T I M E S R O M A N \0 \f \0 \0 \0
0010740 \0 \0 \0 002 \0 \0 \n T I M E S R O M A
0010760 N \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 \n T I M
0011000 E S R O M A N \0 \f \0 \0 \0 \0 \0 \0 \0
0011020 \0 \0 \n T I M E S R O M A N \0 016 \0
0011040 \0 \0 \0 \0 \0 002 \0 \0 \0 \0 \0 \0 002 \0 003 \0
0011060 \0 \0 033 \0 \0 \0 \0 004 \0 \0 \0 001 \0 \0 \0 \0
0011100 003 \0 \0 \0 \0 \0 002 \0 003 \0 \0 \0 001 \0 \0 \0
0011120 \0 003 \0 \0 \0 \0 \0 002 \0 003 \0 \0 \0 022 \0 \0
0011140 \0 \0 003 \0 \0 \0 \0 \0 002 \0 003 \0 \0 \0 001 \0
0011160 \0 \0 \0 003 \0 \0 \0 \0 \0 002 \0 003 \0 \0 \0 \f
0011200 \0 \0 \0 \0 003 \0 \0 \0 \0 \0 002 \0 003 \0 \0 \0
0011220 001 \0 \0 \0 \0 003 \0 \0 \0 \0 \0 002 \0 003 \0 \0
0011240 \0 001 \0 \0 \0 \0 003 \0 \0 \0 \0 \0 002 \0 003 \0
0011260 \0 \0 001 \0 \0 \0 \0 003 \0 \0 \0 \0 \0 002 \0 002
0011300 \0 \0 \0 < \0 \0 \0 \0 002 \0 \0 \0 \0 \0 002 \0
0011320 002 \0 \0 \0 % \0 \0 \0 \0 002 \0 \0 \0 \0 \0 002
0011340 \0 002 \0 \0 \0 # \0 \0 \0 \0 002 \0 \0 \0 001 \0
0011360 \0 \0 \0 003 \0 \0 \0 \0 \0 002 \0 002 \0 \0 \0 001
0011400 \0 \0 \0 \0 003 \0 \0 \0 \0 \0 002 \0 001 \0 \0 001
0011420 + \0 \0 \0 \0 003 \0 \0 \0 \0 \0 002 \0 001 \0 \0
0011440 \0 001 \0 \0 \0 \0 003 \0 \0 \0 \0 \0 002 \0 001 \0
0011460 \0 \0 227 \0 \0 \0 \0 003 \0 \0 \0 \0 \0 002 \0 001
0011500 \0 \0 \0 001 \0 \0 \0 \0 003 \0 \0 \0 \0 \0 002 \0
0011520 001 \0 \0 001 336 \0 \0 \0 \0 003 \0 \0 \0 \0 \0 002
0011540 \0 001 \0 \0 \0 001 \0 \0 \0 \0 003 \0 \0 \0 \0 \0
0011560 002 \0 001 \0 \0 \0 ; \0 \0 \0 \0 001 \0 \0 \0 \0
0011600 \0 002 \0 001 \0 \0 \0 001 \0 \0 \0 \0 003 \0 \0 \0
0011620 \0 \0 002 \0 001 \0 \0 001 U \0 \0 \0 \0 003 \0 \0
0011640 \0 \0 \0 002 \0 001 \0 \0 \0 001 \0 \0 \0 \0 003 \0
0011660 \0 \0 \0 \0 002 \0 001 \0 \0 001 373 \0 \0 \0 \0 003
0011700 \0 \0 \0 \0 \0 002 \0 001 \0 \0 \0 001 \0 \0 \0 \0
0011720 003 \0 \0 \0 \0 \0 002 \0 001 \0 \0 \0 h \0 \0 \0
0011740 \0 003 \0 \0 \0 \0 \0 002 \0 001 \0 \0 \0 001 \0 \0
0011760 \0 \0 003 \0 \0 \0 \0 \0 002 \0 001 \0 \0 \0 = \0
0012000 \0 \0 \0 001 \0 \0 \0 \0 \0 002 \0 001 \0 \0 \0 001
0012020 \0 \0 \0 \0 003 \0 \0 \0 \0 \0 002 \0 001 \0 \0 001
0012040 c \0 \0 \0 \0 003 \0 \0 \0 \0 \0 002 \0 001 \0 \0
0012060 \0 001 \0 \0 \0 \0 003 \0 \0 \0 \0 \0 002 \0 001 \0
0012100 \0 \0 h \0 \0 \0 \0 003 \0 \0 \0 \0 \0 002 \0 001
0012120 \0 \0 \0 001 \0 \0 \0 \0 003 \0 \0 \0 \0 \0 002 \0
0012140 001 \0 \0 \0 3 \0 \0 \0 \0 001 \0 \0 \0 \0 \0 002
0012160 \0 001 \0 \0 \0 001 \0 \0 \0 \0 003 \0 \0 \0 \0 \0
0012200 002 \0 001 \0 \0 001 242 \0 \0 \0 \0 003 \0 \0 \0 \0
0012220 \0 002 \0 001 \0 \0 \0 001 \0 \0 \0 \0 003 \0 \0 \0
0012240 \0 \0 002 \0 001 \0 \0 001 260 \0 \0 \0 \0 003 \0 \0
0012260 \0 \0 \0 002 \0 001 \0 \0 \0 001 \0 \0 \0 \0 003 \0
0012300 \0 \0 \0 \0 002 \0 001 \0 \0 \0 5 \0 \0 \0 \0 001
0012320 \0 \0 \0 \0 \0 002 \0 001 \0 \0 \0 001 \0 \0 \0 \0
0012340 003 \0 \0 \0 \0 \0 002 \0 001 \0 \0 002 ; \0 \0 \0
0012360 \0 003 \0 \0 \0 \0 \0 002 \0 001 \0 \0 \0 001 \0 \0
0012400 \0 \0 003 \0 \0 \0 \0 \0 002 \0 001 \0 \0 \0 h \0
0012420 \0 \0 \0 003 \0 \0 \0 \0 \0 002 \0 001 \0 \0 \0 001
0012440 \0 \0 \0 \0 003 \0 \0 \0 \0 \0 002 \0 001 \0 \0 \0
0012460 0 \0 \0 \0 \0 001 \0 \0 \0 \0 \0 002 \0 001 \0 \0
0012500 \0 001 \0 \0 \0 \0 003 \0 \0 \0 \0 \0 002 \0 001 \0
0012520 \0 \0 a \0 \0 \0 \0 003 \0 \0 \0 \0 \0 002 \0 001
0012540 \0 \0 021 _ \0 a z 271
0012550