home *** CD-ROM | disk | FTP | other *** search
/ QBasic & Borland Pascal & C / Delphi5.iso / C / Samples / CSAPE32.ARJ / SOURCE / FUNCS / FNSTDVAL.C < prev    next >
C/C++ Source or Header  |  1990-09-11  |  1KB  |  55 lines

  1. /*
  2.     fnstdval.c      8/07/89
  3.  
  4.     % std_NumValid
  5.  
  6.     Standard numeric validation routine.
  7.  
  8.     C-scape 3.2
  9.     Copyright (c) 1989, by Oakland Group, Inc.
  10.     ALL RIGHTS RESERVED.
  11.  
  12.     By using these routines duplicate code is eliminated, shrinking code
  13.     size.
  14.  
  15.     Revision History:
  16.     -----------------
  17.      1/25/90 jmd    converted kb_Check to kb_CheckWait
  18.      3/16/90 jmd    added support for KEY_INVALID
  19.      3/28/90 jmd    ansi-fied
  20.      9/07/90 jmd    ifdef'd out code that call sexit/senter
  21.      9/11/90 pmcm    changed sed_SetMouseCode to kb_Stuff
  22. */
  23.  
  24. #include <stdio.h>
  25.  
  26. #include "cscape.h"
  27. #include "scancode.h"
  28.  
  29. boolean std_NumValid(sed_type sed, double val)
  30. /*
  31.     Standard numeric validation routine for numeric field fexit functions.
  32.     Validates the field record using the information in the
  33.     field's second data pointer.  If invalid it beeps, flashes
  34.     a message and waits for a keystroke.
  35.     It also calls the field's sexit and senter functions to make sure
  36.     that what the user sees is exactly what is stored in the variable.
  37.     Combining all the separate fexit routines saves on code size.
  38. */
  39. {
  40.     if ( !valid_Double(val, (char *) sed_GetCurrFieldData(sed, 1)) ) {
  41.  
  42.         /* Invalid entry: notify fkey function via mouse code */
  43.         kb_Stuff(KEY_INVALID);
  44.         return(FALSE);
  45.     }
  46.  
  47. #ifdef DOSEXIT    
  48.     sed_DoFieldSexit(sed, sed_GetFieldNo(sed));
  49.     sed_DoFieldSenter(sed, sed_GetFieldNo(sed));
  50.     sed_UpdateCurrField(sed);
  51. #endif
  52.  
  53.     return(TRUE);
  54. }
  55.