画面・帳票サポートシステム XMAP3 プログラミングガイド 画面編

[目次][用語][索引][前へ][次へ]

7.3.4 C言語固有のコーディング例

C言語にはCOBOLのような編集項目(PIC Z,9),文字項目(PIC X)という概念がないため,数を扱う場合,そのデータが文字(数字)か,または数値かをユーザが意識してAPを作成する必要があります。また,コンマを付けたりする出力数字編集もAPでする必要があります。

ここでは,C言語でAPを作成する場合に注意が必要な固有のコーディングについて説明します。

<この項の構成>
(1) エリアの一括クリアには,memsetを使用します。
(2) データの一括コピーには,memcpyを使用します。
(3) 配列データ,またはメモリ領域の比較には,memcmpを使用します。
(4) 出力論理マップ中のカーソル位置(行,列)のクリアには(00)16を使用します。
(5) 数字から数値への変換には,文字列変換関数atol,またはatofを使用します。
(6) 数値から数字への変換には書式付き出力関数sprintfを使用します。

(1) エリアの一括クリアには,memsetを使用します。

(例)
出力項目を空白でクリアする。なお,エリアサイズを求めるには,sizeof演算子を使用する。
[図データ]

(2) データの一括コピーには,memcpyを使用します。

(例)
項目属性に'PROT'を設定する。
[図データ]

(3) 配列データ,またはメモリ領域の比較には,memcmpを使用します。

(例)
INCコードが'PF01'であるかどうを判定する。
[図データ]

(4) 出力論理マップ中のカーソル位置(行,列)のクリアには(00)16を使用します。

(例)
出力カーソルの行列位置エリアをクリアする。
[図データ]

(5) 数字から数値への変換には,文字列変換関数atol,またはatofを使用します。

(例)
入力論理マップmapli中の項目(char MAP003_SU1_I[5];)に設定されている数字データを数値データに変換する。
[図データ]

(6) 数値から数字への変換には書式付き出力関数sprintfを使用します。

(例)
数値を文字に変換して出力論理マップの項目(char MAP003_GOUKEI_O[15];)に格納して計算結果などを画面に表示する。
[図データ]