;; | ---------------------------------------------------------------------------- ;; | DL_ProcTile1 ;; | ---------------------------------------------------------------------------- ;; | Function : Generic function for processing input of values in tiles. ;; | Arguments : ;; | 'TileName' - key of the tile ;; | 'dflt' - Default value of the tile ;; | 'TileType' - Type of the tile-Possible values are as follows: ;; | "Integer" - Integer value tile ;; | "Real" - Real value tile ;; | "String" - String Value tile ;; | 'ValueFlag'- Allowable values for the tile variable ;; | "Plus" - Plus Only ;; | "Minus" - Minus Only ;; | "ZeroPlus" - Zero + Plus ;; | "ZeroMinus" - Zero + Minus ;; | "All" - All Values ;; | 'Prec' - Precision to use ;; | Author : Rakesh Rao, (C) Rakesh Rao, Bangalore ;; | Updated : October 23, 2000 ;; | e-mail : rakesh.rao@4d-technologies.com ;; | Web : www.4d-technologies.com ;; | ----------------------------------------------------------------------------- (defun DL_ProcTile1(TileName dflt TileType ValueFlag prec / tmp errstr ) (setq tmp (get_tile TileName)) (if tmp (progn (cond ((member TileType (list "Integer" "Real")) ; Integer Tile (cond ((= TileType "Integer") (setq tmp (atoi tmp)) ) ((= TileType "Real") (setq tmp (distof tmp (getvar "LUNITS"))) (if (not tmp) (setq tmp 0.0) ) ) ) (cond ((= ValueFlag "Plus") ; Plus only (if (> tmp 0) (setq errstr "" dflt tmp ) (setq errstr "Invalid entry, only +ve values permitted.") ) ) ((= ValueFlag "Minus") ; Minus Only (if (< tmp 0) (setq errstr "" dflt tmp ) (setq errstr "Invalid entry, only -ve values permitted.") ) ) ((= ValueFlag "ZeroPlus") ; Zero + Plus values only (if (>= tmp 0) (setq errstr "" dflt tmp ) (setq errstr "Invalid entry, only zero or +ve values allowed.") ) ) ((= ValueFlag "ZeroMinus") ; Zero + Minus values only (if (<= tmp 0) (setq errstr "" dflt tmp ) (setq errstr "Invalid entry, only zero or -ve values allowed.") ) ) ((= ValueFlag "All") (setq errstr "" dflt tmp ) ) ) ) ((= TileType "String") ; String Tile (setq dflt tmp errstr "" ) ) ) )) (set_tile "error" errstr) (setq tmp dflt) (cond ((= TileType "Integer") (setq tmp (itoa dflt)) (set_tile TileName tmp) ) ((= TileType "Real") (setq tmp (rtos dflt (getvar "LUNITS") prec)) (set_tile TileName tmp) ) ((= TileType "String") (set_tile TileName tmp) ) ) dflt )