home *** CD-ROM | disk | FTP | other *** search
/ C/C++ Interactive Guide / c-cplusplus-interactive-guide.iso / c_ref / csource1 / chint / useful08.hnt < prev    next >
Text File  |  1992-03-30  |  2KB  |  91 lines

  1. {****************************************************************************
  2. How to turn the fix skeleton into a "post to all records" skeleton.
  3.  
  4. This is specifically coded to work with the CASHBOOK tutorial, but the idea
  5. could be followed through for any particular database.
  6.  
  7. Into a function file, PROCESS.FUN, write the following code :--
  8.  
  9.  
  10.  
  11. string newAmount;
  12.  
  13. void getUserInput(void)
  14. /*
  15.   Get some user input.
  16. */
  17. {
  18.   strcy(newAmount,"      0.00");  /* MUST BE SAME LENGTH AS "TOT_CHECKS" */
  19.   dbgetstr(newAmount,_Num,
  20.            "Enter the 'Total Checks' amount to be posted to every account",
  21.            newAmount,"7#.2#","",nocheck,nohelp);
  22.   /* USE THE SAME PICTURE AS TOT_CHECKS */
  23.   strcpy(re_write_data,"Y");
  24. }
  25.  
  26. bool additionalOK(void)
  27. /*
  28.    Set Additional conditions therefore casuing records not conforming to
  29.    these conditions to be deleted
  30. */
  31. {
  32.   bool fval;
  33.  
  34.   fval = True;   /* No extra conditions in this case */
  35.   return(fval);
  36. }
  37.  
  38. void setFields(void)
  39. /*
  40.   Set certain field values, possibly based on conditional statements,
  41.   to values, possibly obtained during "GetUserInput";
  42.  
  43.   Make sure that the data put into the fields exactly matches the length
  44.   and picture of that field.
  45. */
  46. {
  47.   if (filno == 1) Strcpy(CASHBOOK1.TOT_CHECKS,NewAmount);
  48. }
  49.  
  50.  
  51.  
  52. Now make the following modifications to the skeleton :--
  53.  
  54. 1) Directly before the line ⁿFUNCMOD" add the line /**/#include "process.fun";
  55.    ie :--
  56.  
  57. /**/#include "process.fun";
  58. ⁿFUNCMODⁿ
  59.  
  60.  
  61. 2) In the function "addarec()" add, as the first statement after the
  62.    "{", /**/setFields();  ie:--
  63.  
  64. void addarec(void)
  65. {
  66. /**/setFields();
  67.   cpy_cnt++;
  68.   switch (filno) {
  69.     ⁿFIXADDRECⁿ
  70.   }
  71. }
  72.  
  73.  
  74. 3) In the body of the main program block comment out the line pick_files();
  75.    and add in a call to getUserInput() ie :--
  76.  
  77. /**//* pick_files(); */
  78. /**/getUserInput();
  79.  
  80.  
  81. 4) In the body of the main program block, just after the ⁿSETOKⁿ macro
  82.    add in the line /**/ok = ok && additionalOK();  ie:--
  83.  
  84.                         switch (filno) {
  85.                             ⁿSETOKⁿ
  86.                         };
  87. (**)        ok = ok && additionalOK();
  88.                         if (ok) {
  89.  
  90. ****************************************************************************}
  91.