'dos_console.sbp 'このファイルには、コンソール アプリケーション用のサポート プログラムが記載されます。 #ifndef _INC_DOS_CONSOLE #define _INC_DOS_CONSOLE System.Console.OpenStandardError() System.Console.OpenStandardInput() System.Console.OpenStandardOutput() '---------- command.sbp内で定義済み ---------- 'Dim _System_InputDataPtr[_System_MAX_PARMSNUM] As VoidPtr 'Dim _System_InputDataType[_System_MAX_PARMSNUM] As DWord '--------------------------------------------- Sub INPUT_FromPrompt(ShowStr As String) *InputReStart '多重Continueがあるので、これはループ構文に直せない。 PRINT_ToPrompt(ShowStr) '入力 Dim input = System.Console.ReadLine() If ActiveBasic.IsNothing(input) Then Exit Sub End If If input.Length = 0 Then Goto *InputReStart 'データを変数に格納 Const comma = &h2c As Char 'Asc(",") Dim broken = ActiveBasic.Strings.Detail.Split(input, comma) Dim i As Long For i = 0 To ELM(broken.Count) If _System_InputDataPtr[i] = 0 Then PRINT_ToPrompt(Ex"入力データの個数が多すぎます\r\n") Goto *InputReStart End If _System_Input_SetArgument(_System_InputDataPtr[i], _System_InputDataType[i], broken.Item(i)) Next If _System_InputDataPtr[i]<>0 Then PRINT_ToPrompt(Ex"入力データの個数が足りません\r\n") Goto *InputReStart End If End Sub /* @brief コンソール出力の内容を削除 @date 2008/9/18 @auther NoWest */ Macro CLS()(num As Long) Select Case num Case 2 Exit Macro Case Else System.Console.Clear() End Select End Macro /* @brief コンソール出力の前景色・背景色を変更 @date 2008/9/18 @auther NoWest */ Macro COLOR(TextColorCode As Long)(BackColorCode=-1 As Long) Select Case TextColorCode Case 1 System.Console.ForegroundColor = System.ConsoleColor.Blue Case 2 System.Console.ForegroundColor = System.ConsoleColor.Red Case 3 System.Console.ForegroundColor = System.ConsoleColor.Magenta Case 4 System.Console.ForegroundColor = System.ConsoleColor.Green Case 5 System.Console.ForegroundColor = System.ConsoleColor.Cyan Case 6 System.Console.ForegroundColor = System.ConsoleColor.Yellow Case 7 System.Console.ForegroundColor = System.ConsoleColor.Gray Case Else System.Console.ForegroundColor = System.ConsoleColor.Black End Select Select Case BackColorCode Case -1 Exit Macro Case 1 System.Console.BackgroundColor = System.ConsoleColor.Blue Case 2 System.Console.BackgroundColor = System.ConsoleColor.Red Case 3 System.Console.BackgroundColor = System.ConsoleColor.Magenta Case 4 System.Console.BackgroundColor = System.ConsoleColor.Green Case 5 System.Console.BackgroundColor = System.ConsoleColor.Cyan Case 6 System.Console.BackgroundColor = System.ConsoleColor.Yellow Case 7 System.Console.BackgroundColor = System.ConsoleColor.Gray Case Else System.Console.BackgroundColor = System.ConsoleColor.Black End Select End Macro /* @brief コンソール出力のカーソル位置を変更 @date 2008/9/18 @auther NoWest */ Macro LOCATE(x As Long, y As Long) System.Console.SetCursorPosition(x,y) End Macro Sub PRINT_ToPrompt(buf As String) If String.IsNullOrEmpty(buf) Then Exit Sub End If System.Console.Write(buf) End Sub /* TODO: _System_GetUsingFormatを用意して実装する Sub PRINTUSING_ToPrompt(UsingStr As String) PRINT_ToPrompt(_System_GetUsingFormat(UsingStr)) End Sub */ #endif '_INC_DOS_CONSOLE