Changeset 665 for trunk/ab5.0/ablib/src/Classes/System/IO/StringReader.ab
- Timestamp:
- Dec 28, 2008, 12:18:53 AM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/ab5.0/ablib/src/Classes/System/IO/StringReader.ab
r662 r665 23 23 Throw New ArgumentNullException("str") 24 24 End If 25 Dim length = GetStr(str, s) 26 If length > LONG_MAX Then 27 Throw New ArgumentException("Must be Length <= LONG_MAX", "str") 28 End If 29 len = length As Long 30 i = 0 25 Buffer.Append(str) 31 26 End Sub 32 27 33 /*34 @date 2008/02/2635 @auther Egtra36 */37 Override Function Peek() As Long38 If i >= len Then39 Peek = -140 Else41 Peek = s[i]42 End If43 End Function44 28 45 /*46 @date 2008/02/2647 @auther Egtra48 */49 Override Function Read() As Long50 Read = Peek()51 i++52 End Function53 54 /*55 @date 2008/02/2656 @auther Egtra57 */58 /*59 Override Function ReadToEnd() As String60 ReadToEnd = s.Substring(i)61 i = s.Length62 End Function63 */64 29 Protected 65 30 /* … … 68 33 */ 69 34 Override Sub Dispose(disposing As Boolean) 70 s = Nothing71 i = 072 35 End Sub 73 74 /*75 @date 2008/02/2676 @auther Egtra77 */78 Override Function ReadImpl(buffer As *WCHAR, count As Long) As Long79 ReadImpl = Math.Min(count, len - i)80 ActiveBasic.Strings.ChrCopy(buffer, VarPtr(s[i]), ReadImpl As SIZE_T) 'ToDo: ポインタに対する+演算81 End Function82 83 Private84 s As *WCHAR85 len As Long86 i As Long87 36 End Class 88 37
Note:
See TracChangeset
for help on using the changeset viewer.