home *** CD-ROM | disk | FTP | other *** search
- (* ------------------------------------------------------------------------
- :Program. BatchRequester.mod
- :Contents. Öffnet einen Filerequester und schreibt den Pfadnamen der
- angeklickten Datei in eine Environment-Variable.
- :Author. Christoph Teuber
- :Copyright. Freeware
- :Language. Oberon
- :Translator. Amiga Oberon
- :History. 1.1 3.Dez.1990
- :Address. Rheinstr. 65, 5600 Wuppertal 1
- :Phone. 0202/424394
- :Usage. BatchRequester <Var-Name> <Titel> Pfadnamen
- ------------------------------------------------------------------------- *)
-
- MODULE BatchRequester;
-
- IMPORT Fr : FileReq,
- Arg : Arguments,
- FS : FileSystem,
- io;
-
- TYPE StringTyp = ARRAY 255 OF CHAR;
-
- VAR FName,Titel,Enni : StringTyp;
- Answer : BOOLEAN;
-
- PROCEDURE ParseArgs (VAR Tl, Name, Enni : StringTyp);
- (* Parameter lesen *)
-
- VAR Argzahl : INTEGER;
-
- BEGIN
- Argzahl := Arg.NumArgs(); (* Anzahl ermitteln *)
- IF (Argzahl >3) OR (Argzahl <1) THEN
- io.WriteString("\n Willst Du mich beschummeln?\n Falsche Anzahl Parameter\n");
- HALT(10);
- END;
- Arg.GetArg(1,Enni); (* Parameter lesen *)
- IF Enni = "?" THEN
- io.WriteString ("\nUsage: BatchRequester <var-name> <title> <filename>\n");
- HALT(0);
- END;
- IF Argzahl >1 THEN Arg.GetArg(2,Tl); (* falls *)
- IF Argzahl >2 THEN Arg.GetArg(3,Name) END; (* vorhanden *)
- END;
- END ParseArgs;
-
-
- PROCEDURE CopyToVar (Name, Enni : StringTyp);
- (* Filenamen in Variable schreiben *)
-
- VAR geklappt : BOOLEAN;
- Datei : FS.File;
-
- BEGIN
- geklappt := FS.Open(Datei, Enni, TRUE);
- IF geklappt THEN
- geklappt := FS.WriteString (Datei, Name);
- IF geklappt THEN
- geklappt := FS.Close(Datei);
- END;
- END;
- IF NOT geklappt THEN
- io.WriteString ("Fehler beim Schreiben!\n");
- HALT(10)
- END;
- END CopyToVar;
-
-
- BEGIN (* Hauptprogramm *)
-
- io.WriteString ("BatchRequester 1.1, (c) 1990 by Christoph Teuber\n");
- io.WriteString ("Freeware Rheinstr. 65\n");
- io.WriteString (" 5600 Wuppertal 1\n");
- io.WriteString (" West-Germany\n");
- FName := "Ram:Test";
- Titel := "BatchRequester";
- ParseArgs (Titel, FName, Enni);
- Answer := Fr.FileReq(Titel, FName);
- IF Answer THEN CopyToVar (FName, Enni) END;
-
- END BatchRequester.
-