Changeset 45 for Include/Classes/System/Diagnostics/Trace.ab
- Timestamp:
- Jan 6, 2007, 10:46:56 PM (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
Include/Classes/System/Diagnostics/Trace.ab
r44 r45 1 2 ' リスナ 3 Class TraceListener 4 End Class 5 6 ' リスナコレクション 7 Class TraceListenerCollection 8 Public 9 10 '---------------------------------------------------------------- 11 ' パブリック メソッド 12 '---------------------------------------------------------------- 13 14 ' リスナを追加 15 Function Add( listener As TraceListener ) 16 ' TODO: 実装 17 End Function 18 19 ' 複数のリスナを追加 20 Sub AddRange( listeners As TraceListenerCollection ) 21 ' TODO: 実装 22 End Function 23 24 ' リストからすべてのリスナを削除 25 Sub Clear() 26 ' TODO: 実装 27 End Sub 28 29 ' 指定したリスナのインデックスを取得 30 Function IndexOf( listener As TraceListener ) 31 ' TODO: 実装 32 End Function 33 34 ' リスナを挿入 35 Sub Insert( index As Long, listener As TraceListener ) 36 ' TODO: 実装 37 End Sub 38 39 ' リスナを削除 40 Function Remove( name As String ) 41 ' TODO: 実装 42 End Function 43 Function Remove( listener As TraceListener ) 44 ' TODO: 実装 45 End Function 46 47 48 '---------------------------------------------------------------- 49 ' パブリック プロパティ 50 '---------------------------------------------------------------- 51 52 ' 保有するリスナの数を取得する 53 Function Count() As Long 54 ' TODO: 実装 55 End Function 56 57 ' リスナを取得する 58 Function Item( index As Long ) As TraceListener 59 ' TODO: 実装 60 End Function 61 End Class 62 1 63 Class Trace 2 Static IndentNum = 0 As Long 64 Static indentLevel = 0 As Long 65 Static indentSize = 4 As Long 3 66 4 67 Static Function GetIndentString() As String 5 68 Dim i As Long 69 70 Dim IndentStr = "" 71 For i = 0 To ELM( indentSize ) 72 IndentStr = IndentStr + " " 73 Next 74 6 75 Dim ResultStr = "" 7 For i = 0 To ELM( IndentNum)8 ResultStr = ResultStr + Ex"\t"76 For i = 0 To ELM( indentLevel ) 77 ResultStr = ResultStr + IndentStr 9 78 Next 79 10 80 Return ResultStr 11 81 End Function 82 12 83 Public 13 84 14 /* 15 TODO: 実装 85 '---------------------------------------------------------------- 86 ' パブリック メソッド 87 '---------------------------------------------------------------- 16 88 17 ' アサート 表示89 ' アサート(コールスタックを表示) 18 90 Static Sub Assert( condition As Boolean ) 19 91 If condition == False then … … 21 93 End If 22 94 End Sub 95 96 ' アサート(メッセージ文字列を表示) 23 97 Static Sub Assert( condition As Boolean, message As String ) 24 98 If condition == False then 99 ' TODO: メッセージボックス形式での表示に対応 25 100 WriteLine( message ) 26 101 End If 27 102 End Sub 28 */ 103 104 ' アサート(メッセージ文字列と詳細文字列を表示) 105 Static Sub Assert( condition As Boolean, message As String, detailMessage As String ) 106 If condition == False then 107 ' TODO: メッセージボックス形式での表示に対応 108 WriteLine( message ) 109 End If 110 End Sub 111 29 112 30 113 ' インデントレベルを上げる 31 114 Static Sub Indent() 32 IndentNum++115 indentLevel++ 33 116 End Sub 34 117 35 118 ' インデントレベルを下げる 36 119 Static Sub Unindent() 37 If IndentNum<= 0 Then38 IndentNum= 0120 If indentLevel <= 0 Then 121 indentLevel = 0 39 122 Return 40 123 End If 41 IndentNum--124 indentLevel-- 42 125 End Sub 43 126 … … 45 128 Static Sub WriteLine( message As String ) 46 129 Dim tempmsg = GetIndentString() + message + Ex"\n" 47 OutputDebugString( tempmsg ) 130 131 ' TODO: リスナへの出力を実装 48 132 End Sub 133 134 135 '---------------------------------------------------------------- 136 ' パブリック プロパティ 137 '---------------------------------------------------------------- 138 139 ' IndentLevelプロパティ 140 Static Function IndentLevel() As Long 141 Return indentLevel 142 End Function 143 Static Sub IndentLevel( level As Long ) 144 indentLevel = level 145 End Sub 146 147 ' IndentSizeプロパティ 148 Static Function IndentSize() As Long 149 Return indentSize 150 End Function 151 Static Sub IndentSize( size As Long ) 152 indentSize = size 153 End Sub 154 155 ' Listenersプロパティ 156 Static Function Listeners() As TraceListenerCollection 157 Return listeners 158 End Function 159 Static Sub Listeners( listeners As TraceListenerCollection ) 160 This.listeners = listeners 161 End Sub 162 49 163 End Class
Note:
See TracChangeset
for help on using the changeset viewer.