7 proc ::utils::validate::Integer {maxValue allowQuestionMarks name el op} {
8 global $name ${name}_old
9 if {[
string comp {} $el]} {
10 set old ${name}_old\($el\)
16 if {$allowQuestionMarks > 0} {
17 if {[regexp {^\?*$} [
set $name]]} {
29 set maxValue [
expr {0 - $maxValue}]
32 if {$allowNegatives} {
33 if {![regexp {^[-+]?[0-9]*$} [
set $name]]} {
39 if {![regexp {^[+]?[0-9]*$} [
set $name]]} {
45 if {[
set $name] > $maxValue} {
64 proc ::utils::validate::Date {name el op} {
65 global $name ${name}_old
67 if {![
sc_info validDate [
set $name]]} {
80 proc ::utils::validate::Result {name el op} {
81 global $name ${name}_old
83 if {![regexp {^[1|0|=|\*]?$} [
set $name]]} {
95 proc ::utils::validate::Alpha {name el op} {
96 global $name ${name}_old
98 if {![regexp {^[A-Za-z]*$} [
set $name]]} {
112 proc ::utils::validate::Regexp {expression name el op} {
113 global $name ${name}_old
115 if {![regexp $expression [
set $name]]} {
126 proc ::utils::validate::roundScale { var tickinterval value } {
127 set $var [
expr int($value/$tickinterval ) * $tickinterval]
132 proc ::utils::validate::floatScale { var tickinterval value } {
133 set $var [
format "%.1f" [
expr ($value/$tickinterval ) * $tickinterval]]