From e45d7934efcebd20c613a991cf3c86b817ed468c Mon Sep 17 00:00:00 2001 From: alex Date: Wed, 7 Dec 1994 13:41:57 +0000 Subject: [PATCH] Aggiunta validate per zerofill git-svn-id: svn://10.65.10.50/trunk@741 c028cbd2-c16b-5b4b-a496-9718f37d4682 --- include/defmask.h | 5 ++++- include/validate.cpp | 21 +++++++++++++++++++-- 2 files changed, 23 insertions(+), 3 deletions(-) diff --git a/include/defmask.h b/include/defmask.h index f1259be70..9ef3b42a3 100755 --- a/include/defmask.h +++ b/include/defmask.h @@ -60,6 +60,8 @@ CHECK_FIELD esegue il check su di un altro campo campo FILENAME_FUNC controlla se la stringa e' un nome di file + ZEROFILL_FUNC riempie di zeri i numeri fino a n caratteri + n.ro di caratteri */ #define EXPR_FUNC 0 2 @@ -80,7 +82,8 @@ #define STRCALC_FUNC 15 #define ONEREQ_FUNC 16 #define CHECK_FIELD 17 1 -#define FILENAME_FUNC 18 +#define FILENAME_FUNC 18 0 +#define ZEROFILL_FUNC 19 1 #define VALEXPR VALIDATE EXPR_FUNC #define NUM_EXPR VALEXPR 0 diff --git a/include/validate.cpp b/include/validate.cpp index ad9d88523..6da567cfa 100755 --- a/include/validate.cpp +++ b/include/validate.cpp @@ -577,7 +577,23 @@ HIDDEN bool _filename_val(TEdit_field& f, KEY) return fn.ok(); } -#define MAX_FUNC 19 +HIDDEN bool _zerofill_val(TEdit_field& f, KEY k) +{ + if (f.to_check(k)) + { + const int columns = atoi(get_val_param(0)); + TString & val = f.get(); + + if (val.len() < columns && real::is_natural(val)) + { + val.right_just(columns, '0'); + f.set(val); + } + } + return TRUE; +} + +#define MAX_FUNC 20 HIDDEN VAL_FUNC _global_val_func[MAX_FUNC] = { @@ -599,7 +615,8 @@ HIDDEN VAL_FUNC _global_val_func[MAX_FUNC] = _strcalc_val, _onereq_val, _chkfld_val, - _filename_val + _filename_val, + _zerofill_val }; bool validate(int fn, TEdit_field& f, KEY k, const TArray& parms)