事例:
カスタマイズ済みのpaperChartで、モニタ画面上と印刷画面に患者情報にて入力した身長・体重を表示できるようにしてあるが、デフォルト設定にて小数点以下の表示はされない仕様となっている(そもそも、オリジナルではモニタ画面、印刷画面ともに数値が表示される設定になっていないこともあり)。
これを、小数点以下第一位まで表示できるようにしたい。
解決方法:
dmgcnf.txtの記述を編集する
dmgcnf.txt(患者情報入力画面の設定)に関する基本を前回の別投稿にて書いています。
calc{}での身長・体重に関する記述は以下。(都合により勝手に任意の行番号を追加しています)
1. 身長値 = demograph (‘身長’);
2. 身長文字列 = 身長値 $ ‘ #’ ;
3. 体重値 = demograph (‘体重’);
4. 体重文字列 = 体重値 > 10 ? (体重値 $ ‘ #’) :
5. 体重値 > 3 ? (体重値 $ ‘#.#’) : (体重値 $ ‘#.##’) ;
1.では、変数 ‘身長値’ に入力された値を割り当てている。
それで、次の2.がポイント。
右辺の ” 身長値 $ ‘ #’ ” という部分にて、身長値を’ #’というフォーマットで文字列に変換している!
この部分を’ #.#’ とすれば小数点第一位、’ #.##’ とすれば第二位まで表示する、ということです!
したがって、今回の解決方法としては、dmgcnf.txtのcalc{}内の記述を”身長文字列 = 身長値 $ ‘ #.#’ ;” というように編集する。
次に体重について。
身長よりも少し凝った書き方がされている。
この部分は三項演算子(結果 = 条件 ? 真の場合… : 偽の場合…)です。
4. 5.の記述は、体重値>10の場合に書式’ #’、体重値>3の場合に書式’#.#’、それ以下の場合は書式’#.##’という意味となる。
であれば、体重10kg以上の条件は不要、表示する値が少数点以下第一位でよいので、
体重文字列 = 体重値 > 3 ? (体重値 $ ‘#.#’) : (体重値 $ ‘#.##’) ;
と記述を編集する。さらに、3kg以下でも小数点以下第一位で良い場合はもっとシンプルに
体重文字列 = 体重値 $ ‘#.#’ ;
とすればよい!
コメント