set ds(dataFile) @dbdir@/qtcindex.dat

set ds(format) {
    {
	{Year        {4 4}  {}   4   {4 15}}
	{Number      {5 4}  {}   4   {5 15}}
	{@Title01    {7 4}  {}   65  {7 4}}
	{@Page01     {7 75} {}   3   {7 75}}
	{@Title02    {8 4}  {}   65  {8 4}}
	{@Page02     {8 75} {}   3   {8 75}}
	{@Title03    {9 4}  {}   65  {9 4}}
	{@Page03     {9 75} {}   3   {9 75}}
	{@Title04    {10 4}  {}  65  {10 4}}
	{@Page04     {10 75} {}  3   {10 75}}
	{@Title05    {11 4}  {}  65  {11 4}}
	{@Page05     {11 75} {}  3   {11 75}}
	{@Title06    {12 4}  {}  65  {12 4}}
	{@Page06     {12 75} {}  3   {12 75}}
	{@Title07    {13 4}  {}  65  {13 4}}
	{@Page07     {13 75} {}  3   {13 75}}
	{@Title08    {14 4}  {}  65  {14 4}}
	{@Page08     {14 75} {}  3   {14 75}}
	{@Title09    {15 4}  {}  65  {15 4}}
	{@Page09     {15 75} {}  3   {15 75}}
	{@Title10    {16 4}  {}  65  {16 4}}
	{@Page10     {16 75} {}  3   {16 75}}
	{@Title11    {17 4}  {}  65  {17 4}}
	{@Page11     {17 75} {}  3   {17 75}}
	{@Title12    {18 4}  {}  65  {18 4}}
	{@Page12     {18 75} {}  3   {18 75}}
	{@Title13    {19 4}  {}  65  {19 4}}
	{@Page13     {19 75} {}  3   {19 75}}
	{@Title14    {20 4}  {}  65  {20 4}}
	{@Page14     {20 75} {}  3   {20 75}}
	{@Title15    {21 4}  {}  65  {21 4}}
	{@Page15     {21 75} {}  3   {21 75}}
	{@Title16    {22 4}  {}  65  {22 4}}
	{@Page16     {22 75} {}  3   {22 75}}
    } 
    {
	{@Title17    {4 4}   {}  65  {4 4}}
	{@Page17     {4 75}  {}  3   {4 75}}
	{@Title18    {5 4}   {}  65  {5 4}}
	{@Page18     {5 75}  {}  3   {5 75}}
	{@Title19    {6 4}   {}  65  {6 4}}
	{@Page19     {6 75}  {}  3   {6 75}}
	{@Title20    {7 4}   {}  65  {7 4}}
	{@Page20     {7 75}  {}  3   {7 75}}
	{@Title21    {8 4}   {}  65  {8 4}}
	{@Page21     {8 75}  {}  3   {8 75}}
	{@Title22    {9 4}   {}  65  {9 4}}
	{@Page22     {9 75}  {}  3   {9 75}}
	{@Title23    {10 4}  {}  65  {10 4}}
	{@Page23     {10 75} {}  3   {10 75}}
	{@Title24    {11 4}  {}  65  {11 4}}
	{@Page24     {11 75} {}  3   {11 75}}
	{@Title25    {12 4}  {}  65  {12 4}}
	{@Page25     {12 75} {}  3   {12 75}}
	{@Title26    {13 4}  {}  65  {13 4}}
	{@Page26     {13 75} {}  3   {13 75}}
	{@Title27    {14 4}  {}  65  {14 4}}
	{@Page27     {14 75} {}  3   {14 75}}
	{@Title28    {15 4}  {}  65  {15 4}}
	{@Page28     {15 75} {}  3   {15 75}}
	{@Title29    {16 4}  {}  65  {16 4}}
	{@Page29     {16 75} {}  3   {16 75}}
	{@Title30    {17 4}  {}  65  {17 4}}
	{@Page30     {17 75} {}  3   {17 75}}
	{@Title31    {18 4}  {}  65  {18 4}}
	{@Page31     {18 75} {}  3   {18 75}}
	{@Title32    {19 4}  {}  65  {19 4}}
	{@Page32     {19 75} {}  3   {19 75}}
	{@Title33    {20 4}  {}  65  {20 4}}
	{@Page33     {20 75} {}  3   {20 75}}
	{@Title34    {21 4}  {}  65  {21 4}}
	{@Page34     {21 75} {}  3   {21 75}}
	{@Title35    {22 4}  {}  65  {22 4}}
	{@Page35     {22 75} {}  3   {22 75}}
    } 
    {
	{@Title36    {4 4}   {}  65  {4 4}}
	{@Page36     {4 75}  {}  3   {4 75}}
	{@Title37    {5 4}   {}  65  {5 4}}
	{@Page37     {5 75}  {}  3   {5 75}}
	{@Title38    {6 4}   {}  65  {6 4}}
	{@Page38     {6 75}  {}  3   {6 75}}
	{@Title39    {7 4}   {}  65  {7 4}}
	{@Page39     {7 75}  {}  3   {7 75}}
	{@Title40    {8 4}   {}  65  {8 4}}
	{@Page40     {8 75}  {}  3   {8 75}}
    } 
    {
	{@Spec01     {4 4}   {}  65  {4 4}}
	{@Spec02     {5 4}   {}  65  {5 4}}
	{@Spec03     {6 4}   {}  65  {6 4}}
	{@Spec04     {7 4}   {}  65  {7 4}}
	{@Spec05     {8 4}   {}  65  {8 4}}
	{@Spec06     {9 4}   {}  65  {9 4}}
	{@Spec07     {10 4}  {}  65  {10 4}}
	{@Spec08     {11 4}  {}  65  {11 4}}
	{@Spec09     {12 4}  {}  65  {12 4}}
	{@Spec10     {13 4}  {}  65  {13 4}}
    } 
}

