「コンソールアプリ」の編集履歴(バックアップ)一覧はこちら

コンソールアプリ」(2010/10/03 (日) 18:26:47) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

#asciiart(blockquote){ 'コンソール #console Declare Function SetConsoleTextAttribute Lib "kernel32" (hConsoleOutput As HANDLE, wAttributes As Word) As Long Declare Function GetConsoleScreenBufferInfo Lib "kernel32" (hConsoleOutput As HANDLE, lpConsoleScreenBufferInfo As *CONSOLE_SCREEN_BUFFER_INFO) As Long Type COORD X As Integer Y As Integer End Type Type SMALL_RECT Left As Integer Top As Integer Right As Integer Bottom As Integer End Type Type CONSOLE_SCREEN_BUFFER_INFO dwSize As COORD dwCursorPosition As COORD wAttributes As Word srWindow As SMALL_RECT dwMaximumWindowSize As COORD End Type Class ABC_CONSOLE Private stdin As HANDLE stdout As HANDLE stderr As HANDLE csbi As CONSOLE_SCREEN_BUFFER_INFO r As Long w As Long Public Sub ABC_CONSOLE() stdin = GetStdHandle(STD_INPUT_HANDLE) stdout = GetStdHandle(STD_OUTPUT_HANDLE) stderr = GetStdHandle(STD_ERROR_HANDLE) GetConsoleScreenBufferInfo(stdout, VarPtr(csbi)) End Sub Sub ~ABC_CONSOLE() SetConsoleTextAttribute(stdout, csbi.wAttributes) End Sub Sub Color(attr As Word) SetConsoleTextAttribute(stdout, attr) End Sub Function Gets(buf As *Byte, length As Long) As Long ReadFile(stdin, buf, length, VarPtr(r), ByVal 0) Gets = r End Function Function Puts(buf As *Byte, length As Long) As Long WriteFile(stdout, buf, length, VarPtr(w), ByVal 0) Puts = w End Function Function Getc() As Long ReadFile(stdin, VarPtr(Getc), 1, VarPtr(r), ByVal 0) If r = 0 Then Getc = -1 End Function Function Putc(c As Long) As Long WriteFile(stdout, VarPtr(c), 1, VarPtr(w), ByVal 0) Putc = c End Function End Class Dim ac As ABC_CONSOLE Dim c As Long c = ac.Getc() While c <> -1 ac.Putc(c) c = ac.Getc() Wend }

表示オプション

横に並べて表示:
変化行の前後のみ表示: