source: Include/Classes/System/Diagnostics/Debug.ab@ 69

Last change on this file since 69 was 69, checked in by dai, 17 years ago

Trace/Debugクラスを実装(リスナ系にちょっとTODOが残っている…)。

File size: 6.8 KB
Line 
1#ifdef _DEBUG
2
3Class Debug
4 Static base As _System_TraceBase()
5
6Public
7
8 '----------------------------------------------------------------
9 ' パブリック メソッド
10 '----------------------------------------------------------------
11
12 ' アサート(コールスタックを表示)
13 Static Sub Assert( condition As Boolean )
14 base.Assert( condition )
15 End Sub
16
17 ' アサート(メッセージ文字列を表示)
18 Static Sub Assert( condition As Boolean, message As String )
19 base.Assert( condition, message )
20 End Sub
21
22 ' アサート(メッセージ文字列と詳細文字列を表示)
23 Static Sub Assert( condition As Boolean, message As String, detailMessage As String )
24 base.Assert( condition, message, detailMessage )
25 End Sub
26
27
28 ' インデントレベルを上げる
29 Static Sub Indent()
30 base.Indent()
31 End Sub
32
33 ' インデントレベルを下げる
34 Static Sub Unindent()
35 base.Unindent()
36 End Sub
37
38 ' 文字列を出力
39 Static Sub Write( value As Object )
40 base.Write( value )
41 End Sub
42 Static Sub Write( message As String )
43 base.Write( message )
44 End Sub
45 Static Sub Write( value As Object, category As String )
46 base.Write( value, category )
47 End Sub
48 Static Sub Write( message As String, category As String )
49 base.Write( message, category )
50 End Sub
51
52 ' 一行の文字列を出力
53 Static Sub WriteLine( value As Object )
54 base.WriteLine( value )
55 End Sub
56 Static Sub WriteLine( message As String )
57 base.WriteLine( message )
58 End Sub
59 Static Sub WriteLine( value As Object, category As String )
60 base.WriteLine( value, category )
61 End Sub
62 Static Sub WriteLine( message As String, category As String )
63 base.WriteLine( message, category )
64 End Sub
65
66 ' 条件をもとに文字列を出力
67 Static Sub WriteIf( condition As Boolean, value As Object )
68 base.WriteIf( condition, value )
69 End Sub
70 Static Sub WriteIf( condition As Boolean, message As String )
71 base.WriteIf( condition, message )
72 End Sub
73 Static Sub WriteIf( condition As Boolean, value As Object, category As String )
74 base.WriteIf( condition, value, category )
75 End Sub
76 Static Sub WriteIf( condition As Boolean, message As String, category As String )
77 base.WriteIf( condition, message, category )
78 End Sub
79
80 ' 条件をもとに一行の文字列を出力
81 Static Sub WriteLineIf( condition As Boolean, message As String )
82 base.WriteLineIf( condition, message )
83 End Sub
84 Static Sub WriteLineIf( condition As Boolean, value As Object )
85 base.WriteLineIf( condition, value )
86 End Sub
87 Static Sub WriteLineIf( condition As Boolean, value As Object, category As String )
88 base.WriteLineIf( condition, value, category )
89 End Sub
90 Static Sub WriteLineIf( condition As Boolean, message As String, category As String )
91 base.WriteLineIf( condition, message, category )
92 End Sub
93
94
95 '----------------------------------------------------------------
96 ' パブリック プロパティ
97 '----------------------------------------------------------------
98
99 ' IndentLevelプロパティ
100 Static Function IndentLevel() As Long
101 Return base.IndentLevel
102 End Function
103 Static Sub IndentLevel( indentLevel As Long )
104 base.IndentLevel = indentLevel
105 End Sub
106
107 ' IndentSizeプロパティ
108 Static Function IndentSize() As Long
109 Return base.IndentSize
110 End Function
111 Static Sub IndentSize( size As Long )
112 base.IndentSize = size
113 End Sub
114
115 ' Listenersプロパティ
116 Static Function Listeners() As TraceListenerCollection
117 Return base.Listeners
118 End Function
119End Class
120
121#else
122
123Class Debug
124 Static base As _System_TraceBase()
125
126Public
127
128 '----------------------------------------------------------------
129 ' パブリック メソッド
130 '----------------------------------------------------------------
131
132 ' アサート(コールスタックを表示)
133 Static Sub Assert( condition As Boolean )
134 'base.Assert( condition )
135 End Sub
136
137 ' アサート(メッセージ文字列を表示)
138 Static Sub Assert( condition As Boolean, message As String )
139 'base.Assert( condition, message )
140 End Sub
141
142 ' アサート(メッセージ文字列と詳細文字列を表示)
143 Static Sub Assert( condition As Boolean, message As String, detailMessage As String )
144 'base.Assert( condition, message, detailMessage )
145 End Sub
146
147
148 ' インデントレベルを上げる
149 Static Sub Indent()
150 base.Indent()
151 End Sub
152
153 ' インデントレベルを下げる
154 Static Sub Unindent()
155 base.Unindent()
156 End Sub
157
158 ' 文字列を出力
159 Static Sub Write( value As Object )
160 'base.Write( value )
161 End Sub
162 Static Sub Write( message As String )
163 'base.Write( message )
164 End Sub
165 Static Sub Write( value As Object, category As String )
166 'base.Write( value, category )
167 End Sub
168 Static Sub Write( message As String, category As String )
169 'base.Write( message, category )
170 End Sub
171
172 ' 一行の文字列を出力
173 Static Sub WriteLine( value As Object )
174 'base.WriteLine( value )
175 End Sub
176 Static Sub WriteLine( message As String )
177 'base.WriteLine( message )
178 End Sub
179 Static Sub WriteLine( value As Object, category As String )
180 'base.WriteLine( value, category )
181 End Sub
182 Static Sub WriteLine( message As String, category As String )
183 'base.WriteLine( message, category )
184 End Sub
185
186 ' 条件をもとに文字列を出力
187 Static Sub WriteIf( condition As Boolean, value As Object )
188 'base.WriteIf( condition, value )
189 End Sub
190 Static Sub WriteIf( condition As Boolean, message As String )
191 'base.WriteIf( condition, message )
192 End Sub
193 Static Sub WriteIf( condition As Boolean, value As Object, category As String )
194 'base.WriteIf( condition, value, category )
195 End Sub
196 Static Sub WriteIf( condition As Boolean, message As String, category As String )
197 'base.WriteIf( condition, message, category )
198 End Sub
199
200 ' 条件をもとに一行の文字列を出力
201 Static Sub WriteLineIf( condition As Boolean, message As String )
202 'base.WriteLineIf( condition, message )
203 End Sub
204 Static Sub WriteLineIf( condition As Boolean, value As Object )
205 'base.WriteLineIf( condition, value )
206 End Sub
207 Static Sub WriteLineIf( condition As Boolean, value As Object, category As String )
208 'base.WriteLineIf( condition, value, category )
209 End Sub
210 Static Sub WriteLineIf( condition As Boolean, message As String, category As String )
211 'base.WriteLineIf( condition, message, category )
212 End Sub
213
214
215 '----------------------------------------------------------------
216 ' パブリック プロパティ
217 '----------------------------------------------------------------
218
219 ' IndentLevelプロパティ
220 Static Function IndentLevel() As Long
221 Return base.IndentLevel
222 End Function
223 Static Sub IndentLevel( indentLevel As Long )
224 base.IndentLevel = indentLevel
225 End Sub
226
227 ' IndentSizeプロパティ
228 Static Function IndentSize() As Long
229 Return base.IndentSize
230 End Function
231 Static Sub IndentSize( size As Long )
232 base.IndentSize = size
233 End Sub
234
235 ' Listenersプロパティ
236 Static Function Listeners() As TraceListenerCollection
237 Return base.Listeners
238 End Function
239End Class
240
241#endif
Note: See TracBrowser for help on using the repository browser.