home *** CD-ROM | disk | FTP | other *** search
/ The Datafile PD-CD 5 / DATAFILE_PDCD5.iso / utilities / p / psam / !PSAM / !Help < prev    next >
Encoding:
Text File  |  1997-01-01  |  34.1 KB  |  732 lines

  1. PSAM - a Program for Scoring Athletics Matches - Version 0.06
  2. -------------------------------------------------------------
  3.  
  4. PSAM is designed for scoring track-and-field matches where the number of 
  5. scorers in each event is fixed, the number of scorers from each team is also 
  6. fixed, and competitors are declared in advance. It is very configurable and can
  7. cope with a range of different kinds of match. However, there is no support for
  8. non-scorers or guests. Handling these is just (in my opinion) a word-processing
  9. problem, and a word-processor can be run alongside PSAM to deal with them.
  10.  
  11. PSAM is freely distributable, but the author retains the copyright. See the 
  12. file called LICENCE.
  13.  
  14. Philip Hazel
  15. 33 Metcalfe Road
  16. Cambridge CB4 2DB
  17. Phone: +44 1223 365518
  18. Email: ph10@cam.ac.uk
  19.  
  20.  
  21. Running PSAM
  22. ------------
  23.  
  24. The PSAM icon is supposed to be a field with a track running round it. The 
  25. program loads onto the icon bar in the usual way. When first loaded, the icon
  26. is dark, indicating that no match is in progress. As soon as you enter some
  27. data, either by loading a file, or via the menus, the icon changes to green and
  28. yellow. You cannot then load a new file without unloading the old one, and you
  29. can't unload without explicitly saving or discarding the current data.
  30.  
  31. It is suggested that you load PSAM at this point and have it available to look 
  32. at as you read through this document. Some sample scored matches are supplied 
  33. so that you can see all the facilities without having to invent data for 
  34. yourself.
  35.  
  36.  
  37. Saving data in files
  38. --------------------
  39.  
  40. PSAM saves its data in ordinary text files. It didn't seem worth inventing a
  41. special file type for the small number of times that you actually load a file,
  42. so the only loading method is by dragging such a file to the icon. The files
  43. are human-readable, though not in a very useful format for human
  44. interpretation. However, it would be straightforward, for example, to write a
  45. program to process the results in some special way.
  46.  
  47. Every 2 minutes, PSAM checks to see if there have been any changes to the data 
  48. it has in RAM, and if there are, it dumps the data to a disc file. Thus if the
  49. power fails or (heaven forfend) the program crashes, you don't lose very much
  50. data. The first time it wants to save data, PSAM pops up a standard Save
  51. dialogue box, to allow you to specify where the data is to be saved. Subsequent
  52. saves are written to the same file without asking. You can also save manually
  53. from the menu at any time. If you do this before the first automatic save, PSAM 
  54. will use the same file for subsequent automatic saves, without asking first.
  55.  
  56.  
  57. Overview of operation
  58. ---------------------
  59.  
  60. Scoring a match normally happens in three stages:
  61.  
  62. (1) First, you define the structure of the match: which age/sex groups there 
  63. are, which events they are doing, how many scorers there are per event 
  64. (strictly, scorers per "string"), and the scoring rules. If you are going to
  65. score several matches in the same league, this need be done just once, saved,
  66. and then you can start from there for each match. You can also define a layout
  67. for a cover sheet containing the final result of the match.
  68.  
  69. (2) At the start of a match, each team is defined and the team declarations are
  70. entered into declaration windows. It is possible to have more teams than
  71. scorers per string, assuming that not all teams are competing in all groups
  72. (the East Anglian League final is like this). It is also possible to have fewer 
  73. teams than scorers per string if there is more than one scoring athlete from 
  74. each team. However, for many matches the number of teams is the same as the
  75. number of scorers per string.
  76.  
  77. (3) As the results come in during the match, they are entered into on-screen
  78. scoresheets, of which there is one for each age/sex group. All you enter are
  79. the team letters and times or distances - the competitors' names are obtained
  80. from the declarations. Scores are automatically allocated and totalled and a
  81. match summary window shows the running totals for all groups and optionally a
  82. running grand total. At the end of the match, scoresheets and a summary cover
  83. sheet can be printed, and it is also possible to print out a page for each 
  84. team showing the times and distances achieved by all its competitors.
  85.  
  86. The description below assumes this sequence of events, but PSAM does not impose 
  87. any ordering other than what is logically necessary. For example, you can't 
  88. display a scoresheet until you have declared at least one team. However, you 
  89. can change things at any time. You can add or delete events in the middle of a 
  90. match, for example. Much more likely, you can change declarations at any time; 
  91. if a changed competitor already appears on a scoresheet, the name is changed in
  92. both places.
  93.  
  94. If you change the scoring rules, PSAM will re-score the entire match. You can 
  95. use it to answer questions such as "what is the result if we change from 
  96. 4-3-2-1 scoring to 7-5-2-1?" for example.
  97.  
  98.  
  99. The Menu
  100. --------
  101.  
  102. PSAM has just one menu, which can be pulled up from the icon and from any
  103. scoresheet or declaration window and from the title window. Various menu items
  104. are greyed out when not usable. As well as the usual Info and Quit items, the
  105. menu contains the following:
  106.  
  107. Title...  brings up a title window which is also displayed if you click 
  108.           with Select on the icon, and whenever you load a file. The contents
  109.           of the fields in this window (the name of the league and division, 
  110.           the date, venue and host club) are available for use in cover sheets,
  111.           and the date, league, and venue are printed on the bottom of each 
  112.           scoresheet. If the date is empty when a file is loaded, it is 
  113.           automatically set to the current date. Thus you should save a 
  114.           "starter" file with an empty date field. The "Match ID" item is 
  115.           useful if you are scoring two matches simultaneously, by running two 
  116.           copies of PSAM. Any text you enter in this field is prefixed to the 
  117.           normal titles of the group and team windows, thus indicating to which 
  118.           match they belong. The text is not used for anything else. The "cover 
  119.           template" item at the bottom of the title window is described in the 
  120.           section on cover pages below.   
  121.  
  122. Match...  brings up the summary window for the match, containing the totals and
  123.           positions for each group and optionally grand totals and league points 
  124.           (see description of the scoring rules dialogue box below). 
  125.  
  126. Group     When at least one event, one group, and one team are defined, this item 
  127.           leads to a submenu of group names. Selecting one of them causes the 
  128.           scoresheet window for that group to be displayed, or brought to the 
  129.           front if hidden behind other windows.
  130.           
  131. Team      When at least one team is defined, this item leads to a submenu of 
  132.           team names. For each team there is a further submenu of the groups it 
  133.           is connected to, and selecting in this submenu causes the declaration 
  134.           window for that group to be displayed. When the team is not connected 
  135.           to any groups, its name is greyed out.
  136.           
  137. Print     opens a printing dialogue box (see Printing below). 
  138.  
  139. Structure leads to submenus for manipulating the structure of the match, as 
  140.           described below.   
  141.           
  142. Save      is just as you would expect.
  143.  
  144. Unload    unloads the current match data so that a new match can be loaded. If 
  145.           the data are not saved, you are prompted as to whether you want to 
  146.           save or discard.
  147.           
  148.  
  149. Scorers and Strings
  150. -------------------
  151.  
  152. Many athletics matches are scored in "strings". Each string is scored as if it 
  153. were a separate event, even if the competitors actually compete together, 
  154. though which athelete is in which string is sometimes not determinable until 
  155. the results of a joint event are known. Different events may have different 
  156. numbers of strings, so the number of strings is an attribute of an event rather 
  157. than being an overall setting.
  158.  
  159. Most of the matches I deal with have two strings (known as A-string and
  160. B-string) for each event, and in each string there is at most one competitor
  161. from each team. So, for example, if there are five teams competing there will
  162. be two 100m races run, one for each string.
  163.  
  164. Another type of scoring does not use strings, but instead has more than one 
  165. competitor from each team in each event. This scheme is used in some schools 
  166. matches, and may be preferred when the number of competing teams is small. For 
  167. example, two competitors from each of three teams leads to events with six 
  168. competitors.
  169.  
  170. PSAM can handle each of these types of scoring, and is in fact even more
  171. general. It can handle more than two strings, and can also handle a 
  172. (hypothetical) match which involves both multiple strings and more than one
  173. competitor per team.
  174.  
  175.  
  176. Setting up the match structure
  177. ------------------------------
  178.  
  179. The Structure menu item leads to a submenu containing four items: Add, Edit,
  180. Delete, and Score. The first three all operate in the same way on events,
  181. groups, and teams. The last one leads to a dialogue box for setting up the
  182. scoring rules, and is usually set up once and for all as the first thing you do
  183. when starting from scratch.
  184.  
  185.  
  186. The scoring rules dialogue box
  187. ------------------------------
  188.  
  189. The top two items in this box are labelled "Scorers per team" and "Scorers per 
  190. string", and are adjusted by the adjacent arrow icons. "Scorers per string" 
  191. must be a multiple of "Scorers per team".
  192.  
  193. "Scorers per team" defines the number of scoring competitors from each team
  194. that compete in any one event, where "event" means a single string if multiple 
  195. strings are in use.
  196.  
  197. "Scorers per string" defines the number scoring athletes in each string, which 
  198. is also the number of result columns on the scoresheets. Up to eight fit
  199. reasonably on a printed page; more than that and the columns will be rather
  200. narrow. 
  201.  
  202. The number of scoring columns on the right of the scoresheets is computed by 
  203. dividing "Scorers per string" by "Scorers per team". So, for example, if there
  204. are 2 scorers per team and 6 scorers per string, there will be three scoring
  205. columns - that is, PSAM assumes that three teams are competing.
  206.  
  207. The next field down is labelled "Scores". This specifies how to score each string. 
  208. If it is left empty, then the last place gets 1 points, the second-last 2 
  209. points, and so on, so that the winner of each string gets a number of points 
  210. equal to the number of scorers per string. 
  211.  
  212. To change this rule, just give a list of numbers separated by commas, starting 
  213. from the winning value, for example "7,4,2,1". The same scoring will be used
  214. for all strings by default, but if you want to change this, use a semicolon to
  215. separate the strings. For example, "8,6,4,2; 7,5,3,1" scores A-strings 8-6-4-2
  216. and B-strings 7-5-3-1. If you change this field during a match, all scoresheet 
  217. windows are closed, and when you reopen them, they are re-scored.
  218.  
  219. The "Match score" box encloses several icons concerned with how to calculate an 
  220. overall match score. Radio buttons select one of:
  221.  
  222. .  No overall match score: each group is scored individually, and no totals are 
  223.    computed. The match summary window just shows the group totals.
  224.    
  225. .  Totals only: grand totals of all the group scores are computed, and the 
  226.    match result is based on them. This is the default.
  227.    
  228. .  Totals and league points: totals are computed as above, but also league 
  229.    points are computed by scoring each group by position in the group. (This is 
  230.    the way the East Anglian League is scored.)  By default, the last team in 
  231.    the group gets 1 point, the second-last 2 points, etc., but you can specify 
  232.    otherwise in the League points field. The match summary window shows both 
  233.    the grand totals and the league points totals, and positions based on each.
  234.    
  235. The scoring rules are not updated unless you press the "Update" button. To get 
  236. rid of the window without making any changes, press the "Cancel" button. 
  237.    
  238.  
  239. Adding events
  240. -------------
  241.  
  242. It is usually best to add all the events first because there are normally more
  243. events than groups. You can then specify which events apply to each group as
  244. you add it. It is, however, possible to do it the other way round if you wish.
  245. The Structure->Add->Event menu item brings up an event dialogue box, with the
  246. following fields:
  247.  
  248. Name:    Each event must have a unique name. You can use a single event with a 
  249.          generic name such as "Hurdles" for an event that is actually a different 
  250.          distance in each group, or you can put in separate "70m Hurdles", 
  251.          "110m Hurdles", etc. In the first case, all groups would be attached to 
  252.          the same event; in the second each would have a separate event. Event 
  253.          names should not be too long. Putting in spaces allows them to be split 
  254.          for display on the screen (e.g. "4 x 100m") but they are always on a 
  255.          single line in the printed scoresheets.
  256.          
  257. Order:   This specifies the order in which the events appear in the onscreen and 
  258.          printed scoresheets and in menus. The next free number is set by 
  259.          default. For example, if you have defined 3 events, the next one gets 
  260.          order number 4, but you can change it to 1, 2, or 3 to insert it 
  261.          earlier in the list. The same order applies to all scoresheets; it is 
  262.          not possible to have the same events in a different order for different 
  263.          groups, though of course events that do not apply to a group are 
  264.          omitted from its scoresheet.
  265.          
  266. Groups:  If any groups are defined, this button brings up a menu so that you can 
  267.          select which of them compete in this event. By default, all are 
  268.          selected.
  269.         
  270. Strings: Specifies the number of strings for this event. The default is 2, for 
  271.          the common 2-string matches that I score. You can set it to 1 for
  272.          relays or other events that have only one string. The program supports
  273.          more than 2 strings, though I haven't used this for real.
  274.          
  275. Track:   The radio buttons specify whether this event is a track or a field 
  276. Field:   event. This affects the format of the time or distance that can be 
  277.          entered in the scoresheets.
  278.          
  279. Pressing Add with the Select button adds the event and closes the dialogue box; 
  280. using Adjust adds the event and leaves the dialogue box displayed so that you 
  281. can add another event. The name is cleared and the order is set to the next 
  282. free number, but the other fields remain as they were, so you don't need to 
  283. keep resetting Track/Field or the number of strings when adding several events 
  284. of the same type.
  285.  
  286.  
  287. Adding groups
  288. -------------
  289.  
  290. The Structure->Add->Group menu item brings up a group dialogue box, which 
  291. operates in the same way as the event dialogue box. The fields are:
  292.  
  293. Name:    Each group must have a unique name, for example "Boys U15".
  294.  
  295. Order:   This specifies the order of the group in menus and in the match 
  296.          summary window and on the results cover page (see discussion of Order 
  297.          under "Adding Events").
  298.          
  299. Events:  If any events are defined (and it is recommended that you define the 
  300.          events before the groups) this button brings up a menu so that you can 
  301.          specify which events apply to this group. The default is all of them.
  302.          
  303. Events per page: This box applies to the printed scoresheets only. If there are 
  304.          more events than will fit on a single A4 page, printed sideways, then 
  305.          PSAM automatically starts a new page (showing carried forward totals) 
  306.          when a page is full. However, this may result in a single event 
  307.          appearing on the second page, and it might be nicer, for example, to 
  308.          have all the track events on one page and the field events on another.
  309.          You can put a list of comma-separated numbers in this box, specifying 
  310.          how many events are to appear on each printed page.
  311.          
  312.  
  313. Adding Teams
  314. ------------ 
  315.  
  316. The Structure->Add->Team menu item brings up a team dialogue box, which 
  317. operates in the same way as the event and group dialogue boxes. The fields are:
  318.  
  319. Name:    The full name of the team, e.g. "Cambridge and Coleridge".
  320.  
  321. Abbreviation: A short form of the team name for use in menus and in scoresheets 
  322.          where no competitor name is decleared, e.g. "C&C".
  323.          
  324. Order:   This specifies the order of the team in menus and the left-to-right 
  325.          order on scoresheets (see discussion of Order under "Adding Events"). 
  326.          
  327. Letter:  Each team must have a unique team letter.
  328.  
  329. Groups:  If any groups are defined, this button brings up a menu so that you 
  330.          can set which groups this team has. The default is all groups.
  331.          
  332.  
  333. Editing events, groups, and teams
  334. ---------------------------------
  335.  
  336. Structure->Edit leads to a submenu containing Events, Groups, and Teams. When 
  337. any are defined, there are further submenus giving lists of them. Selecting in 
  338. one of these menus brings up the same dialogue box that was used for adding. 
  339. Change it as required, and then press the Update button to get the changes to 
  340. take effect.
  341.  
  342.  
  343. Deleting events, groups, and teams
  344. ----------------------------------
  345.  
  346. Structure->Delete leads to a submenu containing Events, Groups, and Teams. When 
  347. any of them are defined, there are further submenus giving lists of them. 
  348. Selecting in one of these lists causes deleting. If relevant data exists, a 
  349. confirmation is required first.
  350.  
  351.  
  352. Declarations
  353. ------------
  354.  
  355. The Team menu leads to a list of teams, each of which lead in turn to a list of 
  356. groups for that team. Selecting one of these brings up the declaration window 
  357. for that group. The title of the window is the team name followed by the group 
  358. name, e.g. "Cambridge and Coleridge Girls U13", preceded by the match ID string
  359. if one has been set. The window consists of a list of events down the lefthand
  360. side, and icons into which the names of competitors are entered, the number of
  361. icons for each event being equal to the number of strings for the event,
  362. multiplied by the number of scorers per team (as set in the scoring rules 
  363. window).
  364.  
  365. The order for competitor names is: 1st competitor in 1st string, 2nd competitor 
  366. in 1st string, ... last competitor in 1st string; 1st competitor in 2nd string, 
  367. 2nd competitor in 2nd string, ... etc. I have not, however, come across a match 
  368. which had both multiple scorers per team and multiple strings, so in the more 
  369. simple cases one has either:
  370.  
  371.   (a) If only one competitor per team, the competitors appear in string order.
  372. or 
  373.   (b) If only one string, the competitors are in some arbitrary order.
  374.   
  375. See "Handling strings and multiple competitors" below for a discussion of how
  376. each competitor is identified when filling in a scoresheet.
  377.  
  378. Clicking with the Select button in one of the icons in a declaration window
  379. changes its background colour to white and gives it the input focus. The TAB
  380. key can be used to move on to the next icon, and CTRL/TAB to move back to the
  381. previous one. Shift/TAB moves on to the first icon of the next event, and
  382. Shift/Ctrl/TAB moves back to the first icon of the previous event.
  383.  
  384. There's no "confirm" button; all changes made in the window are immediately
  385. "live", and if the competitor already appears in a scoresheet, that is
  386. automatically updated in line with the declaration. If a competitor's name 
  387. contains accented characters, the RISC OS !Chars application can be used to
  388. obtain them. Open the !Chars window, and click with Select on the character you 
  389. require.
  390.  
  391. The same competitor often competes in several events. Clicking with the Adjust 
  392. button on an icon in a declaration window copies the contents of that icon to 
  393. the icon that has the input focus, provided it is in the same declaration 
  394. window. Any previous contents of the icon are discarded.
  395.  
  396. Sometimes changes are required that simply involve swapping over two names. To 
  397. do this, click on one of the icons with Select, to give it the focus. Then hold 
  398. down the SHIFT key, and click on the other one with Adjust. Again, this works 
  399. only within one declaration window.
  400.  
  401. If no competitor name is declared for an event, the team's abbreviated name
  402. appears in the scoresheets. It is therefore usual not to fill in any
  403. declaration for relays.
  404.  
  405.  
  406. Onscreen scoresheets
  407. --------------------
  408.  
  409. The Group menu item leads to a list of groups, and selecting one of them causes 
  410. the scoresheet for that group to be displayed. If this is the first time it has 
  411. been displayed there is a pause while its layout is computed, and if it 
  412. contains results the pause is a bit longer while the score values are 
  413. recomputed.
  414.  
  415. A scoresheet contains the names of the events down the lefthand side, and then 
  416. a double row of icons for the results of each string, and on the right, scoring 
  417. columns for each team, headed by the team letter. Initially, all but the event
  418. names are blank. The window can be opened and closed as often as you like. The
  419. data it contains is always "live" and does not have to be explicitly
  420. "accepted".
  421.  
  422. There are three icons for each result. The longest one, across the top, is for 
  423. the competitor's name. On the screen, this will scroll if the name is very 
  424. long; when printing, a smaller typeface is used for very long names. The second 
  425. row underneath contains a small icon for the team letter, and a larger one for 
  426. the time or distance. When there is more than one string, separate rows of 
  427. result triples are provided for each string.
  428.  
  429.  
  430. Entering results
  431. ----------------
  432.  
  433. To enter a result, click with Select on the team letter icon for the relevant
  434. competitor - usually starting with the winner. This turns the icon's background
  435. white and gives it the input focus. Type the team's letter (do *not*
  436. use the SHIFT key, except as described below). The declared athlete's name
  437. appears above, with the focus moving on to the time/distance icon. 
  438.  
  439. The score is automatically computed and displayed in the righthand scoring 
  440. column for the team, and the totals at the bottom of the scoresheet and match 
  441. summary window are always completely up-to-date.
  442.  
  443. In cases where there are multiple strings and/or multiple athletes per team,
  444. simply typing the team letter may not be enough to identify the correct
  445. competitor. The next section contains a discussion of how these cases are
  446. handled.
  447.  
  448. You should now enter the time or distance in the time/distance icon. See below
  449. for how to handle special cases such as ties and disqualifications. Times are
  450. entered as seconds and tenths, with a dot between them (12.1) or as
  451. minutes, seconds, and tenths, with a colon after the minutes (5:41.2).
  452. Distances are entered as metres to two decimal places (24.65). 
  453.  
  454. When the focus is moved away from a time/distance icon, PSAM checks for any
  455. gross typos. For example, it won't let a runner-up be faster or throw further
  456. than a winner. If PSAM won't let you enter a value that you think you should be
  457. able to, check that you have correctly set up the event as track or field.
  458.  
  459. You can always go back and correct any mistakes in the times or distances by 
  460. clicking in the appropriate icon to give it the input focus, and editing in the 
  461. usual way. Holding down SHIFT and pressing DELETE in a time/distance icon 
  462. deletes the entire result and moves the focus back to the team letter icon.
  463. Clicks in time/distance icons for unset results are ignored.
  464.  
  465. Pressing TAB in a time/distance or team letter icon moves the focus on to the
  466. next result; CTRL/TAB moves back to the previous one. The window scrolls
  467. automatically if necessary so that the new result comes into view. Shift/TAB
  468. moves to the beginning of the next string or event, and Shift/Ctrl/TAB to the
  469. beginning of the previous one.
  470.  
  471.  
  472. Handling strings and multiple competitors
  473. -----------------------------------------
  474.  
  475. In the general case of multiple strings with multiple competitors, there may be 
  476. several declared athletes from a single team for a single event. PSAM provides 
  477. a general mechanism for identifying each athlete in a declaration, but it also 
  478. includes some short-cuts that apply when there are only two declarations per 
  479. event - that is, either there are two strings with one scorer per team, or two 
  480. scorers per team and only one string.
  481.  
  482. When there is more than one scorer per team, a number is displayed before the 
  483. team letter for each result. Using the team letter "R" as an example, the first 
  484. competitor would show "1R", the second "2R" and so on. When there is only one 
  485. scorer per team, the team letter alone is used for the first string and a 
  486. doubled letter for the second string ("R" and "RR") as is conventional. If 
  487. there are more than two strings, numbers are used for the third and subsequent 
  488. strings.
  489.  
  490. When entering a result, you can always specify a competitor precisely by typing
  491. a number before the team letter; the number counts across the declaration sheet 
  492. from left to right. For example, if there are two strings with two competitors 
  493. per team, "3R" gets the third competitor listed.
  494.  
  495. If you just type the team letter without a number, PSAM assumes the reference 
  496. is to the first declared competitor for the current string; if you hold down 
  497. the SHIFT key and type the team letter, PSAM assumes the reference is to the 
  498. second competitor in the current string, or, if there is only one competitor 
  499. per team, to the first competitor in the next string.
  500.  
  501. If the competitor referenced is already listed in the current event, there is 
  502. an error unless there are exactly two competitors per team in the event (either 
  503. one string and two competitors per team, or two strings and one competitor per
  504. team), in which case PSAM tries the other competitor.
  505.  
  506. All that sounds a bit complicated because the description covers the general 
  507. case. When there are only two declared atheletes per event per team, the team
  508. letter alone gets one of them, and SHIFT with the team letter gets the other.
  509. When one has already appeared in the result, the team letter alone (with or 
  510. without SHIFT) gets the other.
  511.  
  512. This means that in an event with two strings and one scorer per team, all you
  513. normally have to type is the team letter, except in cases where the A-string
  514. and B-string competitors have to be swapped. If you want to specify that the
  515. B-string declaration is to be used in the A-string result, use SHIFT with the
  516. team letter. This then displays a double letter and the B-string competitor.
  517. Similarly, SHIFT can be used to enter the A-string competitor in a B-string
  518. result, if you are entering that first. In both cases, when you get to the
  519. other string, you don't need to use SHIFT, as PSAM will automatically use the
  520. other competitor.
  521.  
  522. Similarly, if there is only one string and two scorers per team, the team
  523. letter is enough if they finish in the declared order. Otherwise you can use
  524. SHIFT to get the other declaration.
  525.  
  526. It is also possible to swap over already-entered results when there are only 
  527. two declarations per team. If you press the ! key anywhere in the time/distance
  528. icon, the two competitor names for the team are exchanged. This can be done 
  529. when either one or both names are on the scoresheet.
  530.  
  531. This feature is implemented in the time/distance icon because it is common (at
  532. least in our leagues) for field cards not to be clear about strings, and then
  533. entering a team letter for the A-string produces a different name to the one on
  534. the card. By this time the input focus is in the time/distance icon, so it is
  535. convenient just to be able to type ! to get the other name.
  536.  
  537.  
  538. Ties
  539. ----
  540.  
  541. It two or more competitors are tied in a result, enter the first one as 
  542. described above. Then for the second and subsequent ones, instead of entering a 
  543. time or distance, press the = key. The time or distance is then copied, and = 
  544. characters are added to indicate the tie. The score values are divided equally 
  545. among those that are tied. Note that if you want to change a tied result, the
  546. only keystrokes that are accepted in a time/distance icon that contains an
  547. equals sign are DELETE and CTRL/U. The first undoes the tying, leaving the
  548. result with the same time/distance value as it had; the second undoes the tying
  549. and clears the field completely. In both cases, the scores are recomputed.
  550.  
  551.  
  552. Disqualification, did not finish, or failed to jump or throw
  553. ------------------------------------------------------------
  554.  
  555. If "d" is typed anywhere in a time/distance icon, the text "disq." is displayed 
  556. and no score is recorded for that result. 
  557.  
  558. If "f" is typed anywhere in a time/distance icon, the text "DNF" is displayed 
  559. for a track event, or "failed" for a field event, and no score is recorded for
  560. that result.
  561.  
  562. In either case, the only keystrokes that are subsequently accepted in these 
  563. fields are DELETE and CTRL/U. Both cause the field to be cleared and the score 
  564. to be recomputed. You can then enter some other value.
  565.  
  566.  
  567. Deleting results
  568. ----------------
  569.  
  570. To delete a result entirely, click on the team letter icon and press the DELETE 
  571. key, or hold down SHIFT and press DELETE while the focus is in the 
  572. time/distance icon.
  573.  
  574.  
  575. Printing
  576. --------
  577.  
  578. The Print menu item brings up the printing dialogue box, but only if you have 
  579. loaded a printer driver previously. You can specify the number of copies 
  580. required, whether you want a cover page, and which groups' scoresheets are to 
  581. be printed. You can also specify whether you want result sheets for individual 
  582. teams to be printed. The group and team selections (by menu, when the All
  583. option is unset in each case) apply only to the current printing operation;
  584. they does not persist.
  585.  
  586. Printing is done in landscape mode (sideways paper) and the result columns are 
  587. narrowed if necessary to fit on the page. Long names are printed using a 
  588. narrower typeface, but *very* long names will get truncated.
  589.  
  590.  
  591. Printing a cover page
  592. ---------------------
  593.  
  594. The layout of the cover page is specified in a template file. The directory 
  595. called Covers inside the !PSAM application contains a selection of such files, 
  596. and you can make as many new ones as you want. The choice of which cover 
  597. template to use is set in the match's Title window, where the file name is
  598. shown, and a menu is provided for selecting from those that exist. The cover
  599. template name is saved with the match data.
  600.  
  601. It's a bit fiddly setting up a cover template, but since it's something that 
  602. isn't done very often, I haven't put effort into thinking of how it could be 
  603. improved.
  604.  
  605. A cover template file is a "picture" of what you want to appear on the cover 
  606. page. Each line (with one exception) in the template represents a line on the
  607. page. Normal text is just copied to the page, but whenever a $ character is
  608. encountered, it is interpreted as an instruction either to insert some data
  609. into the line of text, or to position it at some special position, or to print
  610. it in some particular font.
  611.  
  612. For example, $c means that the remaining text on the line is to be centred on 
  613. the page, while $L means "insert the league name here". Have a look at some of 
  614. the templates provided to get an idea of what can be done. The one called 
  615. "Default" is the simplest.
  616.  
  617. Each code consists of everything between the opening $ and the next space, 
  618. *inclusive*. Subsequent spaces are taken as part of the printing data. The
  619. available codes are listed below. If anything else follows a $ character, the
  620. characters between the $ and the next space are copied verbatim to the output.
  621.  
  622.  
  623. Layout
  624. ------
  625.  
  626. $c        centre what follows, to end of line or $r
  627. $r        right-justify what follows, to end of line
  628.  
  629. Leading and trailing spaces are removed from text that is to be centred or 
  630. right-justified. If you want to avoid this, use "hard spaces":
  631.  
  632. $#        hard space, not removed from centring or right-justifying
  633.  
  634. Some special characters are available as escape sequences:
  635.  
  636. $-        insert an en-dash (longer than a hyphen)
  637.  
  638. If a line starts with "$tabs", it is not treated as a printing line, but 
  639. instead as a definition of tab settings. You can't have "$tabs" in the middle 
  640. of a line.
  641.  
  642. $tabs n1 n2 n3 ... 
  643.  
  644. The numbers are cumulative and represent a number of spaces from the previous 
  645. position. Thus if you set
  646.  
  647. $tabs 10 13 8
  648.  
  649. the first tab position is 10 spaces in from the left; the next is 13 spaces 
  650. further on, and the last one is 8 spaces after that.
  651.  
  652. $t        move on to the next tab
  653.  
  654. The appearance of "$t " in a line moves on to the next available tab stop. The 
  655. Default cover template has examples of tab use. Remember that the space after 
  656. "$t" is the terminator for the code and doesn't get printed.
  657.  
  658.  
  659. Font changes
  660. ------------
  661.           
  662. $rm       change to roman font at current size
  663. $it       change to italic font at current size
  664. $bf       change to bold font at current size
  665. $bi       change to bold italic font at current size
  666.  
  667. Alternatively, explicit sizes can be given, as in these examples
  668.  
  669. $rm12     change to roman font at 12-point size
  670. $rm12,14  change to roman font at 12-point horizontal, 14-point vertical size
  671.  
  672. The previous font is stacked:
  673.  
  674. $pf       change back to the previous font
  675.  
  676. There is room for up to 20 previous fonts on the stack. If more than 20 changes 
  677. of font are made, the bottom 10 "drop off" the stack each time it is filled.
  678.  
  679.  
  680. Inserts
  681. -------
  682.  
  683. $L        insert league name
  684. $N        insert league division (couldn't use D!)
  685. $H        insert hosts' name
  686. $V        insert venue name
  687. $D        insert date
  688.  
  689. Teams in team order (n is a number):
  690.  
  691. $TnN      team n's name
  692. $TnL      team n's letter
  693. $TnS      team n's score 
  694. $TnP      team n's position
  695.  
  696. Teams in result order (n is a number):
  697.  
  698. $RnN      name of team that came nth
  699. $RnL      letter of team that came nth
  700. $RnS      score  of team that came nth
  701. $RnP      position of team that came nth
  702.  
  703. If teams tie for a place, then the position text will be appropriate. For 
  704. example, if two teams tie for 3rd place, then one of their names is given for 
  705. $R3N and the other for $R4N, while both $R3P and $R4P will be "=3rd".
  706.  
  707. League points for teams in team order (only when league points are being 
  708. computed - see discussion in "The scoring rules dialogue box" above):
  709.  
  710. $TnLS     team n's score (league points)
  711. $TnLP     team n's position
  712.  
  713. League points for teams in result order:
  714.  
  715. $RnLS     score for the team that came nth by league points
  716. $RnLP     position for the team that came nth by league points
  717.  
  718. Group data in team order (n and m are numbers):
  719.  
  720. $GnN      the name of group n
  721. $GnTmS    score for team m in group n
  722. $GnTmP    position of team m in goup n
  723.  
  724. Group data in result order (n and m are numbers):
  725.  
  726. $GnRmN    name of team that came mth in group n
  727. $GnRmL    letter of team that came mth in group n
  728. $GnRmS    score of team that came mth in group n
  729. $GnRmP    position of team that came mth in group n
  730.  
  731. **** End ****
  732.