home *** CD-ROM | disk | FTP | other *** search
- ⓪ IMPLEMENTATION MODULE EasyGEM1;
- ⓪ (*$R-*)
- ⓪ (*$Y- wichtig, damit jeder Prozeß seine eigenen Vars hat! *)
- ⓪
- ⓪ (* System : Megamax Modula-2 (MOS 2.0)
- ⓪!* Autor & Copyright : Thomas Tempelmann
- ⓪!* Vertrieb : Application Systems Heidelberg
- ⓪!* Version : 1.0
- ⓪!*
- ⓪!* 03.11.90 TT SelectFile: wenn ABBRUCH gewählt, bleibt 's' leer
- ⓪!* 07.12.90 TT $Y-
- ⓪!* 08.12.90 TT Änderung vom 3.11. wieder weg.
- ⓪!* 17.12.90 TT SelectFile: GemInit immer, aber GemHandle wird gerettet
- ⓪!* 19.02.91 TT SelectFile: GemHandle wird nun korrekt gerettet/restauriert
- ⓪!* 27.03.91 TT SelectFile: Bei "Abbruch" liefert 'ok' wieder FALSE
- ⓪!*)
- ⓪
- ⓪ FROM MOSGlobals IMPORT SfxStr, FileStr;
- ⓪
- ⓪ FROM AESMisc IMPORT ShellEnvironment, ReadScrapDir, WriteScrapDir;
- ⓪
- ⓪ IMPORT MOSGlobals, Directory, Strings, FastStrings, FileNames, GEMEnv,
- ⓪'PathEnv;
- ⓪
- ⓪
- ⓪ CONST ClipEnv = 'CLIPBRD';
- ⓪&ClipName = '\CLIPBRD';
- ⓪
- ⓪
- ⓪ PROCEDURE SelectFile (titel: ARRAY OF CHAR;
- ⓪6VAR s: ARRAY OF CHAR; VAR ok: BOOLEAN);
- ⓪"VAR oldGemHdl: GEMEnv.GemHandle;
- ⓪&ok2: BOOLEAN;
- ⓪&ior: INTEGER;
- ⓪&path: ARRAY [0..127] OF CHAR;
- ⓪&name, dummy: ARRAY [0..11] OF CHAR;
- ⓪"BEGIN
- ⓪$oldGemHdl:= GEMEnv.CurrGemHandle ();
- ⓪$GEMEnv.InitApplication (ok);
- ⓪$IF ok THEN
- ⓪&FileNames.SplitPath (s, path, name);
- ⓪&IF path[0] # 0C THEN
- ⓪(FastStrings.Assign (path, SelectMask)
- ⓪&END;
- ⓪&Directory.MakeFullPath (SelectMask, ior);
- ⓪&IF ior < 0 THEN
- ⓪(Directory.GetDefaultPath (SelectMask);
- ⓪&END;
- ⓪&IF Strings.Length (FileNames.FileName (SelectMask)) = 0 THEN
- ⓪(Strings.Append ('*.*', SelectMask, ok);
- ⓪&END;
- ⓪&PathEnv.SelectFile (titel, SelectMask, name, ok);
- ⓪&IF ok THEN
- ⓪(FileNames.SplitPath (SelectMask, s, dummy);
- ⓪(FastStrings.Append (name, s);
- ⓪&END;
- ⓪&GEMEnv.ExitApplication;
- ⓪&GEMEnv.SetCurrGemHandle (oldGemHdl, ok2)
- ⓪$END;
- ⓪"END SelectFile;
- ⓪
- ⓪
- ⓪ VAR ok: BOOLEAN;
- ⓪
- ⓪ PROCEDURE getPath (VAR name: ARRAY OF CHAR; createNew: BOOLEAN): BOOLEAN;
- ⓪
- ⓪"VAR res: INTEGER;
- ⓪&drvs: MOSGlobals.DriveSet;
- ⓪&drv: [MOSGlobals.drvA..MOSGlobals.drvP];
- ⓪
- ⓪"PROCEDURE makeDir (): BOOLEAN;
- ⓪$BEGIN
- ⓪&IF NOT Directory.PathExists (FileNames.PathValidated (name)) THEN
- ⓪(IF createNew THEN
- ⓪*Directory.CreateDir (name, res);
- ⓪*RETURN res >= 0
- ⓪(ELSE
- ⓪*RETURN FALSE
- ⓪(END
- ⓪&END;
- ⓪&RETURN TRUE
- ⓪$END makeDir;
- ⓪
- ⓪"PROCEDURE makeDirOnDrv (drv: MOSGlobals.Drive): BOOLEAN;
- ⓪$BEGIN
- ⓪&Strings.Concat (FileNames.DriveToStr (drv), ClipName, name, ok);
- ⓪&RETURN makeDir ()
- ⓪$END makeDirOnDrv;
- ⓪
- ⓪"BEGIN
- ⓪$ReadScrapDir (name);
- ⓪$IF name [0] = 0C THEN
- ⓪&ShellEnvironment (ClipEnv, name);
- ⓪$END;
- ⓪$IF (name [0] # 0C) AND makeDir () THEN
- ⓪&RETURN TRUE
- ⓪$END;
- ⓪$drvs:= Directory.DrivesOnline ();
- ⓪$FOR drv:= MOSGlobals.drvC TO MOSGlobals.drvP DO
- ⓪&IF drv IN drvs THEN
- ⓪(IF makeDirOnDrv (drv) THEN
- ⓪*RETURN TRUE
- ⓪(END
- ⓪&END
- ⓪$END;
- ⓪$RETURN makeDirOnDrv (MOSGlobals.drvA)
- ⓪"END getPath;
- ⓪
- ⓪ PROCEDURE MakeScrapName (suffix: SfxStr; VAR name: ARRAY OF CHAR);
- ⓪"BEGIN
- ⓪$IF getPath (name, TRUE) THEN
- ⓪&FileNames.ValidatePath (name);
- ⓪&WriteScrapDir (name);
- ⓪&Strings.Append ('SCRAP.', name, ok);
- ⓪&Strings.Append (suffix, name, ok);
- ⓪$ELSE
- ⓪&name [0]:= 0C;
- ⓪&WriteScrapDir ('');
- ⓪$END;
- ⓪"END MakeScrapName;
- ⓪
- ⓪
- ⓪ (*$J-*)
- ⓪ PROCEDURE delete (REF path: ARRAY OF CHAR; entry: Directory.DirEntry): BOOLEAN;
- ⓪ (*$J=*)
- ⓪"VAR res: INTEGER;
- ⓪"BEGIN
- ⓪$Directory.Delete (FileNames.PathConc (path, entry.name), res);
- ⓪$RETURN res >= 0
- ⓪"END delete;
- ⓪
- ⓪ PROCEDURE ClearScrap;
- ⓪"VAR res: INTEGER;
- ⓪"VAR name: FileStr;
- ⓪"BEGIN
- ⓪$IF getPath (name, FALSE) THEN
- ⓪&FileNames.ValidatePath (name);
- ⓪&WriteScrapDir (name);
- ⓪&Strings.Append ('SCRAP.*', name, ok);
- ⓪&Directory.DirQuery (name, Directory.QueryFiles, delete, res);
- ⓪$END
- ⓪"END ClearScrap;
- ⓪
- ⓪ END EasyGEM1.
- ⓪ ə
- (* $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ñÇé*)
-