home *** CD-ROM | disk | FTP | other *** search
/ The C Users' Group Library 1994 August / wc-cdrom-cusersgrouplibrary-1994-08.iso / listings / v_02_09 / 2n09020a < prev    next >
Text File  |  1991-07-31  |  2KB  |  44 lines

  1. ! FROM PICK_OPEN PROCEDURE
  2. SH_TO_SELL ROUTINE
  3. ! GET NUMBER OF SHARES SELECTED TO SELL FOR THIS RECORD
  4. ! SET 'TO_SELL'
  5. ! 'TBLPTR' SET TO RECORD POINTER
  6.     TO_SELL = 0                          !INITIALIZE VALUE
  7.     LOOP X# = 1 TO RECORDS(OPN_TABLE)!LOOP THRU MEMORY TABLE
  8.       GET(OPN_TABLE,X#)
  9.       IF (ERROR()) THEN STOP('Open Table : ' & ERROR()).
  10.       IF (TBLPTR = TBO:POINTER)          !IS THIS THE RECORD?
  11.         TO_SELL = TBO:SHARES             !YES - SET # OF SHARES
  12.         EXIT
  13.     . .
  14.  
  15. !FROM PICK_OPEN PROCEDURE
  16. TOT_TO_SELL ROUTINE
  17. ! TOTAL UP NUMBER OF SHARES TO SELL
  18.     TOT_SHARES = 0                  !INITIAL COUNTER
  19.     LOOP X# = 1 TO RECORDS(OPN_TABLE)!LOOP THROUGH MEMORY TABLE
  20.      GET(OPN_TABLE,X#)
  21.      IF (ERROR()) THEN STOP('Open Table : ' & ERROR()).
  22.      TOT_SHARES += TBO:SHARES       !ADD UP SHARES
  23.     .
  24.  
  25. !FROM ASK_SELL_SH PROCEDURE
  26. ADD_OPN_SELL ROUTINE
  27. ! SEE IF ALREADY SELLING SOME SHARES FROM THIS RECORD.
  28. ! IS SO, UPDATE MEMORY TABLE ENTRY. 
  29. ! OTHERWISE, ADD TO MEMORY TABLE.
  30. ! 'OPNPTR' IS RECORD POINTER
  31.     LOOP X# = 1 TO RECORDS(OPN_TABLE)!LOOP THROUGH MEMORY TABLE
  32.       GET(OPN_TABLE,#)
  33.       IF (ERROR()) THEN STOP('Open Table : ' & ERROR()).
  34.       IF (OPNPTR = TBO:POINTER)     !IS THIS THE RECORD?
  35.         TBO:SHARES = TO_SELL        !YES - UPDATE IT
  36.         PUT(OPN_TABLE)
  37.         EXIT                        !AND RETURN
  38.     . .
  39.     TBO:POINTER = OPNPTR            !ADD TO MEMORY TABLE
  40.     TBO:SHARES = TO_SELL
  41.     ADD(OPN_TABLE)
  42.     IF (ERROR()) THEN STOP('Open Table : ' & ERROR()).
  43.  
  44.