imho.ws
IMHO.WS  

Вернуться   IMHO.WS > Компьютеры > Программирование
Опции темы
Старый 20.01.2004, 01:04     # 1
Bespalov Roman
Junior Member
 
Аватар для Bespalov Roman
 
Регистрация: 08.07.2002
Адрес: г.Белёв, Тульская обл.
Сообщения: 182

Bespalov Roman Путь к славе только начался
Question вывод сообщения в Vb

Интересно, есть ли в VB кроме MsgBox другой способ вывода сообщений, а именно - в DOS-окошке?
__________________
Беспалов Роман
Bespalov Roman вне форума  
Старый 20.01.2004, 10:27     # 2
Mazzi
Member
 
Аватар для Mazzi
 
Регистрация: 03.07.2002
Адрес: Черноземье
Сообщения: 261

Mazzi Луч света в тёмном царствеMazzi Луч света в тёмном царствеMazzi Луч света в тёмном царствеMazzi Луч света в тёмном царствеMazzi Луч света в тёмном царстве
Оператор PRINT
Mazzi вне форума  
Старый 20.01.2004, 10:54     # 3
SwiMMeR
::VIP::
Отыпный Саводод
 
Аватар для SwiMMeR
 
Регистрация: 27.10.2002
Адрес: Краснодар, Россия
Пол: Male
Сообщения: 452

SwiMMeR Имеются все основания чтобы гордиться собойSwiMMeR Имеются все основания чтобы гордиться собойSwiMMeR Имеются все основания чтобы гордиться собойSwiMMeR Имеются все основания чтобы гордиться собойSwiMMeR Имеются все основания чтобы гордиться собойSwiMMeR Имеются все основания чтобы гордиться собойSwiMMeR Имеются все основания чтобы гордиться собойSwiMMeR Имеются все основания чтобы гордиться собойSwiMMeR Имеются все основания чтобы гордиться собой
Bespalov Roman
Поскольку ДОС-окно не является встроенным в VB объектом, то такое выполнить возможно, НО НЕ стандартными функциями ...

Mazzi
Метод PRINT выводит сообщение на форму ... потому как это собственное и есть метод формы

Form1.Print "Привет, Мир!"
__________________
The Information will be FREE!
SwiMMeR вне форума  
Старый 20.01.2004, 12:00     # 4
Mazzi
Member
 
Аватар для Mazzi
 
Регистрация: 03.07.2002
Адрес: Черноземье
Сообщения: 261

Mazzi Луч света в тёмном царствеMazzi Луч света в тёмном царствеMazzi Луч света в тёмном царствеMazzi Луч света в тёмном царствеMazzi Луч света в тёмном царстве
оппп..извиняюсь..попутал с обыкновенным Basicом..
в VB.Net есть класс Console и там просто работать с консолью.
вобычном VB можно вывести использую API функции по работе с консолью
вот не помню откуда взял пример, можнт поможет
Цитата:
Как подключить консольное окно к приложению Visual Basic
Эта статья демонстрирует подключение консольного окна к приложению Visual Basic, из которого можно записывать в это консольное окно и запускать другие приложения в этом консольном окне.



Пример по шагам
Воспользуйтесь Блокнотом (Notepad) для создания следующего bat-файла:

DIR /W

и сохраните его как C:\TEST.BAT


В Visual Basic создайте новый проект с формой и модулем.


Занесите в модуль следующие объявления API функций:

Option Explicit

Declare Function AllocConsole Lib "kernel32" () As Long
Declare Function FreeConsole Lib "kernel32" () As Long
Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) _
As Long
Declare Function GetStdHandle Lib "kernel32" (ByVal _
nStdHandle As Long) As Long
Declare Function WriteConsole Lib "kernel32" Alias "WriteConsoleA" _
(ByVal hConsoleOutput As Long, lpBuffer As Any, ByVal _
nNumberOfCharsToWrite As Long, lpNumberOfCharsWritten As Long, _
lpReserved As Any) As Long

Public Const STD_OUTPUT_HANDLE = -11&





Добавьте на форму кнопку и введите следующий код:

Dim hConsole As Long

Private Sub Command1_Click()
Dim Result As Long, sOut As String, cWritten As Long
sOut = "Hi There" & vbCrLf
Result = WriteConsole(hConsole, ByVal sOut, Len(sOut), cWritten, _
ByVal 0&)
Shell "C:\TEST.BAT"
End Sub

Private Sub Form_Load()
If AllocConsole() Then
hConsole = GetStdHandle(STD_OUTPUT_HANDLE)
If hConsole = 0 Then MsgBox "Couldn't allocate STDOUT"
Else
MsgBox "Couldn't allocate console"
End If
End Sub

Private Sub Form_Unload(Cancel As Integer)
CloseHandle hConsole
FreeConsole
End Sub





Запустите приложение. Появится пустое окно консоли.


Кликните по кнопке. В консоле должны появиться текст в sOut и вывод из bat-файла.


Закройте форму. Окно консоли должно завершиться.
Mazzi вне форума  
Старый 20.01.2004, 23:29     # 5
Bespalov Roman
Junior Member
 
Аватар для Bespalov Roman
 
Регистрация: 08.07.2002
Адрес: г.Белёв, Тульская обл.
Сообщения: 182

Bespalov Roman Путь к славе только начался
Надо мне конечно закупить себе VB.NET, попробую пока сделать через API.
__________________
Беспалов Роман
Bespalov Roman вне форума  
Старый 22.01.2004, 10:56     # 6
Mazzi
Member
 
Аватар для Mazzi
 
Регистрация: 03.07.2002
Адрес: Черноземье
Сообщения: 261

Mazzi Луч света в тёмном царствеMazzi Луч света в тёмном царствеMazzi Луч света в тёмном царствеMazzi Луч света в тёмном царствеMazzi Луч света в тёмном царстве
Может поможет вот это..пример работы с консолью для VB6
Вложения
Тип файла: zip console.zip (5.4 Кбайт, 11 просмотров - Кто скачивал? )
Mazzi вне форума  
Старый 22.01.2004, 22:05     # 7
Bespalov Roman
Junior Member
 
Аватар для Bespalov Roman
 
Регистрация: 08.07.2002
Адрес: г.Белёв, Тульская обл.
Сообщения: 182

Bespalov Roman Путь к славе только начался
Это конечно хорошо, но идея несколько другая.

Если я запускаю прогу из под Far-а, то консоль уже открыта, пускай он туда и выводит. Если нет, то пусть открывает новую консоль...
__________________
Беспалов Роман
Bespalov Roman вне форума  
Старый 24.01.2004, 10:26     # 8
Mazzi
Member
 
Аватар для Mazzi
 
Регистрация: 03.07.2002
Адрес: Черноземье
Сообщения: 261

Mazzi Луч света в тёмном царствеMazzi Луч света в тёмном царствеMazzi Луч света в тёмном царствеMazzi Луч света в тёмном царствеMazzi Луч света в тёмном царстве
The AttachConsole function attaches the calling process to the console of the specified process.
Теперь толко надо найти процесс который вызывает консоль.))
Mazzi вне форума  

Опции темы

Ваши права в разделе
Вы НЕ можете создавать новые темы
Вы не можете отвечать в темах.
Вы НЕ можете прикреплять вложения
Вы НЕ можете редактировать свои сообщения

BB код Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 12:39.




Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.