ERRORNAM.MOD 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131
  1. IMPLEMENTATION MODULE ErrorNames;
  2. (*
  3. * REPERTOIRE
  4. * Release 1.6
  5. * By Charles Bradford and Cole Brecheen
  6. * (c) Copyright 1985-1992 PMI
  7. * Green Bay, Wisconsin
  8. * All rights reserved
  9. * (414) 468-6040
  10. *
  11. * $Header: D:/logfiles/mods/errornam.mov 1.7 10 Mar 1991 15:27:18 coleb $
  12. *
  13. *)
  14. (*EntryDiag:
  15. IMPORT Diagnostics;
  16. :EntryDiag*)
  17. IMPORT ErrorManager;
  18. IMPORT GenLists;
  19. IMPORT KbdInput;
  20. IMPORT ListUtils;
  21. IMPORT LowLevel;
  22. IMPORT M2Strings;
  23. IMPORT StrEdit;
  24. IMPORT StringIO;
  25. IMPORT SYSTEM;
  26. IMPORT VWindows;
  27. VAR
  28. Initialized : BOOLEAN;
  29. CONST
  30. LabelTerminator = ':';
  31. VAR
  32. ErrorMsgList: GenLists.GenList;
  33. PROCEDURE WarningName( TheName: ARRAY OF CHAR );
  34. VAR
  35. ListEnd, ListSpot, TypeCode, KeyHit, StrSpot: CARDINAL;
  36. LabelStr, MsgFileName: ARRAY [0..79] OF CHAR;
  37. str,MsgStr : ARRAY [0..255] OF CHAR;
  38. BEGIN
  39. StrEdit.SetLength( MsgStr, 0 );
  40. IF NOT GenLists.Initialized( ErrorMsgList ) THEN
  41. MsgFileName := 'rprtoire.msg';
  42. GenLists.NewList( ErrorMsgList );
  43. IF ListUtils.TextFileToList( MsgFileName, ErrorMsgList )
  44. # StringIO.NoError THEN
  45. StrEdit.AssignStr(
  46. " can't load RPRTOIRE.MSG file to expand this message.",
  47. MsgStr );
  48. END;
  49. END;
  50. M2Strings.Assign( TheName, LabelStr );
  51. IF LabelStr[ M2Strings.Length(LabelStr) ] # LabelTerminator THEN
  52. StrEdit.Append( LabelStr, LabelTerminator );
  53. END;
  54. IF GenLists.Initialized(ErrorMsgList) THEN
  55. ListEnd := GenLists.ListLength(ErrorMsgList);
  56. ListSpot := GenLists.ScanList( LabelStr, ErrorMsgList, 1,
  57. ListEnd, StrSpot);
  58. IF (ListSpot = 0) OR (StrSpot > 0) THEN
  59. StrEdit.AssignStr( " Your RPRTOIRE.MSG file is out of date.",
  60. MsgStr );
  61. ELSE
  62. GenLists.GetElmt( ErrorMsgList, ListSpot, MsgStr,
  63. TypeCode );
  64. LOOP
  65. (* Now we keep copying from ErrorMsgList until we find
  66. a line that starts with LabelTerminator; allows
  67. messages to occupy more than one line.*)
  68. INC( ListSpot );
  69. GenLists.GetElmt( ErrorMsgList, ListSpot, str,
  70. TypeCode );
  71. IF LowLevel.ScanEQ( HIGH(str), LabelTerminator, SYSTEM.ADR(str) ) <
  72. INTEGER(M2Strings.Length(str)) THEN
  73. EXIT
  74. ELSE
  75. StrEdit.Append(MsgStr,str);
  76. END;
  77. END;
  78. ErrorManager.WARN(MsgStr);
  79. RETURN;
  80. END;
  81. END;
  82. StrEdit.Append( MsgStr, " Please contact developer" );
  83. M2Strings.Insert( LabelStr, MsgStr, 0 );
  84. ErrorManager.WARN( MsgStr );
  85. END WarningName;
  86. PROCEDURE Init();
  87. BEGIN
  88. IF Initialized THEN
  89. RETURN;
  90. ELSE
  91. Initialized := TRUE;
  92. END;
  93. (*EntryDiag:
  94. Diagnostics.Init();
  95. :EntryDiag*)
  96. ErrorManager.Init();
  97. GenLists.Init();
  98. KbdInput.Init();
  99. ListUtils.Init();
  100. LowLevel.Init();
  101. M2Strings.Init();
  102. StrEdit.Init();
  103. StringIO.Init();
  104. VWindows.Init();
  105. (*EntryDiag:
  106. Diagnostics.diagS( 'Entering ErrorNames', '' );
  107. :EntryDiag*)
  108. GenLists.NilList( ErrorMsgList );
  109. (*EntryDiag:
  110. Diagnostics.diagS( 'Exiting ErrorNames', '' );
  111. :EntryDiag*)
  112. END Init;
  113. BEGIN
  114. Initialized := FALSE;
  115. Init();
  116. END ErrorNames.