home *** CD-ROM | disk | FTP | other *** search
/ Club Amiga de Montreal - CAM / CAM_CD_1.iso / files / 468.lha / Batchrequester / Batchrequester.mod < prev    next >
Text File  |  1991-02-08  |  2KB  |  83 lines

  1. (* ------------------------------------------------------------------------
  2. :Program.       BatchRequester.mod
  3. :Contents.      Öffnet einen Filerequester und schreibt den Pfadnamen der
  4.                 angeklickten Datei in eine Environment-Variable.
  5. :Author.        Christoph Teuber
  6. :Copyright.     Freeware
  7. :Language.      Oberon
  8. :Translator.    Amiga Oberon
  9. :History.       1.1   3.Dez.1990
  10. :Address.       Rheinstr. 65, 5600 Wuppertal 1
  11. :Phone.         0202/424394
  12. :Usage.         BatchRequester <Var-Name> <Titel> Pfadnamen
  13. ------------------------------------------------------------------------- *)
  14.  
  15. MODULE BatchRequester;
  16.  
  17. IMPORT Fr : FileReq,
  18.        Arg : Arguments,
  19.        FS : FileSystem,
  20.        io;
  21.  
  22. TYPE StringTyp = ARRAY 255 OF CHAR;
  23.  
  24. VAR FName,Titel,Enni : StringTyp;
  25.     Answer : BOOLEAN;
  26.  
  27. PROCEDURE ParseArgs (VAR Tl, Name, Enni : StringTyp);
  28.  (* Parameter lesen *)
  29.  
  30. VAR Argzahl : INTEGER;
  31.  
  32. BEGIN
  33.  Argzahl := Arg.NumArgs();                (* Anzahl ermitteln *)
  34.  IF (Argzahl >3) OR (Argzahl <1) THEN
  35.   io.WriteString("\n Willst Du mich beschummeln?\n Falsche Anzahl Parameter\n");
  36.   HALT(10);
  37.  END;
  38.  Arg.GetArg(1,Enni);                            (* Parameter lesen *)
  39.  IF Enni = "?" THEN
  40.   io.WriteString ("\nUsage: BatchRequester <var-name> <title> <filename>\n");
  41.   HALT(0);
  42.  END;
  43.  IF Argzahl >1 THEN Arg.GetArg(2,Tl);           (* falls *)
  44.   IF Argzahl >2 THEN Arg.GetArg(3,Name) END;    (* vorhanden *)
  45.  END;
  46. END ParseArgs;
  47.  
  48.  
  49. PROCEDURE CopyToVar (Name, Enni : StringTyp);
  50.  (* Filenamen in Variable schreiben *)
  51.  
  52. VAR geklappt : BOOLEAN;
  53.     Datei : FS.File;
  54.  
  55. BEGIN
  56.  geklappt := FS.Open(Datei, Enni, TRUE);
  57.  IF geklappt THEN
  58.   geklappt := FS.WriteString (Datei, Name);
  59.   IF geklappt THEN
  60.    geklappt := FS.Close(Datei);
  61.   END;
  62.  END;
  63.  IF NOT geklappt THEN
  64.   io.WriteString ("Fehler beim Schreiben!\n");
  65.   HALT(10)
  66.  END;
  67. END CopyToVar;
  68.  
  69.  
  70. BEGIN  (* Hauptprogramm *)
  71.  
  72.  io.WriteString ("BatchRequester 1.1, (c) 1990 by Christoph Teuber\n");
  73.  io.WriteString ("Freeware                        Rheinstr. 65\n");
  74.  io.WriteString ("                                5600 Wuppertal 1\n");
  75.  io.WriteString ("                                West-Germany\n");
  76.  FName := "Ram:Test";
  77.  Titel := "BatchRequester";
  78.  ParseArgs (Titel, FName, Enni);
  79.  Answer := Fr.FileReq(Titel, FName);
  80.  IF Answer THEN CopyToVar (FName, Enni) END;
  81.  
  82. END BatchRequester.
  83.