- Timestamp:
- Sep 21, 2008, 2:06:46 AM (16 years ago)
- Location:
- trunk/ab5.0/ablib/src
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/ab5.0/ablib/src/Classes/System/Console.ab
r627 r629 240 240 Exit Sub 241 241 Else 242 SetConsoleTitle( StrPtr(title))242 SetConsoleTitle(ToTCStr(title)) 243 243 End If 244 244 End Sub 245 245 Static Function Title() As String 246 Dim sb = New Text.StringBuilder(24500*SizeOf(Char))247 246 If Console.hconsoleout =NULL Then 248 247 Return "" 249 248 Else 250 GetConsoleTitle(sb.__Chars(),sb.Length()) 249 Dim sb = New Text.StringBuilder 250 sb.Length = 24500 251 Dim ret = GetConsoleTitle(StrPtr(sb),sb.Length()) 252 If ret = 0 Then 253 Dim error = GetLastError() 254 If error <> ERROR_SUCSESS Then 255 ActiveBasic.Windows.ThrowWithErrorCode(error, "Console.Title") 256 End If 257 End If 258 sb.Length = ret 259 Return sb.ToString() 251 260 End If 252 261 End Function -
trunk/ab5.0/ablib/src/Classes/System/Text/StringBuilder.ab
r521 r629 456 456 End Function 457 457 458 /*! 459 @brief 内部用 460 代わりにStrPtr使ってください。 461 */ 458 462 Function __Chars() As *Char 459 463 Return chars 460 464 End Function 461 465 466 /*! 467 @brief 内部用 468 使わないでください。 469 */ 462 470 Sub __Stringized() 463 471 stringized = True … … 467 475 Sub initialize(capacity As Long, maxCapacity = LONG_MAX As Long) 468 476 If capacity < 0 Or maxCapacity < 1 Or maxCapacity < capacity Then 469 Throw New ArgumentOutOfRangeException("StringBuilder constructor : One or more arguments are out of range value.", "capacity or maxCapacity or both")477 Throw New ArgumentOutOfRangeException("StringBuilder constructor", "capacity or maxCapacity or both") 470 478 End If 471 479 … … 494 502 Sub rangeCheck(index As Long) 495 503 If index < 0 Or index > size Then 496 Throw New ArgumentOutOfRangeException("StringBuilder : Index argument is out of range value.")504 Throw New ArgumentOutOfRangeException("StringBuilder") 497 505 End If 498 506 End Sub … … 505 513 'length < 0は判定に入っていないことに注意 506 514 If startIndex < 0 Or count < 0 Or startIndex + count > length Then 507 Throw New ArgumentOutOfRangeException("StringBuilder : One or more arguments are out of range value.", "startIndex or count or both")515 Throw New ArgumentOutOfRangeException("StringBuilder", "startIndex or count or both") 508 516 End If 509 517 End Sub -
trunk/ab5.0/ablib/src/api_console.sbp
r622 r629 210 210 Declare Function AllocConsole Lib "kernel32" () As BOOL 211 211 Declare Function FreeConsole Lib "kernel32" () As BOOL 212 Declare Function GetConsoleTitle Lib "kernel32" Alias _FuncName_GetConsoleTitle (lpConsoleTitle As LP STR, nSize As DWord) As DWord213 Declare Function SetConsoleTitle Lib "kernel32" Alias _FuncName_SetConsoleTitle (lpConsoleTitle As LP STR) As BOOL212 Declare Function GetConsoleTitle Lib "kernel32" Alias _FuncName_GetConsoleTitle (lpConsoleTitle As LPTSTR, nSize As DWord) As DWord 213 Declare Function SetConsoleTitle Lib "kernel32" Alias _FuncName_SetConsoleTitle (lpConsoleTitle As LPTSTR) As BOOL 214 214 Declare Function ReadConsole Lib "kernel32" Alias _FuncName_ReadConsole (hConsoleInput As HANDLE, lpBuffer As VoidPtr, nNumberOfCharsToRead As DWord, ByRef lpNumberOfCharsRead As DWord, lpReserved As VoidPtr) As BOOL 215 215 Declare Function WriteConsole Lib "kernel32" Alias _FuncName_WriteConsole (hConsoleOutput As HANDLE, lpBuffer As VoidPtr, nNumberOfCharsToWrite As DWord, ByRef lpNumberOfCharsWritten As DWord, lpReserved As VoidPtr) As BOOL … … 223 223 Declare Function SetConsoleOutputCP Lib "kernel32" (wCodePageID As DWord) As BOOL 224 224 225 Function COORDtoDWORD (ByRef coord As COORD) As DWord225 Function COORDtoDWORD(ByRef coord As COORD) As DWord 226 226 Return GetDWord(VarPtr(coord)) 227 227 End Function
Note:
See TracChangeset
for help on using the changeset viewer.