CHK.MOD 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131
  1. MODULE Chk;
  2. (*
  3. * ModBase
  4. * Release 3.0
  5. * By Don Fletcher & John McMonagle
  6. * (c) Copyright 1986 - 1991 PMI
  7. * BOX 8402
  8. * Green Bay WI 54308-8402
  9. * All Rights Reserved
  10. *
  11. *)
  12. FROM ModBase3 IMPORT DBFile,InitDBF,OpenDBF,DefaultFixUp;
  13. FROM DBIndxes IMPORT
  14. GoTop, OpenIndex, BuildIndex, DBIndex, NextRecord, PrevRecord,
  15. DisposeIndex,InitIndex,CurrentRec,CurrentKeyCh,CurrentKeyN,NumKeyType;
  16. FROM StrConv IMPORT
  17. CardinalToStr;
  18. FROM EnvironUtils IMPORT ParsedParam;
  19. FROM StringIO IMPORT
  20. ReadStr, WriteStr, WriteEol;
  21. FROM M2Strings IMPORT
  22. Assign, CompareStr,Concat;
  23. FROM BigSets IMPORT InitSet,InSet,InclSet;
  24. FROM Storage IMPORT ALLOCATE, DEALLOCATE;
  25. FROM NumTypes IMPORT Real8;
  26. FROM StrConv IMPORT RealToStr;
  27. IMPORT
  28. InitCompilerMods;
  29. CONST
  30. inp = 0;
  31. outp = 1;
  32. prn = 4;
  33. stderror = 2;
  34. VAR
  35. dbf : DBFile;
  36. ndx : DBIndex;
  37. Name: ARRAY[0..70] OF CHAR;
  38. PROCEDURE NDXChk(VAR ndx:DBIndex);
  39. VAR
  40. KeyStr,LastKey : ARRAY[ 0 .. 127 ] OF CHAR;
  41. str,string :ARRAY[0..127] OF CHAR;
  42. cardrec, Keys :CARDINAL;
  43. CurRec : LONGINT;
  44. ok,
  45. error,
  46. dumbool : BOOLEAN;
  47. set : POINTER TO ARRAY[0..4095] OF BITSET;
  48. BEGIN
  49. NEW( set);
  50. error:=FALSE;
  51. Keys:=1;
  52. InitSet(set^);
  53. GoTop( ndx );
  54. InclSet(set^,VAL(CARDINAL,CurrentRec(ndx)));
  55. CurrentKeyCh( ndx, LastKey );
  56. WHILE NextRecord( ndx, CurRec ) DO
  57. cardrec:=VAL(CARDINAL,CurRec);
  58. CurrentKeyCh(ndx,KeyStr);
  59. IF InSet(set^,cardrec)
  60. THEN
  61. error:=TRUE;
  62. Concat('duplicate entry for ',KeyStr,str);
  63. Concat(str,' record number ',str);
  64. CardinalToStr(cardrec,1,string);
  65. Concat(str,string,str);
  66. WriteEol(outp,str);
  67. ELSE
  68. InclSet(set^,cardrec);
  69. END;
  70. INC(Keys);
  71. IF CompareStr( LastKey, KeyStr ) > 0
  72. THEN
  73. WriteEol(outp,'sort error in index');
  74. error:=TRUE;
  75. (* HALT; *)
  76. END (*QMLB�l�ŰB�Ű“��Q�a���ţ�����)i���˙����o/0O_pO  oO0to/o/�������������������������������������������������������������������������������������������goiq¤–st\[w^ub]_a|}xz  ������������OBJ� SYM� mod;..\sbm2dos\mod� def;..\sbm2dos\def� �               MASM %S/R/MX,%O;�                       WIN�              �������������������������˙˙��˙˙��˙˙��˙˙��˙˙��˙˙��˙˙��˙˙��˙˙��˙˙��˙˙��˙˙��˙˙��˙˙��˙˙��˙˙��˙˙��˙˙��˙˙��˙˙��˙˙��˙˙��˙˙��˙˙��˙˙��˙˙��˙˙��˙˙��˙˙��˙˙��˙˙��˙˙��˙˙��˙˙��˙˙��˙˙��˙˙��˙˙��˙˙��˙˙��˙˙��˙˙��˙˙��˙˙��˙˙��˙˙��˙˙��˙˙��˙˙��˙˙��˙˙��˙˙��˙˙��˙˙��˙˙��˙˙��˙˙��˙˙��˙˙��˙˙��˙˙��˙˙��˙˙��˙˙��˙˙��˙˙��˙˙��˙˙��˙˙��˙˙��˙˙��˙˙��˙˙��˙˙��˙˙��˙˙��˙˙��˙˙��˙˙��˙˙��˙˙��˙˙��˙˙��˙˙��˙˙��˙˙��˙˙��˙˙��˙˙��˙˙��˙˙��˙˙��˙˙��˙˙��˙˙��˙˙��˙˙��˙˙��˙˙��˙˙��˙˙��˙˙��˙˙��˙˙��˙˙��˙˙��˙˙��˙˙��˙˙��˙˙��˙˙��˙˙��˙˙��˙˙��˙˙��˙˙��˙˙��˙˙��˙˙��˙˙��˙˙��˙˙��˙˙��˙˙��˙˙��˙˙��˙˙��˙˙�� �@��������������‘˘Ç�Os2Error€>���tËţ��U‰ĺ]Ë���������������SYSTEM��Os2Error*���"�����ä�������������”Z�ConversiU‰ĺSV6‹��6Ä_
  77. &‹6‹��6;Gvé*�ŠF6‹��6Äw
  78. &‹46‹��6Ä_&��6‹��6Ä_
  79. &˙é �6‹��6Ä_&Ć�^[]Â�U‰ĺ�ě6˙6��6‰.��QSVWÄ^&Ćż'ŠF0ä�‰Füé�ą
  80. �‰ř1Ň÷ń‰Ç˙Nü;~wé��˙wĺ‹F‰Fú¸�Fü‰Fţé�¸ �PčD˙˙Fţué�‹Fţ;Fúvé€~�ué�¸-�Pč$˙é"�‹F1Ň÷÷ą
  81. �1Ň÷ń‰Đ0�Pč
  82. ˙ą
  83. �‰ř1Ň÷ń‰Ç�˙�wŮÄ^
  84. &‹;Fvé �Äv
  85. &‹4Ä^&Ć��_^[Y6Ź��‰ě]Ę�U‰ĺS˙v˙v¸��P˙v˙v˙v˙v ˙v
  86. ˙v˙vč˙[]Ę�U‰ĺQS±��~�|é
  87. �‹F÷؉F±˙v˙vQ˙v˙v˙v˙v ˙v
  88. ˙v˙včĆţ[Y]Ę�U‰ĺPQSVÄ^
  89. &Ç��Ä^&Ć�é|�Äv&‹4Ä^&Š��F˙€~˙0sé[�€~˙9véR�Ä^
  90. &�?™vé�Ä^
  91. &�?™té�€~˙6sé
  92. �Ä^&Ć�é<�Ä^
  93. ą
  94. �&‹÷áŠV˙0öĐ-0�Ä^
  95. &‰Ä^&Ćé�é�Ä^&˙Ä^&‹;Fwév˙^[Y]]Ę�U‰ĺPQSVWż��Ä^&Ç��ĆFţ�é“�Ä^
  96. &Š�F˙G€~˙0séT�€~˙9véK�Ä^&�?™vé�Ä^&�?™té�€~˙6sé�¸��é[�ĆFţÄ^ą
  97. �&‹÷áŠV˙0öĐ-0�Ä^&‰é,�€~˙�té �ŠFţ´�é(�é�€~˙ té �€~ţ�ué�¸��é �;~wée˙ŠFţ´�_^[Y]]Ę
  98. �U‰ĺPQSV±�Ä^&‹;Fvé5�Äv&‹4Ä^&€8-té �Ä^&˙±é�Äv&‹4Ä^&€8+té�Ä^&˙˙v˙v˙v˙v˙vŤFţP˙v˙vč(ţÄ^&€?�uéG�€ů�ué"��~ţ�€vé�‹Fţ÷ŘÄ^
  99. &‰é�Ä^&Ć�é��~ţ�€ré �‹FţÄ^
  100. &‰é�Ä^&Ć�^[Y]]Ę�U‰ĺ�ěQSVWĆFű�ĆFý�ĆFü8ż��ÇFţ��éž�‹vţÄ^
  101. &Š˙Fţ€ů0sé?�€ů9vé7��˙Ě vé��˙Ě té�:Nüsé�¸��éŽ�ĆFű¸
  102. �÷ç0í‰ĘĐ-0�‰ÇéK�€ů�té�ÇFţ˙˙é;�€~ű�té,�€ů-té �ĆFýĆFü9é�€ů+ué�€ů ué�¸��é5�é�¸��é,�‹Fţ;FwéW˙€~ý�ué �‰ř÷ŘÄ^&‰é�Ä^&‰?ŠFű´�_^[Y‰ě]Ę
  103. �€>���tËţ��U‰ĺ]Ë�����������SYSTEM��ConversiHP��H|��HĽ��H*��(g��(ď��î��ć���� ������������e[§�LongConv0123456789ABCDEFU‰ĺ�ěQSVWÄ^&ĆÄ^
  104. &Ç��&ÇG��ĆFţ�Ä^&‹;Fvé4�Äv&‹4Ä^&Š��F˙€~˙+té �Ä^&˙é�€~˙-té
  105. �Ä^&˙ĆFţÄ^&‹;Fwé�éŃ�Äv&‹4Ä^&Š��F˙€~˙0sé �€~˙9wé�é­�ŠF˙0äş��-0��Ú�‰Fú‰VüÄ^
  106. &�Ě }é�~é9�&�?ĚĚvé/�Ä^
  107. &�Ě té+�&�?ĚĚté!��~ü�~é�}é��~úwé
  108. �Ä^&Ć�ég�ŠF˙0ä-0�‰Á»��¸
  109. �ş��RPÄv
  110. &˙t&˙4š����‰×‰Ć‰Č‰ÚđúÄ^
  111. &‰&‰WÄ^&˙é˙€~ţ�ué�Ä^
  112. &‹&‹W÷Ř�Ň�÷ÚÄ^
  113. &‰&‰W_^[Y‰ě]Ę�U‰ĺ�ěQSVWĆFř�ĆFű�ĆFů8ÇFü��ÇFţ��ż��éŘ�Ä^
  114. &Š�FúG€~ú0séx�€~ú9véo��~ţĚ sé�vé)��~ü