モジュール記述ルールについて
T'sDocのモジュール関連の仕様書では、モジュールに記述されているプログラムのコードを1行ずつ解析して仕様書を作成します。「プロシージャ一覧表」や「ソースリスト」については特別な記述をしなくてもそのまま仕様書が作成されますが、「プロシージャ説明書」や「変数/定数定義書」については、より詳細な仕様書を作成するためにT'sDoc独自の記述ルールにしたがってコードを記述する必要があります。ここではその記述ルールについて説明します。
コード例
仕様書出力例
注意事項
コード例
仕様書出力例
注意事項
コード例
仕様書出力例
注意事項
プロシージャ説明文
「プロシージャ説明書」では、そのプロシージャの処理の概要や引数、返値、宣言などのプロシージャのリファレンス情報が出力されます。この情報をT'sDocの仕様書として出力するには、次の例のようにプロシージャ説明文をコーディングします。コード例
Public Function GetDateLater(dtmDate As Date, Interval As Integer) As Date
’
’概要 指定日付に対して日付間隔を加算した日付を返します。
’
’引数 dtmDate : 加算対象の日付
’ Interval: 加算する日付間隔
’ 1:1日後 2:1週間後 3:1ヶ月後 4:1年後
’
’返値 加算後の日付を日付型変数として返します。
’
’備考 引数’Interval’に1〜4以外の値を指定したときは、
’ エラー番号1001を発生させます。
’
’概要 指定日付に対して日付間隔を加算した日付を返します。
’
’引数 dtmDate : 加算対象の日付
’ Interval: 加算する日付間隔
’ 1:1日後 2:1週間後 3:1ヶ月後 4:1年後
’
’返値 加算後の日付を日付型変数として返します。
’
’備考 引数’Interval’に1〜4以外の値を指定したときは、
’ エラー番号1001を発生させます。
仕様書出力例
注意事項
- 「概要」などはプロシージャ宣言行の下に記述し、行の左端から「’概要」のように記述してください。
- 「概要」などの項目名とその説明文との間には必ず1文字以上のスペースを入れてください。
(例: ’概要<スペース>XXXXXXX や 概要:<スペース>XXXXXXX など)
- 「概要」や「引数」などの説明文を記述した1まとまりの部分は、すべて ’ (コメント)で始め、途中に ’ で始まらない空の行(リターンのみの行)を入れないようにしてください。
- 記述が複数行に渡っている「概要」や「引数」などの説明文については、それぞれの行の最後にスペース3文字が挿入された形で1行につなげられて印刷されます。
フロー説明文
「プロシージャ説明書」では、そのプロシージャの概略の処理フローが出力されます。この情報をT'sDocの仕様書として出力するには、次の例のようにそのフロー説明文(コメント)をコーディングします。コード例
’/ 引数’Interval’の値によって処理を分岐します
Select Case Interval
Case 1
’// 1のときは1日後をセット
dtmTempDate = DateAdd("d", 1, dtmDate) ’/DateAdd関数で加算
Case 2
’// 2のときは1週間後をセット
dtmTempDate = DateAdd("ww", 1, dtmDate)
Case 3
’// 3のときは1ヶ月後をセット
dtmTempDate = DateAdd("m", 1, dtmDate)
Case 4
’// 4のときは1年後をセット
dtmTempDate = DateAdd("yyyy", 1, dtmDate)
Case Else
’// 1〜4以外のときはエラーを生成
’/// エラー番号を設定
lngErrNum = 10001
’/// エラーメッセージを設定
strErrMsg = "引数’Interval’には1〜4の値を指定してください。"
’エラーを発生させる
Err.Raise lngErrNum, , strErrMsg
End Select
’/ プロシージャの返り値に加算後の日付をセット
GetDateLater = dtmTempDate
Select Case Interval
Case 1
’// 1のときは1日後をセット
dtmTempDate = DateAdd("d", 1, dtmDate) ’/DateAdd関数で加算
Case 2
’// 2のときは1週間後をセット
dtmTempDate = DateAdd("ww", 1, dtmDate)
Case 3
’// 3のときは1ヶ月後をセット
dtmTempDate = DateAdd("m", 1, dtmDate)
Case 4
’// 4のときは1年後をセット
dtmTempDate = DateAdd("yyyy", 1, dtmDate)
Case Else
’// 1〜4以外のときはエラーを生成
’/// エラー番号を設定
lngErrNum = 10001
’/// エラーメッセージを設定
strErrMsg = "引数’Interval’には1〜4の値を指定してください。"
’エラーを発生させる
Err.Raise lngErrNum, , strErrMsg
End Select
’/ プロシージャの返り値に加算後の日付をセット
GetDateLater = dtmTempDate
仕様書出力例
注意事項
- プロシージャ説明書にフローとして印刷したいコメントは、 ’/ でコメントを始めます。通常のコメントはフローの対象とはされず、無視されます。
- 「/(スラッシュ)」の数に応じてフロー説明文は段下げされます。
例: ’// ’///
- コードの右側に ’/ を記述した場合もフロー説明文として解釈されます。プロシージャ内の変数や定数の右側に ’/ を記述しても「変数/定数定義書」には出力されませんので注意してください(「変数/定数定義書」は"Declaration"セクションのみを対象としています)。
- フロー説明文は1つのプロシージャについて最大で約60行程度にしてください。使用されるプリンタの設定によって異なりますが、プロシージャ説明書の1ページ分を超えるフロー説明文はカットされます。
変数/定数説明文
「変数/定数定義書」では、各モジュールの"Declaration"セクションで宣言された変数や定数の定義が出力されます。この情報をT'sDocの仕様書として出力するには、次の例のようにその変数/定数説明文(コメント)をコーディングします。コード例
’他のモジュールにも有効な変数を宣言
Public pstrFormName As String ’/ フォーム名
Public pstrReportName As String ’/ レポート名
Public pblnEndflg As Boolean ’/ 終了フラグ
’ 終了ボタンが押されたら True
’このモジュール内だけで有効なエラー定数を定義
Private Const ERR_TABLENOTEXIST = 3078 ’/ テーブル/クエリが見つからないエラー
Private Const ERR_FILENOTEXIST = 53 ’/ ファイルが存在しないエラー
Private Const ERR_NOCURRENTREC = 3021 ’/ カレントレコードなしエラー
Public pstrFormName As String ’/ フォーム名
Public pstrReportName As String ’/ レポート名
Public pblnEndflg As Boolean ’/ 終了フラグ
’ 終了ボタンが押されたら True
’このモジュール内だけで有効なエラー定数を定義
Private Const ERR_TABLENOTEXIST = 3078 ’/ テーブル/クエリが見つからないエラー
Private Const ERR_FILENOTEXIST = 53 ’/ ファイルが存在しないエラー
Private Const ERR_NOCURRENTREC = 3021 ’/ カレントレコードなしエラー
仕様書出力例
注意事項
- 変数/定数説明文は必ず ’/ でコメントを始めます。通常のコメントは定義書の対象とはされず、無視されます。
- 変数/定数説明文として認識するのは、その変数/定数の宣言と同じ行の右側に記述されたものだけです。次のように、変数/定数の宣言されている行の上あるいは下に説明文が記述されている場合は、’/ で始まっていても変数/定数説明文として認識されません。
’/ テーブル/クエリが見つからないエラー
Private Const ERR_TABLENOTEXIST = 3078
また次のように、説明文が複数行に渡って記述されている場合にも、変数/定数の宣言されている行以外の説明文は認識されません。
Private Const ERR_TABLENOTEXIST = 3078 ’/テーブル/クエリが
’/見つからないエラー
- コード上、1行に複数の変数/定数が宣言されている場合、仕様書としては1行あたり1つの変数/定数に分けて、複数行に印刷されます。