Страница: 1 |
что бы в нем были все функции из PBCC, WAITKEY$, CLS, LINE INPUT и т.д.
Пример консоли у меня есть, но я думаю что это не совсем то что ты хотел... На то от и Win чтобы быть окошечным, а Console, соответственно, консольным Не уписалось... мда... извиняюсь... Всех у меня нет. Есть только PRINT и INPUT. #Compile Exe #Dim All #Include "win32api.inc" Sub CPRINT (s As String, bReturn As Long) Dim h As Long h = GetStdHandle(%STD_OUTPUT_HANDLE) Dim n As Long n = FreeFile Open Handle h For Output As #n If bReturn Then Print #n, s Else Print #n, s; End If Close #n End Sub Sub CWAITFORENTER () Dim h As Long h = GetStdHandle(%STD_INPUT_HANDLE) Dim n As Long n = FreeFile Open Handle h For Input As #n Dim S As String Line Input #n, S Close #n End Sub Function PbMain() AllocConsole CPRINT "Hello ",%FALSE:CPRINT "World",%TRUE CPRINT "Следующая строка (Must Convert ANSI(1251) to OEM(866))",%FALSE CWAITFORENTER End Function Лови ещё адреса: === http://www.powerbasic.com/support/forums/Forum7/HTML/001051.html --- http://www.powerbasic.com/support/forums/Forum7/HTML/001052.html Страница: 1 |
Вопрос: Как создать консольное приложение на PB WIN?
Добавлено: 19.03.04 16:26
Автор вопроса: alex
Ответы
Всего ответов: 5
Номер ответа: 1
Автор ответа:
sne
Разработчик Offline Client
ICQ: 233286456
Вопросов: 34
Ответов: 5445
Web-сайт:
Профиль | | #1
Добавлено: 19.03.04 17:32
'
' This is a small demo program for PowerBASIC's Console Compiler that
' demonstrates Toggling between windowed mode and full screen mode, detecting
' full screen mode and modal MessageBox's popped up over top of the console
' window. Works on both Win9x and WinNT type platforms. Tested on Win2K and
' Win98.
'
' This program will poll every few seconds to make sure that it is being
' run in a Window rather than full screen. If the program finds that it is
' being run in full screen, it will toggle back to a window and then display
' a message box warning the user that it cannot be run in full screen mode.
'
Function Center(Text As String) As String
Local lt As Dword
lt = Len(Text)
lt = lt \ 2
Function = Space$(40-lt) & Text
End Function
' windowed modes.
Sub ToggleFullScreen(ByVal hWnd As Dword)
GetVersionEx vers
SendMessage hWnd, %WM_SYSKEYDOWN, %VK_RETURN, &h20000000
Else
SendMessage hWnd, %WM_COMMAND, &hE00F, 0
End If
Function IsFullScreen(ByVal hWnd As Dword) As Dword
If Abs(Rct.nLeft) > 2000 Then
Function = 1
End If
End If
Local hWnd As Dword
Local tim As Dword
Console Name "FSC Main" ' set main title
Sleep 250 ' give it time to take effect
hWnd = FindWindow(ByVal %NULL, "FSC Main") ' get console window handle
StdOut "Error Getting Console Window Handle!"
Exit Function
End If
ToggleFullScreen hWnd ' if so toggle back to the windowed mode.
' pop a message box up over top of our window that must be clicked
' before the user can continue with the console window.
MessageBox hWnd, "Program Cannot Be Run Full Screen!","FSC: Error!", 16
End If
Color 15, 1
Locate 1, 1
Print Space$(80);
Locate 1, 30
Print "Full Screen Mode Demo"
Color 14, 1
Locate 2, 1
Print "ЙНННННННННННННННННННННННННННННННННННННННННННННННННННННННННННННННННННННННННННННН"";
Locate 3, 1
Print "є є";
Locate 4, 1
Print "є є";
Locate 5, 1
Print "є є";
Locate 6, 1
Print "є є";
Locate 7, 1
Print "є є";
Locate 8, 1
Print "є є";
Locate 9, 1
Print "є є";
Locate 10, 1
Print "є є";
Locate 11, 1
Print "є є";
Locate 12, 1
Print "є є";
Locate 13, 1
Print "є є";
Locate 14, 1
Print "є є";
Locate 15, 1
Print "є є";
Locate 16, 1
Print "є є";
Locate 17, 1
Print "є є";
Locate 18, 1
Print "є є";
Locate 19, 1
Print "є є";
Locate 20, 1
Print "є є";
Locate 21, 1
Print "є є";
Locate 22, 1
Print "є є";
Locate 23, 1
Print "є є";
Locate 24, 1
Print "ИННННННННННННННННННННННННННННННННННННННННННННННННННННННННННННННННННННННННННННННј";
Color 15, 1
' Add commands to box
Locate 8, 2
Print Center("F1 - Command");
Print Center("F2 - Command");
Print Center("F5 - Exit Program");
Do
kbd = InKey$ ' scan keyboard
If Len(kbd) > 0 Then Exit Loop ' if we got anything process it
Sleep 5 ' give time slices back to OS
Incr tim ' increment our timer var
If tim > 500 Then ' if its greater then 500 then
If IsFullScreen(hWnd) Then ' see if we're still in a window
ToggleFullScreen hWnd ' if not, then toggle it back!
MessageBox hWnd, "Program Cannot Be Run Full Screen!", _
"FSC: Error!", 16
End If
tim = 0 ' reset timer count and start over
End If
Loop
Select Case kbd ' process input
Номер ответа: 2
Автор ответа:
sne
Разработчик Offline Client
ICQ: 233286456
Вопросов: 34
Ответов: 5445
Web-сайт:
Профиль | | #2
Добавлено: 19.03.04 17:33
Select Case kbd ' process input Case Chr$(0,59) ' F1 ' F1 & F2 will pop a Modal MessageBox over top of the console ' window which MUST be clicked before proceeding! MessageBox hWnd, "F1 - Command Not Used!","FSC", _ %MB_ICONEXCLAMATION Case Chr$(0,60) ' F2 MessageBox hWnd, "F2 - Command Not Used!","FSC", _ %MB_ICONEXCLAMATION Case Chr$(0,63) ' F5 (End the program) Exit Loop Case Else Beep End Select Loop Color 7, 0 Cls Cursor On End Function
Номер ответа: 3
Автор ответа:
sne
Разработчик Offline Client
ICQ: 233286456
Вопросов: 34
Ответов: 5445
Web-сайт:
Профиль | | #3
Добавлено: 19.03.04 17:35
Select Case kbd ' process input
Case Chr$(0,59) ' F1
' F1 & F2 will pop a Modal MessageBox over top of the console
' window which MUST be clicked before proceeding!
MessageBox hWnd, "F1 - Command Not Used!","FSC", _
%MB_ICONEXCLAMATION
Case Chr$(0,60) ' F2
MessageBox hWnd, "F2 - Command Not Used!","FSC", _
%MB_ICONEXCLAMATION
Case Chr$(0,63) ' F5 (End the program)
Exit Loop
Case Else
Beep
End Select
Loop
Cls
Cursor On
Номер ответа: 4
Автор ответа:
@CyRax PTR
ICQ: 204447456
Вопросов: 28
Ответов: 664
Web-сайт:
Профиль | | #4
Добавлено: 19.03.04 21:42
Номер ответа: 5
Автор ответа:
@CyRax PTR
ICQ: 204447456
Вопросов: 28
Ответов: 664
Web-сайт:
Профиль | | #5
Добавлено: 20.03.04 00:25