DEMO1.MOD 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. MODULE Demo1;
  2. (*
  3. * REPERTOIRE
  4. * Release 1.6
  5. * By Charles Bradford and Cole Brecheen
  6. * (c) Copyright 1985-1990 PMI
  7. * Green Bay, WI
  8. * All rights reserved
  9. * (414) 468-6040
  10. *)
  11. IMPORT ControlUtils;
  12. IMPORT DspFiles;
  13. IMPORT ErrorManager;
  14. IMPORT FramePainter;
  15. IMPORT InputManager;
  16. IMPORT NdxBones;
  17. IMPORT NdxFiles;
  18. IMPORT NdxTypes;
  19. IMPORT PosUtils;
  20. IMPORT Scrn2Ndx;
  21. IMPORT ScrnTypes;
  22. IMPORT ScrnUtl1;
  23. IMPORT ScrnUtl2;
  24. IMPORT VWindows;
  25. IMPORT WindowPrims;
  26. VAR
  27. NdxFile: NdxTypes.NdxFileType;
  28. FrameVar: ScrnTypes.DisplayFrame;
  29. ScreenFile: ScrnTypes.DisplayFile;
  30. NextFrame: ScrnTypes.AFrameName;
  31. RecName: ARRAY [0..19] OF CHAR;
  32. SavedHeight: CARDINAL;
  33. BEGIN
  34. SavedHeight := VWindows.GetCursorHeight(
  35. VWindows.CurrentWindow );
  36. IF NOT NdxBones.OpenNdxFile( NdxFile, 'demo1.ndx' ) THEN
  37. (*If the file doesn't exist, create it.*)
  38. NdxFiles.CreateNdxFile( NdxFile, 'demo1.ndx',
  39. 'RecName, age, job' );
  40. END;
  41. IF NOT DspFiles.OpenDisplayFile( ScreenFile, 'demo1.dsp' ) THEN
  42. ErrorManager.WARN( 'Could not open DEMO1.DSP' );
  43. RETURN;
  44. END;
  45. ScrnTypes.InitDisplayFrame( FrameVar, VWindows.CurrentWindow );
  46. REPEAT
  47. NextFrame := 'NameScrn';
  48. ControlUtils.ReadShowAndCntrl( ScreenFile, FrameVar, NextFrame );
  49. (*This will always display the screen that says
  50. "Enter a record name."*)
  51. IF NOT PosUtils.Equal( NextFrame, ScrnTypes.ProgramExit ) THEN
  52. ScrnUtl1.GetFieldText( FrameVar,
  53. FrameVar^.CurrentField, RecName );
  54. DspFiles.ReadDisplayFrame( ScreenFile, FrameVar, 'EntryScreen' );
  55. IF NOT Scrn2Ndx.FillScr( NdxFile, FrameVar, RecName, '') THEN
  56. ControlUtils.ChangeField( FrameVar, RecName, 'RecName', TRUE );
  57. END;
  58. FramePainter.ShowDisplayFrame( FrameVar, 0, 0, 0, 0 );
  59. InputManager.ControlFrame( FrameVar, 0, '', FALSE, NextFrame );
  60. IF PosUtils.Equal( NextFrame, FrameVar^.normlnext ) THEN
  61. IF NOT Scrn2Ndx.PutScrRec(NdxFile, FrameVar, RecName,'')
  62. THEN HALT(); END;
  63. IF NOT NdxFiles.WriteRecord( NdxFile, RecName )
  64. THEN HALT(); END;
  65. END;
  66. END;
  67. UNTIL PosUtils.Equal( NextFrame, ScrnTypes.ProgramExit );
  68. ScrnUtl2.CloseDisplayFrame( FrameVar );
  69. NdxFiles.CloseNdxFile( NdxFile );
  70. VWindows.ClearPart( VWindows.CurrentWindow, 0, 0,
  71. VWindows.EndCol(VWindows.CurrentWindow),
  72. VWindows.EndRow(VWindows.CurrentWindow) );
  73. VWindows.SetCursorHeight( VWindows.CurrentWindow, SavedHeight );
  74. END Demo1.