home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format 126 / af126a.adf / Football.lzx / football / user / ViewTeamSchedule.rexx < prev   
OS/2 REXX Batch file  |  1999-05-22  |  5KB  |  181 lines

  1. /* ***********************************************************************
  2.  
  3.    VIEW TEAM SCHEDULE PROGRAM FOR FOOTBALL REXX SUITE
  4.   ----------------------------------------------------
  5.                    Copyright  Mark Naughton 1997
  6.  
  7.  
  8. Version    Date     History
  9. --------------------------------------------------------------------------
  10.  1.0       150997   First release.
  11.            151297   Tidied display.
  12.            210499   Added check for no team specified.
  13.  
  14. **************************************************************************
  15.  
  16. Procedure
  17. ---------
  18.  
  19. 1. Check files exist. Read Teams.df datafile and store teams.
  20. 2. If league has not been autoscheduled then give an error and quit.
  21. 3. Search for specified team and if not found, give an error and quit.
  22. 4. Open Teams.sf datafile.
  23. 5. If "Week" or "Date" is found, grab the data and format it for later.
  24. 6. Use selected team against either HOME or AWAY team and if a match that
  25.    has yet to be played is found, display the data.
  26. 7. When the file is finished, print the number of matches and exit...
  27.  
  28. ************************************************************************** */
  29. PARSE ARG league_stuff
  30.  
  31. version      = 1
  32. input_file   = '.df'
  33. input2_file  = '.sf'
  34. title        = '*LEAGUE_NAME='
  35. autosched    = '*AUTOSCHD='
  36. separator    = '*'
  37. teams.       = '???'
  38. counter      = 0
  39. not_played   = '__   __'
  40.  
  41.  
  42. parse var league_stuff league_file search_team
  43. league_file = "Data/" || league_file
  44.  
  45. if exists(league_file || input_file) = 0  then exit
  46. if exists(league_file || input2_file) = 0 then exit
  47.  
  48. if search_team = "" then do
  49.    say
  50.    say "ERROR :    (ViewTeamSchedule)"
  51.    say
  52.    say "Cannot view schedules as a team has not been selected."
  53.    say
  54.    say "This is a 'Set & Run' script. Program aborted."
  55.    say
  56.    exit
  57. end
  58.  
  59. autos = 0
  60. if open(datafile,league_file || input_file,'r') then do
  61.    do while ~eof(datafile)
  62.       line = readln(datafile)
  63.       if pos(title,line) > 0 then
  64.          league_title = delstr(line,1,13)
  65.       if pos(autosched,line) > 0 then do
  66.          autofile = delstr(line,1,10)
  67.          autos = 1
  68.       end
  69.       if pos(separator,line) = 0 then do
  70.          line = strip(line)
  71.          if counter = 0 then do
  72.             teams.1 = line
  73.             counter = 1
  74.          end
  75.          else do
  76.             counter       = counter + 1
  77.             teams.counter = line
  78.          end
  79.       end
  80.    end
  81.    close(datafile)
  82. end
  83. else do
  84.    say
  85.    say "ERROR :    (ViewTeamSchedule)"
  86.    say
  87.    say "Cannot open '"league_file||input_file"' for reading."
  88.    exit
  89. end
  90.  
  91. if autos = 0 then do
  92.    say
  93.    say "ERROR :    (ViewTeamSchedule)"
  94.    say
  95.    say "Cannot view schedules for '"search_team"'."
  96.    say
  97.    say "This program will only show schedule files that have"
  98.    say "created from a schedule definition file such as "
  99.    say "'Teams6.schd'. Program aborted."
  100.    say
  101.    exit
  102. end
  103.  
  104. sel=-1
  105. search_team = strip(search_team)
  106. do i=1 to counter
  107.    if pos(search_team,teams.i) > 0 then
  108.       sel = i
  109. end
  110. if sel > 0 then do
  111.    say
  112.    say center("Display Team Schedule in '"league_title"'",78)
  113.    say "-------------------------------------------------------------------------------"
  114.    say
  115.    say "Created from '"autofile"' schedule defintion file."
  116.    say
  117.    say
  118.    say "Games Played By: "teams.sel
  119.    say
  120.    say "Date/Week   Where?   Opponent"
  121.    say "----------------------------------------------------"
  122.    say
  123.    matches = 0
  124.    if open(datafile,league_file || input2_file,'r') then do
  125.       do while ~eof(datafile)
  126.          line = readln(datafile)
  127.          if pos(separator,line) > 0 then do
  128.             if pos("*Week:",line) > 0 then do
  129.                curr = subword(line,2)
  130.             end
  131.             if pos("*Date:",line) > 0 then do
  132.                year = word(line,5)
  133.                mnth = word(line,4)
  134.                day  = word(line,3)
  135.                curr = right(day,2,0)||" "||substr(mnth,1,3)||" "||substr(year,3,2)
  136.             end
  137.          end
  138.          if pos(separator,line) = 0 then do
  139.             if pos(not_played,line) > 0 then do
  140.                home_team = strip(substr(line,1,30))
  141.                away_team = strip(substr(line,41,30))
  142.  
  143.                strng = strip(teams.sel)
  144.                if strng = home_team then do
  145.                   say left(curr,12)"Home     "left(away_team,30)
  146.                   matches = matches + 1
  147.                end
  148.                if strng = away_team then do
  149.                   say left(curr,12)"Away     "left(home_team,30)
  150.                   matches = matches + 1
  151.                end
  152.             end
  153.          end
  154.       end
  155.       close(datafile)
  156.       say
  157.       if matches = 0 then
  158.          say "No matches to be played. The season is over..."
  159.       else
  160.          say "Number of matches to be played:  "matches
  161.       say
  162.       say "-------------------------------------------------------------------------------"
  163.       say
  164.    end
  165.    else do
  166.       say
  167.       say "ERROR :    (ViewTeamSchedule)"
  168.       say
  169.       say "Cannot read '"league_file || input2_file"' datafile."
  170.       exit
  171.    end
  172. end
  173. else do
  174.    say
  175.    say "ERROR :    (ViewTeamProgress)"
  176.    say
  177.    say "Incorrect team. '"search_team"' cannot be found in this"
  178.    say "league."
  179. end
  180.  
  181. exit