• 検索結果がありません。

プロジェクトの作成

ドキュメント内 NetCOBOL for .NET 応用編 (ページ 119-130)

第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フ ォ ー ム ア プ リ ケ ー シ ョ ン に よ る フ ァ イ ル 変 換 プ ロ グ ラ ム の 作 成 手 順 で す 。

◇MEMO◇ 

ドキュメント内 NetCOBOL for .NET 応用編 (ページ 119-130)