home *** CD-ROM | disk | FTP | other *** search
/ Gold Fish 2 / goldfish_vol2_cd1.bin / files / comm / fido / spot / rexx / afmpe.rexx < prev    next >
OS/2 REXX Batch file  |  1994-01-15  |  5KB  |  187 lines

  1. /* AreaFixMan.prefs.rexx © 1993 PSR Software
  2.  * $VER: AreaFixMan.prefs v1.0 (08-01-93)
  3.  *  See AreaFixMan.prefs documentation
  4.  * FOR AREAFIXMAN PREFS VERSIONS 2.6+
  5.  * Will update old formats to enable use of ANNOUNCE
  6.  * feature.
  7.  */
  8.  
  9. PREF='AreaFixMan.prefs'
  10. FILE='Env:'
  11. FILESAVE='EnvArc:'
  12.  
  13. FF='0c'x
  14.  
  15. Say ""
  16. Say "AreafixMan prefs editor v1.0 © 1993 PSR Software"
  17. Say "For use with AreaFixMan Spot script."
  18. If ~Exists(FILE || PREF) Then Do
  19.    Say "Cannot find prefs file" FILE || PREF
  20.    Say "Use AreaFixMan.spot script to create new prefs file"
  21.    Exit
  22. End
  23. If ~Open('prefs',FILE || PREF,'r') Then Do
  24.    Say " Cannot open prefs file"
  25.    Exit
  26. End
  27. FORMAT=ReadLn('prefs')
  28. If ~(FORMAT='FORMAT 2.6') Then Do
  29.   Say "Prefs file is not compatible.  Delete prefs and start again."
  30.   Call Close('prefs')
  31. End
  32.  
  33. COUNT=0
  34. Do Until Eof('prefs')
  35.    DUMMY='dummy'
  36.    AREA=Strip(ReadLn('prefs'),'L')
  37.    If ~(Length(AREA)=0) Then Do
  38.       ADDRESS=Strip(ReadLn('prefs'),'L')
  39.       PASS=Strip(ReadLn('prefs'),'L')
  40.       AREAFIX=Strip(ReadLn('prefs'),'L')
  41.       COMMENT=Strip(ReadLn('prefs'),'L')
  42.       If Length(COMMENT)=0 Then Do
  43.          COMMENT='Options'
  44.       End
  45.       Else Do
  46.          ANNOUNCE=Strip(ReadLn('prefs'),'L')
  47.          If Length(ANNOUNCE)=0 Then Do
  48.             ANNOUNCE='No Announce'
  49.             DUMMY=''
  50.          End
  51.          Else Do
  52.             /* Any new prefs will be inserted here */
  53.             Do Until Length(DUMMY)=0
  54.                DUMMY=ReadLn('prefs')
  55.             End
  56.          End
  57.       End
  58.       AREA.count=AREA
  59.       ADDRESS.count=ADDRESS
  60.       PASS.count=PASS
  61.       AREAFIX.count=AREAFIX
  62.       COMMENT.count=COMMENT
  63.       ANNOUNCE.count=ANNOUNCE
  64.       ERASED.count=0
  65.       COUNT=COUNT+1
  66.    End
  67. End   
  68. Call Close('prefs')
  69. TOTAL=COUNT-1
  70. COUNT=0
  71.  
  72. Do Forever
  73.    Say ""
  74.    Say "This is record" COUNT+1 "of" TOTAL+1
  75.    If ERASED.count Then Do
  76.       Say "  Marked for deletion"
  77.    End
  78.    Else Do
  79.       Say ""
  80.    End
  81.    Say "_________________________________________________"
  82.    Say " NET NAME:" AREA.count
  83.    Say "  ADDRESS:" ADDRESS.count
  84.    Say " PASSWORD:" PASS.count
  85.    Say "  AREAFIX:" AREAFIX.count
  86.    Say "  COMMENT:" COMMENT.count
  87.    Say " ANNOUNCE:" ANNOUNCE.count
  88.    Say "¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯"
  89.    Say "   Next Previous  Delete Edit  Last  Save Use Cancel"
  90.    Say "   ¯    ¯         ¯      ¯     ¯     ¯    ¯   ¯"
  91.    WriteCh('STDOUT'," Select: ")
  92.    Pull SELECT
  93.    If SELECT='N' Then Do
  94.       Say FF
  95.       COUNT=COUNT+1
  96.       If COUNT>TOTAL Then COUNT=TOTAL
  97.    End
  98.    If SELECT='P' Then Do
  99.       Say FF
  100.       COUNT=COUNT-1
  101.       If COUNT<0 Then COUNT=0
  102.    End
  103.    If SELECT='D' Then Do
  104.       Say FF
  105.       If ERASED.count=0 Then Do
  106.          ERASED.count=1
  107.       End
  108.       Else Do
  109.          ERASED.count=0
  110.       End
  111.    End
  112.    If SELECT='E' Then Do
  113.       Say FF
  114.       Say "Simply hit RETURN for previous settings"
  115.       Say ""
  116.  
  117.       Say " NET NAME:" AREA.count
  118.       WriteCh('STDOUT',' NET NAME: ')
  119.       Parse Pull AREA
  120.       If Length(AREA)>0 Then AREA.count=AREA
  121.  
  122.       Say "  ADDRESS:" ADDRESS.count
  123.       WriteCh('STDOUT','  ADDRESS: ')
  124.       Parse Pull ADDRESS
  125.       If Length(ADDRESS)>0 Then ADDRESS.count=ADDRESS
  126.  
  127.       Say " PASSWORD:" PASS.count
  128.       WriteCh('STDOUT',' PASSWORD: ')
  129.       Parse Pull PASS
  130.       If Length(PASS)>0 Then PASS.count=PASS
  131.  
  132.       Say "  AREAFIX:" AREAFIX.count
  133.       WriteCh('STDOUT','  AREAFIX: ')
  134.       Parse Pull AREAFIX
  135.       If Length(AREAFIX)>0 Then AREAFIX.count=AREAFIX
  136.  
  137.       Say "   COMMENT:" COMMENT.count
  138.       WriteCh('STDOUT','   COMMENT: ')
  139.       Parse Pull COMMENT
  140.       If Length(COMMENT)>0 Then COMMENT.count=COMMENT
  141.  
  142.       If ANNOUNCE.count='Announce' Then Do
  143.          Say " ANNOUNCE: On"
  144.       End
  145.       Else Do
  146.          Say " ANNOUNCE: Off"
  147.       End   
  148.       WriteCh('STDOUT',' ANNOUNCE: ')
  149.       Pull ANNOUNCE
  150.       If ANNOUNCE='ON' Then ANNOUNCE.count='Announce'
  151.       If ANNOUNCE='OFF' Then ANNOUNCE.count='No Announce'
  152.       Say FF
  153.    End
  154.    If SELECT='L' Then Do
  155.       Address Command 'Copy "'FILESAVE || PREF'" To "'FILE || PREF'"'
  156.       Exit
  157.    End
  158.    If (SELECT='S') | (SELECT='U') Then Do
  159.       If Open('prefs',FILE || PREF,'w') Then Do
  160.          Call WriteLn('prefs','FORMAT 2.6')
  161.          Do COUNT=0 to TOTAL
  162.             If ~ERASED.count Then Do
  163.                Call WriteLn('prefs',AREA.count)
  164.                Call WriteLn('prefs',ADDRESS.count)
  165.                Call WriteLn('prefs',PASS.count)
  166.                Call WriteLn('prefs',AREAFIX.count)
  167.                Call WriteLn('prefs',COMMENT.count)
  168.                Call WriteLn('prefs',ANNOUNCE.count)
  169.                Call WriteLn('prefs','')
  170.             End
  171.          End
  172.          Call Close('prefs')
  173.       End
  174.       Else Do
  175.          Say " Cannot open prefs file"
  176.          Pull dummy
  177.       End
  178.       Say FF
  179.       If SELECT='S' Then Address Command 'Copy "'FILE || PREF'" To "'FILESAVE || PREF'"'
  180.       Exit
  181.    End
  182.    If SELECT='C' Then Do
  183.       Say FF
  184.       Exit
  185.    End
  186. End
  187.