LOGICINP.MOD 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. IMPLEMENTATION MODULE LogicInput;
  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/logicinp.mov 1.5 10 Mar 1991 15:29:10 coleb $
  12. *
  13. *)
  14. IMPORT ListUtils;
  15. IMPORT ScrnTypes;
  16. IMPORT ScrnUtl1;
  17. IMPORT StrLogic;
  18. VAR
  19. Initialized : BOOLEAN;
  20. PROCEDURE Init();
  21. BEGIN
  22. IF Initialized THEN
  23. RETURN;
  24. ELSE
  25. Initialized := TRUE;
  26. END;
  27. ListUtils.Init();
  28. ScrnTypes.Init();
  29. ScrnUtl1.Init();
  30. StrLogic.Init();
  31. END Init;
  32. PROCEDURE WhatTheySaid(VAR TheFrame : ScrnTypes.DisplayFrame; FieldName :
  33. ARRAY OF CHAR) : CARDINAL;
  34. VAR
  35. ExprString: ARRAY [0..511] OF CHAR;
  36. TmpStr: ARRAY [0..79] OF CHAR;
  37. FieldNumber : CARDINAL;
  38. BEGIN
  39. IF FieldName[0] # 0C THEN
  40. FieldNumber := ScrnUtl1.FieldNum( TheFrame, FieldName );
  41. ELSE
  42. FieldNumber := TheFrame^.CurrentField;
  43. END;
  44. ScrnUtl1.GetFieldText( TheFrame, FieldNumber, TmpStr );
  45. ListUtils.ListToString( TheFrame^.DataList, ExprString );
  46. RETURN (StrLogic.ExpressionTest( TmpStr, ExprString));
  47. END WhatTheySaid;
  48. BEGIN
  49. Initialized := FALSE;
  50. Init();
  51. END LogicInput.