home *** CD-ROM | disk | FTP | other *** search
/ Micro R&D 1 / MicroRD-CD-ROM-Vol1-1994.iso / os20 / cli / getstring100.lha / GetString / GetString.e < prev    next >
Text File  |  1993-01-19  |  1KB  |  52 lines

  1. /* GetString.e
  2.  * To get a string requester from Shell (useful in scripts) and store the
  3.  * result in an environment variable.
  4.  *
  5.  * Written by Diego Caravana.
  6.  *
  7.  * This small utility is placed in the Public Domain, so use it at your own
  8.  * risk. Feel free to burn this source... :)
  9.  *
  10.  * Thanks to Wouter van Oortmerssen for his VERY GOOD work, hoping that he
  11.  * will continue to improve E language !
  12.  * Hey, consider to learn E !!!
  13.  *
  14.  */
  15.  
  16. OPT OSVERSION=37
  17.  
  18. MODULE 'ReqTools', 'dos/var'
  19.  
  20. DEF buf[80]:STRING, myargs[4]:ARRAY OF LONG, rdargs, ret
  21.  
  22. PROC main()
  23.  
  24.     '$VER: GetString 1.00 (19.01.93)'    /* version string, as C= says... */
  25.  
  26.     ret := 0
  27.     myargs[2] := 'GetStringResult'
  28.  
  29.     IF rdargs := ReadArgs('TITLE/A,STRING/K,VAR=VARIABLE/K,GLOBAL/S',myargs,NIL)
  30.         IF reqtoolsbase := OpenLibrary('reqtools.library', 37)
  31.             StrCopy(buf, myargs[1], StrLen(myargs[1]))
  32.  
  33.             IF RtGetStringA(buf,80,myargs[0],0,0) = 0
  34.                 ret := 5        /* user has cancelled! */
  35.             ELSE
  36.                 SetVar(myargs[2], buf, StrLen(buf),
  37.                      IF myargs[3] THEN GVF_GLOBAL_ONLY ELSE GVF_LOCAL_ONLY)
  38.             ENDIF
  39.  
  40.             CloseLibrary(reqtoolsbase)
  41.         ELSE
  42.             WriteF('Could not open reqtools.library!\n')
  43.             ret := 20
  44.         ENDIF
  45.     ELSE
  46.         ret := 20
  47.     ENDIF
  48.  
  49.     CleanUp( ret )        /* close and return a value */
  50.  
  51. ENDPROC
  52.