home *** CD-ROM | disk | FTP | other *** search
/ TOS Silver 2000 / TOS Silver 2000.iso / programm / MM2_DEV / S / GEM / EASYGEM1.I < prev    next >
Encoding:
Text File  |  1991-03-27  |  4.2 KB  |  3 lines

  1. ⓪ IMPLEMENTATION MODULE EasyGEM1;
  2. ⓪ (*$R-*)
  3. ⓪ (*$Y- wichtig, damit jeder Prozeß seine eigenen Vars hat! *)
  4. ⓪ 
  5. ⓪ (*  System              : Megamax Modula-2 (MOS 2.0)
  6. ⓪!*  Autor & Copyright   : Thomas Tempelmann
  7. ⓪!*  Vertrieb            : Application Systems Heidelberg
  8. ⓪!*  Version             : 1.0
  9. ⓪!*
  10. ⓪!* 03.11.90 TT  SelectFile: wenn ABBRUCH gewählt, bleibt 's' leer
  11. ⓪!* 07.12.90 TT  $Y-
  12. ⓪!* 08.12.90 TT  Änderung vom 3.11. wieder weg.
  13. ⓪!* 17.12.90 TT  SelectFile: GemInit immer, aber GemHandle wird gerettet
  14. ⓪!* 19.02.91 TT  SelectFile: GemHandle wird nun korrekt gerettet/restauriert
  15. ⓪!* 27.03.91 TT  SelectFile: Bei "Abbruch" liefert 'ok' wieder FALSE
  16. ⓪!*)
  17. ⓪ 
  18. ⓪ FROM MOSGlobals IMPORT SfxStr, FileStr;
  19. ⓪ 
  20. ⓪ FROM AESMisc IMPORT ShellEnvironment, ReadScrapDir, WriteScrapDir;
  21. ⓪ 
  22. ⓪ IMPORT MOSGlobals, Directory, Strings, FastStrings, FileNames, GEMEnv,
  23. ⓪'PathEnv;
  24. ⓪ 
  25. ⓪ 
  26. ⓪ CONST ClipEnv  = 'CLIPBRD';
  27. ⓪&ClipName = '\CLIPBRD';
  28. ⓪ 
  29. ⓪ 
  30. ⓪ PROCEDURE SelectFile (titel: ARRAY OF CHAR;
  31. ⓪6VAR s: ARRAY OF CHAR; VAR ok: BOOLEAN);
  32. ⓪"VAR oldGemHdl: GEMEnv.GemHandle;
  33. ⓪&ok2: BOOLEAN;
  34. ⓪&ior: INTEGER;
  35. ⓪&path: ARRAY [0..127] OF CHAR;
  36. ⓪&name, dummy: ARRAY [0..11] OF CHAR;
  37. ⓪"BEGIN
  38. ⓪$oldGemHdl:= GEMEnv.CurrGemHandle ();
  39. ⓪$GEMEnv.InitApplication (ok);
  40. ⓪$IF ok THEN
  41. ⓪&FileNames.SplitPath (s, path, name);
  42. ⓪&IF path[0] # 0C THEN
  43. ⓪(FastStrings.Assign (path, SelectMask)
  44. ⓪&END;
  45. ⓪&Directory.MakeFullPath (SelectMask, ior);
  46. ⓪&IF ior < 0 THEN
  47. ⓪(Directory.GetDefaultPath (SelectMask);
  48. ⓪&END;
  49. ⓪&IF Strings.Length (FileNames.FileName (SelectMask)) = 0 THEN
  50. ⓪(Strings.Append ('*.*', SelectMask, ok);
  51. ⓪&END;
  52. ⓪&PathEnv.SelectFile (titel, SelectMask, name, ok);
  53. ⓪&IF ok THEN
  54. ⓪(FileNames.SplitPath (SelectMask, s, dummy);
  55. ⓪(FastStrings.Append (name, s);
  56. ⓪&END;
  57. ⓪&GEMEnv.ExitApplication;
  58. ⓪&GEMEnv.SetCurrGemHandle (oldGemHdl, ok2)
  59. ⓪$END;
  60. ⓪"END SelectFile;
  61. ⓪ 
  62. ⓪ 
  63. ⓪ VAR ok: BOOLEAN;
  64. ⓪ 
  65. ⓪ PROCEDURE getPath (VAR name: ARRAY OF CHAR; createNew: BOOLEAN): BOOLEAN;
  66. ⓪ 
  67. ⓪"VAR res: INTEGER;
  68. ⓪&drvs: MOSGlobals.DriveSet;
  69. ⓪&drv: [MOSGlobals.drvA..MOSGlobals.drvP];
  70. ⓪ 
  71. ⓪"PROCEDURE makeDir (): BOOLEAN;
  72. ⓪$BEGIN
  73. ⓪&IF NOT Directory.PathExists (FileNames.PathValidated (name)) THEN
  74. ⓪(IF createNew THEN
  75. ⓪*Directory.CreateDir (name, res);
  76. ⓪*RETURN res >= 0
  77. ⓪(ELSE
  78. ⓪*RETURN FALSE
  79. ⓪(END
  80. ⓪&END;
  81. ⓪&RETURN TRUE
  82. ⓪$END makeDir;
  83. ⓪ 
  84. ⓪"PROCEDURE makeDirOnDrv (drv: MOSGlobals.Drive): BOOLEAN;
  85. ⓪$BEGIN
  86. ⓪&Strings.Concat (FileNames.DriveToStr (drv), ClipName, name, ok);
  87. ⓪&RETURN makeDir ()
  88. ⓪$END makeDirOnDrv;
  89. ⓪ 
  90. ⓪"BEGIN
  91. ⓪$ReadScrapDir (name);
  92. ⓪$IF name [0] = 0C THEN
  93. ⓪&ShellEnvironment (ClipEnv, name);
  94. ⓪$END;
  95. ⓪$IF (name [0] # 0C) AND makeDir () THEN
  96. ⓪&RETURN TRUE
  97. ⓪$END;
  98. ⓪$drvs:= Directory.DrivesOnline ();
  99. ⓪$FOR drv:= MOSGlobals.drvC TO MOSGlobals.drvP DO
  100. ⓪&IF drv IN drvs THEN
  101. ⓪(IF makeDirOnDrv (drv) THEN
  102. ⓪*RETURN TRUE
  103. ⓪(END
  104. ⓪&END
  105. ⓪$END;
  106. ⓪$RETURN makeDirOnDrv (MOSGlobals.drvA)
  107. ⓪"END getPath;
  108. ⓪ 
  109. ⓪ PROCEDURE MakeScrapName (suffix: SfxStr; VAR name: ARRAY OF CHAR);
  110. ⓪"BEGIN
  111. ⓪$IF getPath (name, TRUE) THEN
  112. ⓪&FileNames.ValidatePath (name);
  113. ⓪&WriteScrapDir (name);
  114. ⓪&Strings.Append ('SCRAP.', name, ok);
  115. ⓪&Strings.Append (suffix, name, ok);
  116. ⓪$ELSE
  117. ⓪&name [0]:= 0C;
  118. ⓪&WriteScrapDir ('');
  119. ⓪$END;
  120. ⓪"END MakeScrapName;
  121. ⓪ 
  122. ⓪ 
  123. ⓪ (*$J-*)
  124. ⓪ PROCEDURE delete (REF path: ARRAY OF CHAR; entry: Directory.DirEntry): BOOLEAN;
  125. ⓪ (*$J=*)
  126. ⓪"VAR res: INTEGER;
  127. ⓪"BEGIN
  128. ⓪$Directory.Delete (FileNames.PathConc (path, entry.name), res);
  129. ⓪$RETURN res >= 0
  130. ⓪"END delete;
  131. ⓪ 
  132. ⓪ PROCEDURE ClearScrap;
  133. ⓪"VAR res: INTEGER;
  134. ⓪"VAR name: FileStr;
  135. ⓪"BEGIN
  136. ⓪$IF getPath (name, FALSE) THEN
  137. ⓪&FileNames.ValidatePath (name);
  138. ⓪&WriteScrapDir (name);
  139. ⓪&Strings.Append ('SCRAP.*', name, ok);
  140. ⓪&Directory.DirQuery (name, Directory.QueryFiles, delete, res);
  141. ⓪$END
  142. ⓪"END ClearScrap;
  143. ⓪ 
  144. ⓪ END EasyGEM1.
  145. ⓪ ə
  146. (* $00000749$FFE9F4E3$FFE9F4E3$FFE9F4E3$FFE9F4E3$FFE9F4E3$FFE9F4E3$FFE9F4E3$FFE9F4E3$FFE9F4E3$FFE9F4E3$FFE9F4E3$FFE9F4E3$FFE9F4E3$FFE9F4E3$FFEA1AAE$FFE9F4E3$FFE9F4E3$FFE9F4E3$FFE9F4E3$FFE9F4E3$FFE9F4E3$FFE9F4E3$FFE9F4E3$FFE9F4E3$FFE9F4E3$FFE9F4E3$FFE9F4E3$FFE9F4E3$FFE9F4E3$FFE9F4E3$FFE9F4E3$FFE9F4E3$FFE9F4E3$FFE9F4E3$FFE9F4E3$FFE9F4E3$FFE9F4E3$FFE9F4E3$FFE9F4E3$FFE9F4E3$FFE9F4E3Ç$00000291T.......T.......T.......T.......T.......T.......T.......T.......T.......T.......$FFF2415C$00000291$FFF2415C$00000426$00000706$0000024F$00000291$0000026F$00000291$000004E4$FFF2415C$00000404$000004B5$0000024F$00000259$FFF2415CñÇé*)
  147.