source: trunk/Include/Classes/System/IO/TextWriter.ab@ 468

Last change on this file since 468 was 468, checked in by イグトランス (egtra), 16 years ago

TextWriter, StreamWriterの追加。
SPrintfの浮動小数点数変換で、NaN, Infiniteの出力に対応。
PathとDirectoryInfoのCreateDirectoryで、対象が既に存在するときには例外を投げないように修正。
SimpleTestCase内で使用する一時フォルダの場所にGetTempPathで取得する版を追加(コメントアウト)。

File size: 2.7 KB
Line 
1'Classes/System/IO/TextWriter.ab
2
3Namespace System
4Namespace IO
5
6/*
7@brief テキスト書き込みの抽象基底クラス
8@date 2007/03/05
9@auther Egtra
10*/
11Class TextWriter
12Public
13 Virtual Sub ~TextWriter()
14 Dispose(False)
15 End Sub
16
17' Static Null = StreamWriter.Null As StreamWriter
18
19Public
20 Sub Close()
21 Dispose(True)
22 End Sub
23
24 Sub Dispose()
25 Dispose(True)
26 End Sub
27
28 Sub TextWriter()
29 newLine = Environment.NewLine
30 End Sub
31
32 Abstract Sub Write(s As String)
33 Virtual Sub Write(x As Boolean)
34 Write(Str$(x))
35 End Sub
36
37 Virtual Sub Write(x As Char)
38 Write(Chr$(x))
39 End Sub
40
41 Virtual Sub Write(x As Byte)
42 Write(Str$(x))
43 End Sub
44#ifdef UNICODE
45 Virtual Sub Write(x As SByte)
46 Write(Str$(x))
47 End Sub
48#else
49 Virtual Sub Write(x As Word)
50 Write(Str$(x))
51 End Sub
52#endif
53 Virtual Sub Write(x As Integer)
54 Write(Str$(x))
55 End Sub
56
57 Virtual Sub Write(x As DWord)
58 Write(Str$(x))
59 End Sub
60
61 Virtual Sub Write(x As Long)
62 Write(Str$(x))
63 End Sub
64
65 Virtual Sub Write(x As QWord)
66 Write(Str$(x))
67 End Sub
68
69 Virtual Sub Write(x As Int64)
70 Write(Str$(x))
71 End Sub
72
73 Virtual Sub Write(x As Single)
74 Write(Str$(x))
75 End Sub
76
77 Virtual Sub Write(x As Double)
78 Write(Str$(x))
79 End Sub
80
81 Virtual Sub Write(x As Object)
82 Write(x.ToString)
83 End Sub
84
85 Sub WriteLine()
86 Write(newLine)
87 End Sub
88
89 Sub WriteLine(s As String)
90 Write(s)
91 WriteLine()
92 End Sub
93
94 Sub WriteLine(x As Boolean)
95 Write(Str$(x))
96 WriteLine()
97 End Sub
98
99 Sub WriteLine(x As Char)
100 Write(Chr$(x))
101 WriteLine()
102 End Sub
103
104 Sub WriteLine(x As Byte)
105 Write(Str$(x))
106 WriteLine()
107 End Sub
108#ifdef UNICODE
109 Sub WriteLine(x As SByte)
110 Write(Str$(x))
111 WriteLine()
112 End Sub
113#else
114 Sub WriteLine(x As Word)
115 Write(Str$(x))
116 WriteLine()
117 End Sub
118#endif
119 Sub WriteLine(x As Integer)
120 Write(Str$(x))
121 WriteLine()
122 End Sub
123
124 Sub WriteLine(x As DWord)
125 Write(Str$(x))
126 WriteLine()
127 End Sub
128
129 Sub WriteLine(x As Long)
130 Write(Str$(x))
131 WriteLine()
132 End Sub
133
134 Sub WriteLine(x As QWord)
135 Write(Str$(x))
136 WriteLine()
137 End Sub
138
139 Sub WriteLine(x As Int64)
140 Write(Str$(x))
141 WriteLine()
142 End Sub
143
144 Sub WriteLine(x As Single)
145 Write(Str$(x))
146 WriteLine()
147 End Sub
148
149 Sub WriteLine(x As Double)
150 Write(Str$(x))
151 WriteLine()
152 End Sub
153
154 Sub WriteLine(x As Object)
155 Write(x.ToString)
156 WriteLine()
157 End Sub
158
159 /*
160 @brief 改行文字の設定
161 @date 2007/03/05
162 @auther Egtra
163 */
164 Sub NewLine(n As String)
165 newLine = n
166 End Sub
167 /*
168 @brief 改行文字の取得
169 @date 2007/03/05
170 @auther Egtra
171 */
172 Function NewLine() As String
173 End Function
174
175Protected
176 Virtual Sub Dispose(disposing As Boolean)
177 End Sub
178
179Private
180 newLine As String
181End Class
182
183End Namespace
184End Namespace
Note: See TracBrowser for help on using the repository browser.