Listing: 1 DEFINITION MODULE NumInput; 2 (* 3 * REPERTOIRE 4 * Release 1.6 5 * By Charles Bradford and Cole Brecheen 6 * (c) Copyright 1985-1992 PMI 7 * Green Bay, Wisconsin 8 * All rights reserved 9 * (414) 468-6040 10 * 11 * $Header: D:/logfiles/defs/numinput.dev 1.3 30 Dec 1990 18:06:52 coleb $ 12 * 13 *) 14 15 (* 16 Author: Mike Carter 17 Description: 18 Enter or edit a numeric field. Replacement for PMI 19 StrInput.ReadNumeric. Note that parameters are 20 slightly different: 21 1. PMI FloatingPoint and InDecimals parameters have 22 been removed. They simply have no meaning the way 23 real number input is now handled. 24 2. minusOK has been added - see below. 25 3. The meaning of DecimalPlaces has been changed - 26 see below. 27 28 Notes on parameters: 29 * A new field was added in 30 ScrnTypes.InputFieldRecord called "decimalPlace", 31 with corresponding type DecimalPlaceType. This 32 was designed to be passed to this routine: a -1 33 value indicates user-specified decimal points (or 34 none); a 0 means no digits after the decimal 35 point, a 1 means one digit, etc. 36 * The value of minusOK determines whether negative 37 numbers are allowed; this can be set from rMin, 38 iMin within UserOps. Must be FALSE for strings 39 that are later to be interpreted as CARDINAL. 40 *) 41 42 IMPORT KbdInput; 43 IMPORT VWindows; 44 FROM ScrnTypes IMPORT DecimalPlaceType; 45 46 PROCEDURE ReadNumericField 47 ( WindowHandle : VWindows.AWindowHandle; ***** ^ not supported yet 48 VAR TheStr : ARRAY OF CHAR; (* in/out *) ***** ^ not supported yet 49 col1 : CARDINAL; (* in *) 50 row1 : CARDINAL; (* in *) 51 FieldWidth : CARDINAL; (* in *) 52 DecimalPlaces: DecimalPlaceType; (* in *) 53 minusOK : BOOLEAN; (* in *) 54 VAR LastKey : CARDINAL; (* in/out *) 55 VAR ExitKeys : KbdInput.KeyNumSet (* in *) ***** ^ not supported yet 56 ); 57 (* 58 * This is a general-purpose numeric input routine that 59 * replaces the StrInput.ReadNumeric procedure. The 60 * parameters are slightly different. 61 *) 62 63 PROCEDURE Init(); 64 65 END NumInput. ***** ^ not supported yet 4 errors