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é)��~ü