c SHA_TXT.CCT - Convert Shoebox 2.0 settings to Shw database type(s). c c Input: SHA.SET c Output: UPGRADED.TXT (in your user settings folder) c c NOTE: If you choose a change table to convert character codes c as part of the Shoebox Upgrade Settings from DOS procedure, c Shoebox will make those changes after changing file format c using this generic table. c c 1995-08-01 Mark R. Pedrotti (ICS Software Development) c 1996-01-17 MRP: Adapted from SHA_LNG.CCT c 1996-06-06 MRP: Simplified and revised for integrated upgrade procedure c 1996-07-08 MRP: Output a text file from which settings can be copied c 1996-07-11 MRP: Automatically upgrade range sets and filters c August KB: modified for use with SH2CONV.EXE begin > store(box#) '1234567' endstore c box num, don't need 8,9,0 store(omit) use(gMain) define(dEndPrevRangeSet) > if(RangeSet) append(mkrset) '\-mkr' nl nl endif define(dEndPrevFilter) > if(Filter) append(filset) '\-fil' nl nl endif define(dEndfile) > do(dEndPrevRangeSet) do(dEndPrevFilter) endstore nl '\+mkrset' nl nl out(mkrset) '\-mkrset' nl c '\+mkrlstInterlinearLayout' nl c out(mkrlstInterlinearLayout) c '\-mkrlstInterlinearLayout' nl '\+filset' nl nl out(filset) '\-filset' nl '\+template' c nl precedes all fields out(template) nl '\-template' nl '\-DatabaseType' nl endfile c --------------------------------------------------------------- group(gMain) '\+DatabaseType ' > endstore dup '\tp' any(box#) ' \' > append(template) nl '\fld \' '\flt \filt ' > do(dEndPrevFilter) set(Filter) append(filset) '\+fil ' use(gFilterName) '\flt ' > append(filset) use(gFilterElements) '\rng \' > do(dEndPrevRangeSet) set(RangeSet) append(mkrset) '\+mkr ' use(gRangeMarker) '\rng ' > append(mkrset) use(gRestOfLine) '\src ' > store(mkrlstInterlinearLayout) '\mkr ' use(gRestOfLine) '\aln ' > append(mkrlstInterlinearLayout) '\mkr ' use(gAligningLine) nl > '' '\' > store(omit) use(gRestOfLine) endfile > do(dEndfile) c --------------------------------------------------------------- group(gFilterName) ' ' > nl use(gFilterElements) nl > nl use(gMain) c --------------------------------------------------------------- group(gFilterElements) 'and' > next 'And' > next 'AND' > '\fel And' nl 'or' > next 'Or' > next 'OR' > '\fel Or' nl '!' > next 'not' > next 'Not' > next 'NOT' > '\fel Not' nl '(' > '\fel (' nl ')' > '\fel )' nl 'with' > next 'With' > next 'WITH' > '\fel With' nl '[nonunique]' > next '[NonUnique]' > next '[NONUNIQUE]' > next '[non-unique]' > next '[Non-Unique]' > next '[NON-UNIQUE]' > '\fel Non-Unique' nl '[' > use(gLBracket) ' ' > '' nl > use(gMain) c --------------------------------------------------------------- group(gLBracket) 'field|' > next 'Field|' > next 'FIELD|' > '\mkr ' use(gFieldMarker) 'key|' > next 'Key|' > next 'KEY|' > '\mkrRecord' nl '\txt ' use(gText) 'search|' > next 'Search|' > next 'SEARCH|' > '\lngAny' nl '\txt ' use(gText) 'date|' > next 'Date|' > next 'DATE|' > '\mkr ' use(gMarker) '' > '\mkr ' use(gMarker) c --------------------------------------------------------------- group(gFieldMarker) ']' > nl use(gFilterElements) c --------------------------------------------------------------- group(gMarker) '|less|' > next '|Less|' > next '|LESS|' > next '|before|' > next '|Before|' > next '|BEFORE|' > nl '\rel <' nl '\dat ' use(gText) '|equal|' > next '|Equal|' > next '|EQUAL|' > nl '\rel =' nl '\dat ' use(gText) '|greater|' > next '|Greater|' > next '|GREATER|' > next '|after|' > next '|After|' > next '|AFTER|' > nl '\rel >' nl '\dat ' use(gText) '|' > nl '\txt ' use(gText) c some type of problem finding new marker here nl '\' > dup back(1) use(gMain) c --------------------------------------------------------------- group(gText) d174 > '[' c Left meta-char d175 > ']' c Right meta-char ']' > nl use(gFilterElements) c some type of problem finding new marker here nl '\' > dup back(1) use(gMain) c --------------------------------------------------------------- group(gRangeMarker) ' ' > nl '\rngset ' use(gRestOfLine) nl > nl '\rngset ' use(gMain) c --------------------------------------------------------------- group(gAligningLine) ' ' > nl store(omit) use(gRestOfLine) c --------------------------------------------------------------- group(gRestOfLine) nl > dup use(gMain)