#set at(normal) [setattr -fg WHITE -bg BLUE -at BOLD]
#set at(inv) [setattr -fg WHITE -bg BLUE -at BOLD]
#set at(title) [setattr -fg CYAN -bg BLUE -at BOLD]
#set at(entry) [setattr -fg WHITE -bg BLUE -at BOLD]
#set at(prompt) [setattr -fg YELLOW -bg BLUE -at BOLD]
#set at(info) [setattr -fg GREEN -bg BLUE -at BOLD]


set ds(qHelp) {
    {-	    {Previous Page}}
    {+      {Next Page}}
    {p	    {Previous Record}}
    {n	    {Next Record}}
    {<	    {First Record}}
    {>	    {Last Record}}
    {<BS>   {Previous Field}}
    {<TAB>  {Next Field}}
    {<CR>   {Edit Field}}
    {t      {Convert To Title}}
    {u      {Convert To Uppercase}}
    {d	    {Delete Record}}
    {w	    {Write Data}}
    {x	    {Exit Query Mode}}
    {?	    {This Help Page}}
}

set ds(help) {
    {-	    {Previous Page}}
    {+      {Next Page}}
    {<BS>   {Previous Field}}
    {<TAB>  {Next Field}}
    {<CR>   {Edit Field}}
    {t      {Convert To Title}}
    {u      {Convert To Uppercase}}
    {a	    {Add record}}
    {c	    {Clear Fields}}
    {i      {Init Fields}}
    {q	    {Query}}
    {Q	    {Query Current Field}}
    {s	    {Sort Records}}
    {w	    {Write Data}}
    {e	    {Export Data}}
    {x	    {Exit Program}}
    {?	    {This Help Page}}
}


proc dsQuery {} {
    global ds at

    if {! [llength $ds(recs)]} return

    dsSaveFields
    set qFields {}

    if {$ds(f2) != ""} {
	set qFields {2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 \
		38 40 42 44 46 48 50 52 54 56 58 60 62 64 66 68 70 72 74 \
		76 78 80 82 83 84 85 86 87 88 89 90 91}
	set ds(matchRecs) [query2 2 $qFields] 
    } else {
	set empty 1
	for {set i 0} {$i < 2} {incr i} {
	    if {$ds(f$i) != ""} {
		lappend qFields $i
		set empty 0
	    }
	}
	if {$empty} {
	    dsShowResults ds(recs)
	    return [exitQuery]
	}
	set ds(matchRecs) [query $qFields]
    }

    if {! [llength $ds(matchRecs)]} {
	return [exitQuery]
    }
    dsShowResults ds(matchRecs)
    return [exitQuery]
}
.
