第4章 NetCOBOL for .NETによる 画面プログラムの作成
4.5 Windowsフォームアプリケーションの作成
4.5.2 プロジェクトの作成
[新 規 作 成] - [プ ロ ジ ェ ク ト]を 選 択 し ま す 。
¾ 手 順2
[プ ロ ジ ェ ク ト の 種 類]よ り 「C O B O Lプ ロ ジ ェ ク ト 」 、[テ ン プ レ ー ト] フ レ ー ム よ り 「Wi n d o w sア プ リ ケ ー シ ョ ン 」 を 選 択 し 、[プ ロ ジ ェ ク ト 名]、[ソ リ ュ ー シ ョ ン 名]の 両 テ キ ス ト ボ ッ ク ス に
「C N V F I L E W I N」 な ど 任 意 の 名 称 を 入 力 し 、[場 所]の テ キ ス ト ボ ッ ク ス に プ ロ ジ ェ ク ト の 作 成 フ ォ ル ダ を 指 定 後 、 「O K」 ボ タ ン を ク リ ッ ク し ま す 。
¾ 手 順3
手 順2で 指 定 し た テ ン プ レ ー ト に 従 っ て 、 プ ロ ジ ェ ク ト が 自 動 生 成 さ れ ま す(生 成 直 後 の 画 面 イ メ ー ジ で す)。Wi n d o w sフ ォ ー ム デ ザ イ ナ ウ イ ン ド ウ に 初 期 状 態 のWi n d o w sフ ォ ー ム が 表 示 さ れ て い ま す 。
¾ 手 順4
Wi n d o w sフ ォ ー ム 内 に 、 「 ツ ー ル ボ ッ ク ス 」 か ら コ ン ト ロ ー ル を 選 択
し 、 下 図 の よ う に 配 置 し ま す 。
Te x t B o x コ ン ト ロ ー ル
B u t t o n コ ン ト ロ ー ル L a b e l
コ ン ト ロ ー ル
ツ ー ル ボ ッ ク ス か ら コ ン ト ロ ー ル を 選 択 し て 貼 り 付 け る
O p e n F i l e D i a l o g コ ン ト ロ ー ル
S a v e F i l e D i a l o g コ ン ト ロ ー ル
¾ 手 順5
コ ン ト ロ ー ル の 配 置 が 完 了 し た ら 、 各 コ ン ト ロ ー ル の プ ロ パ テ ィ を 設 定 し ま す 。 コ ン ト ロ ー ル を ク リ ッ ク す る と 表 示 さ れ る プ ロ パ テ ィ ウ ィ ン ド ウ で 、 プ ロ パ テ ィ を 設 定 し ま す 。
各 コ ン ト ロ ー ル に 設 定 す る プ ロ パ テ ィ は 、 次 の と お り で す 。 [ l a b e l 1 ]の プ ロ パ テ ィ 表
示
[ l a b e l 1 ]コ ン ト ロ ー ル を ク リ ッ ク
b u t t o n 1 l a b e l 1 t e x t B o x 1
b u t t o n 2
b u t t o n 3
l a b e l 2 t e x t B o x 2
コ ン ト ロ ー ル プ ロ パ テ ィ 値
l a b e l 1 T e x t 入 力 フ ァ イ ル
l a b e l 2 T e x t 出 力 フ ァ イ ル
t e x t B o x 1 N a m e t x t I n f i l e
t e x t B o x 2 N a m e t x t O u t f i l e
N a m e b t n O p e n
b u t t o n 1
T e x t " . . . "
N a m e b t n S a v e
b u t t o n 2
T e x t " . . . "
N a m e b t n O u t
b u t t o n 3
T e x t " C S V 出 力 "
o p e n F i l e D i a l o g 1 I n i t i a l D i r e c t o r y " . "
s a v e F i l e D i a l o g 1 I n i t i a l D i r e c t o r y " . "
¾ 手 順6
プ ロ パ テ ィ の 設 定 が 完 了 し た ら 、 コ ー ド エ デ ィ タ ウ ィ ン ド ウ で 、 コ ー デ ィ ン グ を 行 い ま す 。
コ ー デ ィ ン グ が 必 要 な の は 、b u t t o nコ ン ト ロ ー ル( b t n O p e n、b t n S a v e、 b t n O u t )のC l i c kイ ベ ン ト で す 。 フ ォ ー ム 上 のb u t t o nコ ン ト ロ ー ル を 直 接 ダ ブ ル ク リ ッ ク す る と 、C l i c kイ ベ ン ト の コ ー ド エ デ ィ タ に カ ー ソ ル が 遷 移 す る の で 、 処 理 を 追 加 し ま す 。
な お 、 他 の イ ベ ン ト の コ ー デ ィ ン グ を 行 う 際 は 、 下 図 の よ う に 、 対 象 と な る コ ン ト ロ ー ル を 選 択 し た 状 態 で 、 プ ロ パ テ ィ ウ ィ ン ド ウ 内 の イ ベ ン ト の ア イ コ ン を ク リ ッ ク す る と 、 イ ベ ン ト 一 覧 が 表 示 さ れ ま す 。 こ こ で 、 該 当 の イ ベ ン ト を ダ ブ ル ク リ ッ ク す る と 、 選 択 し た イ ベ ン ト の コ ー ド エ デ ィ タ に カ ー ソ ル が 遷 移 し ま す 。
任 意 の イ ベ ン ト を ダ ブ ル ク リ ッ ク す る と イ ベ ン ト の コ ー ド ウ イ ン ド ウ に カ ー ソ ル が 遷 移
[イ ベ ン ト]ボ タ ン を ク リ ッ ク す る と イ ベ ン ト が 一 覧 表 示 さ れ る
ま た 、 リ ポ ジ ト リ 段 落 に ク ラ ス 名 や プ ロ パ テ ィ 名 を 宣 言 し た り 、 デ ー タ 部 に 作 業 領 域 を 定 義 し た り す る 必 要 が あ る か も 知 れ ま せ ん 。 な お 、 コ ン ト ロ ー ル を 設 定 す る た め に 必 要 な ク ラ ス 名 や プ ロ パ テ ィ 名 の 宣 言 は 、 コ ン ト ロ ー ル を フ ォ ー ム 上 に 配 置 し た タ イ ミ ン グ で 自 動 的 に 生 成 さ れ ま す 。
次 の ソ ー ス を 参 考 に 、 コ ー デ ィ ン グ を 行 っ て く だ さ い 。
b t n O u t _ C l i c kイ ベ ン ト に 次 の 処 理 を 追 加 M E T H O D - I D . b t n O u t ̲ C l i c k P R I V A T E . D A T A D I V I S I O N .
W O R K I N G - S T O R A G E S E C T I O N . 0 1 W - E N V V A L U E P I C X ( 2 4 0 ) . L I N K A G E S E C T I O N .
0 1 s e n d e r O B J E C T R E F E R E N C E C L A S S - O B J E C T . 0 1 e O B J E C T R E F E R E N C E C L A S S - E V E N T A R G S . P R O C E D U R E D I V I S I O N U S I N G B Y V A L U E s e n d e r e . * > 環 境 変 数 に フ ァ イ ル を 設 定
D I S P L A Y " S Y O P F " U P O N E N V - N A M E .
S E T W - E N V V A L U E T O P R O P - T E X T O F t x t I n f i l e . D I S P L A Y W - E N V V A L U E U P O N E N V - V A L U E .
D I S P L A Y " C S V F I L E " U P O N E N V - N A M E .
S E T W - E N V V A L U E T O P R O P - T E X T O F t x t O u t f i l e . D I S P L A Y W - E N V V A L U E U P O N E N V - V A L U E .
* > フ ァ イ ル 変 換 呼 び 出 し C A L L " C N V F I L E " .
I N V O K E C L A S S - M E S S A G E B O X " S h o w "
U S I N G S E L F N " 処 理 が 終 了 し ま し た " . E N D M E T H O D b t n O u t ̲ C l i c k .
b t n O p e n _ C l i c kイ ベ ン ト に 次 の 処 理 を 追 加 M E T H O D - I D . b t n O p e n ̲ C l i c k P R I V A T E . D A T A D I V I S I O N .
W O R K I N G - S T O R A G E S E C T I O N .
0 1 W - R E T O B J E C T R E F E R E N C E E N U M - D I A L O G R E S U L T . L I N K A G E S E C T I O N .
0 1 s e n d e r O B J E C T R E F E R E N C E C L A S S - O B J E C T . 0 1 e O B J E C T R E F E R E N C E C L A S S - E V E N T A R G S . P R O C E D U R E D I V I S I O N U S I N G B Y V A L U E s e n d e r e . * > ダ イ ア ロ グ 表 示
I N V O K E o p e n F i l e D i a l o g 1 " S h o w D i a l o g " U S I N G S E L F R E T U R N I N G W - R E T .
I F W - R E T = P R O P - O K O F E N U M - D I A L O G R E S U L T T H E N S E T P R O P - T E X T O F t x t I n f i l e T O P R O P - F I L E N A M E O F o p e n F i l e D i a l o g 1
E N D - I F .
E N D M E T H O D b t n O p e n ̲ C l i c k .
b t n S a v e _ C l i c kイ ベ ン ト に 次 の 処 理 を 追 加
な お 、 上 記 イ ベ ン ト の 処 理 で 必 要 な ク ラ ス 、 プ ロ パ テ ィ 、 機 能 を 追 加 し ま す 。
M E T H O D - I D . b t n S a v e ̲ C l i c k P R I V A T E . D A T A D I V I S I O N .
W O R K I N G - S T O R A G E S E C T I O N .
0 1 W - R E T O B J E C T R E F E R E N C E E N U M - D I A L O G R E S U L T . L I N K A G E S E C T I O N .
0 1 s e n d e r O B J E C T R E F E R E N C E C L A S S - O B J E C T . 0 1 e O B J E C T R E F E R E N C E C L A S S - E V E N T A R G S . P R O C E D U R E D I V I S I O N U S I N G B Y V A L U E s e n d e r e . * > ダ イ ア ロ グ 表 示
I N V O K E s a v e F i l e D i a l o g 1 " S h o w D i a l o g "
U S I N G S E L F R E T U R N I N G W - R E T .
I F W - R E T = P R O P - O K O F E N U M - D I A L O G R E S U L T T H E N S E T P R O P - T E X T O F t x t O u t f i l e T O
P R O P - F I L E N A M E O F s a v e F i l e D i a l o g 1 E N D - I F .
E N D M E T H O D b t n S a v e ̲ C l i c k .
S P E C I A L - N A M E S句 に 次 の ソ ー ス を 追 加
S P E C I A L - N A M E S .
E N V I R O N M E N T - N A M E I S E N V - N A M E E N V I R O N M E N T - V A L U E I S E N V - V A L U E .
R E P O S I T O RY句 に 次 の 処 理 を 追 加
以 上 で ソ ー ス の 追 加 は 完 了 で す 。
R E P O S I T O R Y .
: E N U M E N U M - D I A L O G R E S U L T A S
" S y s t e m . W i n d o w s . F o r m s . D i a l o g R e s u l t "
: C L A S S C L A S S - M E S S A G E B O X A S
" S y s t e m . W i n d o w s . F o r m s . M e s s a g e B o x "
:
P R O P E R T Y P R O P - F I L E N A M E A S " F i l e N a m e "
P R O P E R T Y P R O P - O K A S " O K " .
¾ 手 順7
次 に 、 第2章 で 作 成 し た フ ァ イ ル 変 換 の コ ン ソ ー ル ア プ リ ケ ー シ ョ ン の ソ ー ス プ ロ グ ラ ム を 、Wi n d o w sフ ォ ー ム か ら 呼 び 出 せ る よ う に 、 サ ブ ル ー チ ン と し て 追 加 し ま す 。
[ソ リ ュ ー シ ョ ン エ ク ス プ ロ ー ラ]ウ ィ ン ド ウ よ り[ソ ー ス フ ァ イ ル]フ ォ ル ダ を 右 ク リ ッ ク し 、[追 加] - [既 存 項 目 の 追 加]を 選 択 し ま す 。 表 示 さ れ る ダ イ ア ロ グ ボ ッ ク ス で 、 該 当 の プ ロ グ ラ ム( C S V O U T. c o b )を 指 定 し て く だ さ い 。
¾ 手 順8
[ビ ル ド]メ ニ ュ ー か ら[ソ リ ュ ー シ ョ ン の ビ ル ド]を 実 行 し て 、 翻 訳 エ ラ ー な ど が な い か 確 認 し ま す 。
¾ 手 順9
ビ ル ド が 正 常 実 行 し た ら 、 い よ い よ 実 行 で す 。[デ バ ッ グ]メ ニ ュ ー か ら[デ バ ッ グ な し で 開 始]を ク リ ッ ク す る と 、Wi n d o w sフ ォ ー ム が 起 動 し ま す 。 入 力 フ ァ イ ル 、 出 力 フ ァ イ ル を 指 定 し て 、[ C S V出 力]ボ タ ン を ク リ ッ ク し て く だ さ い 。
[ C S V出 力]ボ タ ン を 押 す と 、 次 の メ ッ セ ー ジ ボ ッ ク ス が 表 示 さ れ ま す 。
C S Vフ ァ イ ル の 出 力 結 果 は 、 下 図 の と お り で す 。
以 上 が 、Wi n d o w sフ ォ ー ム ア プ リ ケ ー シ ョ ン に よ る フ ァ イ ル 変 換 プ ロ グ ラ ム の 作 成 手 順 で す 。