home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 5 / 05.iso / a / a044 / 3.ddi / MISC / BANKER2.PRG < prev    next >
Encoding:
Text File  |  1993-08-31  |  3.6 KB  |  182 lines

  1. *************************************************
  2. * BANKER2.PRG - CA dBFast CREATE CONTROL version
  3. *************************************************
  4.  
  5. *: Define constants for events
  6. #DEFINE eKybd      1
  7. #DEFINE eClose     5
  8. #DEFINE eButton    6
  9.  
  10. *: Define constants for actions
  11. #DEFINE aNone      -1
  12. #DEFINE aDone      1
  13.  
  14. *: Define constants for button names
  15. #DEFINE bDone      "Done"
  16. #DEFINE bAdd       "Add"
  17.  
  18. *: Define constants for key names
  19. #DEFINE kESC       27
  20.  
  21. SET PROCEDURE TO BANKER2
  22.  
  23. USE BANKER2
  24. INDEX ON NAME TO BANKER2
  25.  
  26. STORE '' TO sTheButton, sTheKey
  27. nCustRec = 0
  28.  
  29. CREATE BUTTON bAdd  AT 23,29 SIZE 1,10 PLAIN ;
  30.     VALID ADDLOAN()
  31. CREATE BUTTON bDone AT 23,41 SIZE 1,10 PLAIN
  32.  
  33. CENTER('Demo Application',1,0,80,10)
  34.  
  35. CENTER('Customer Accounts',3,0,80,10)
  36.  
  37. SET SAY VIDEO TO 112
  38.  
  39. CREATE CONTROL FIELD NAME ;
  40.     PICTURE REPLICATE('X',20) ;
  41.     COLOR SAYVIDEO()
  42.  
  43. CREATE CONTROL BROWSE 'CustBrowse' AT 6,1 ;
  44.     SIZE 15,76 ;
  45.     TITLE 'Customer Loan Information;Name of Customer;' + ;
  46.         'Acct #;LoanDate;Beg Amt;Balance;Cat' ;
  47.     STYLE TITLE + VIEW ;
  48.     SAVE TO nCustRec
  49.  
  50.   
  51. * Initialize nAction
  52.  
  53. nAction = 0
  54.  
  55. * While not done
  56.  
  57. DO WHILE nAction <> aDone
  58.     * Get the event
  59.     nEvent = GETEVENT()
  60.     * Translate event into action
  61.     nAction = TRANSLATEEVENT(nEvent)
  62.     * Do the action
  63.     DO PROCESSACTION WITH nAction
  64. ENDDO
  65.  
  66. RETURN
  67.  
  68.  
  69. *******************
  70. FUNCTION GETEVENT()
  71. *******************
  72. PRIVATE nTheEvent
  73.  
  74. STORE '' TO sTheButton, sTheKey
  75. nTheEvent = -1
  76.  
  77. * Get an event  
  78. DO WHILE nTheEvent = -1
  79.     nTheEvent = MODALEVENT(.F.)
  80. ENDDO
  81.  
  82. * Set the global variables
  83. sTheButton = BUTTON()
  84. sTheKey    = LASTKEY()
  85. RETURN(nTheEvent)
  86.  
  87.  
  88. *************************
  89. FUNCTION TRANSLATEEVENT()
  90. *************************
  91. PARAMETER nTheEvent
  92. PRIVATE nTheAction
  93.  
  94. nTheAction = aNone
  95.  
  96. DO CASE
  97.     CASE nTheEvent = eKybd
  98.         IF LASTKEY() = kESC
  99.             nTheAction = aDone
  100.         ENDIF
  101.       
  102.     CASE nTheEvent = eClose
  103.         nTheAction = aDone
  104.       
  105.     CASE nTheEvent = eButton
  106.         IF sTheButton = bDone
  107.             nTheAction = aDone
  108.         ENDIF
  109.       
  110. ENDCASE
  111. RETURN(nTheAction)
  112.  
  113.  
  114. ***********************
  115. PROCEDURE PROCESSACTION
  116. ***********************
  117. PARAMETER nTheAction
  118.  
  119. DO CASE
  120.     CASE nTheAction = aDone
  121.         *: Already handled in the DO WHILE loop above
  122. ENDCASE
  123. RETURN
  124.  
  125.  
  126. ******************
  127. FUNCTION ADDLOAN()
  128. ******************
  129.  
  130. STORE '' TO sName, sAcct_Num, sCategory
  131. STORE DTOC(DATE()) TO sDate_Open
  132. STORE '0.00' TO sBeg_Amount
  133.  
  134. CREATE WINDOW 'New Loan' FROM 5,8 TO 18,72 ;
  135.     STYLE HIDDEN
  136.  
  137. CREATE BUTTON 'OK'     AT 0,52 SIZE 1,10
  138. CREATE BUTTON 'Cancel' AT 2,52 SIZE 1,10 PLAIN
  139.  
  140. @ 2,2 SAY "Customer's Name:"
  141. CREATE CONTROL EDITBOX 'EB.Name' AT 2,20 SIZE 1,30 ;
  142.     SAVE TO sName
  143.  
  144. @ 4,2 SAY " Account Number:"
  145. CREATE CONTROL EDITBOX 'EB.AcctNum' AT 4,20 ;
  146.     SIZE 1,14 SAVE TO sAcct_Num
  147.  
  148. @ 6,2 SAY "      Loan Date:"
  149. CREATE CONTROL EDITBOX 'EB.DateOpen' AT 6,20 ;
  150.     SIZE 1,8 SAVE TO sDate_Open
  151.  
  152. @ 8,2 SAY "    Loan Amount:"
  153. CREATE CONTROL EDITBOX 'EB.BegAmt' AT 8,20 ;
  154.     SIZE 1,14 SAVE TO sBeg_Amount
  155.  
  156. @ 10,2 SAY "  Loan Category:"
  157. CREATE CONTROL EDITBOX 'EB.Category' AT 10,20 ;
  158.     SIZE 1,10 SAVE TO sCategory
  159.  
  160. SHOW WINDOW 'New Loan'
  161. SELECT CONTROL 'EB.Name'
  162.   
  163. DO WHILE .T.    
  164.     nEvent = GetEvent()
  165.     IF nEvent = eButton 
  166.         IF BUTTON() = 'OK'
  167.             APPEND BLANK
  168.             REPLACE Name WITH sName
  169.             REPLACE Acct_No WITH sAcct_Num
  170.             REPLACE Date_Open WITH CTOD(sDate_Open)
  171.             REPLACE Beg_Amount WITH VAL(sBeg_Amount)
  172.             REPLACE Balance WITH 0.00
  173.             REPLACE Category WITH sCategory
  174.             COMMIT
  175.         ENDIF
  176.         EXIT
  177.     ENDIF
  178. ENDDO
  179.  
  180. CLOSE WINDOW 'New Loan'
  181. RETURN(.F.)
  182.