home *** CD-ROM | disk | FTP | other *** search
/ The C Users' Group Library 1994 August / wc-cdrom-cusersgrouplibrary-1994-08.iso / listings / v_06_06 / v6n6020a.txt < prev    next >
Text File  |  1989-09-28  |  3KB  |  69 lines

  1.  \NLETTER\6.6\LIST2.LST
  2. Listing 2:
  3.  
  4. C-Worthy:
  5.  
  6. form = InitForm(NO_MESSAGE, 0, 0, 6, 51, DEFAULT_BORDER,
  7. TOTAL_FIELDS, NAME_FIELD, OTHER_INFO_FIELD,
  8. SIMPLE_FORM_HELP_CONTEXT);
  9. /* Create the name field and set the data pointer */
  10. InitField(&form->dataField[NAME_FIELD], FT_STRING,
  11. info.status[NAME_FIELD], FF_NO_FLAGS, NO_HELP_CONTEXT,
  12. 0, 14, NAME_PROMPT, 0, 20, 30, NO_PROCEDURE, NO_PROCEDURE);
  13. StringInit(&form->dataField[NAME_FIELD],
  14. NullPointer(char), 40, NO_PROCEDURE, SF_NAME_CASE);
  15. form->dataField[NAME_FIELD].data = (BYTE *)info.name;
  16.  
  17. /* Create the birthdate field and set the data pointer */
  18. InitField(&form->dataField[BIRTHDATE_FIELD], FT_DATE,
  19. info.status[BIRTHDATE_FIELD], FF_NO_FLAGS, NO_HELP_CONTEXT,
  20. 1, 8, BIRTHDATE_PROMPT, 1, 20, 18, NO_PROCEDURE, NO_PROCEDURE);
  21. DateInit(&form->dataField[BIRTHDATE_FIELD],
  22. 0, 0, 0, -2, -2, -2, 1,
  23. NullPointer(char), NO_PROCEDURE, DF_USE_SHORT_ALPHA_MONTH);
  24. form->dataField[BIRTHDATE_FIELD].data = (BYTE *)&info.birthDate;
  25.  
  26. /* Create the sex field and set the data pointer */
  27. InitField(&form->dataField[SEX_FIELD], FT_BOOLEAN,
  28. info.status[SEX_FIELD], FF_NO_FLAGS, NO_HELP_CONTEXT,
  29. 1, 39, SEX_PROMPT, 1, 44, 6, NO_PROCEDURE, NO_PROCEDURE);
  30. BooleanInit(&form->dataField[SEX_FIELD],
  31. 0, MALE, FEMALE);
  32. form->dataField[SEX_FIELD].data = (BYTE *)&info.sex;
  33.  
  34. /* Create the height field and set the data pointer */
  35. InitField(&form->dataField[HEIGHT_FIELD], FT_BYTE,
  36. info.status[HEIGHT_FIELD], FF_NO_FLAGS, NO_HELP_CONTEXT,
  37. 2, 3, HEIGHT_PROMPT, 2, 20, 6, NO_PROCEDURE, NO_PROCEDURE);
  38. ByteInit(&form->dataField[HEIGHT_FIELD],
  39. 0, "30..96", NO_DECIMAL_PLACES, NO_PROCEDURE, NF_NORMAL);
  40. form->dataField[HEIGHT_FIELD].data = (BYTE *)&info.height;
  41.  
  42. /* Create the weight field and set the data pointer */
  43. InitField(&form->dataField[WEIGHT_FIELD], FT_INTEGER,
  44. info.status[WEIGHT_FIELD], FF_NO_FLAGS, NO_HELP_CONTEXT,
  45. 2, 27, WEIGHT_PROMPT, 2, 44, 6, NO_PROCEDURE, NO_PROCEDURE);
  46. IntegerInit(&form->dataField[WEIGHT_FIELD],
  47. 0, "0..500", NO_DECIMAL_PLACES, NO_PROCEDURE, NF_NORMAL);
  48. form->dataField[WEIGHT_FIELD].data = (BYTE *)&info.weight;
  49.  
  50. /* Create the other information field and set the data pointer */
  51. InitField(&form->dataField[OTHER_INFO_FIELD], FT_VISIBLE_TEXT,
  52. info.status[OTHER_INFO_FIELD], FF_NO_FLAGS, NO_HELP_CONTEXT,
  53. 3, 1, OTHER_INFO_PROMPT, 3, 20, 30, NO_PROCEDURE, NO_PROCEDURE);
  54. VisibleTextInit(&form->dataField[OTHER_INFO_FIELD],
  55. 3, 30, NullPointer(char), 512);
  56. form->dataField[OTHER_INFO_FIELD].data = (BYTE *)info.otherInformation;
  57.  
  58. /* Set the default form field movement */
  59. SetDefaultFormMovement(form, ROW_MOVEMENT, NO_WRAPPING);
  60.  
  61. /* Change the help message and edit the form */
  62. ChangeMessageLine(HELP_LINE, CENTER_JUSTIFY, GENERAL_HELP_MESSAGE);
  63. EditForm(form, FC_NO_FLAGS, NOPROC);
  64.  
  65. /* Save the form's status flags and then destroy the form */
  66. for (count = 0; count < TOTAL_FIELDS; count++)
  67. info.status[count] = form->dataField[count].status;
  68. DestroyForm(form);
  69.