Console.ReadKey

Язык Visual Basic на платформе .NET.

Модераторы: Ramzes, Sebas

Dmitriy Solomnikov
Постоялец
Постоялец
 
Сообщения: 407
Зарегистрирован: 10.11.2004 (Ср) 13:04
Откуда: Москва

Console.ReadKey

Сообщение Dmitriy Solomnikov » 25.04.2006 (Вт) 11:17

В FW2.0 есть такая штука как Console.ReadKey (если я правильно помню).

Как бы мне реализовать такую в FW1.1? Посмотрел ни у Console ни у Stream нет никаких событий, которые могли бы пригодиться.

keks-n
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2509
Зарегистрирован: 19.09.2005 (Пн) 17:17
Откуда: г. Москва

Сообщение keks-n » 25.04.2006 (Вт) 11:54

Работай с консолью через API. Ничего сложного. Даже пример где-то был...
Изображение

Ramzes
Скромный человек
Скромный человек
Аватара пользователя
 
Сообщения: 5004
Зарегистрирован: 12.04.2003 (Сб) 11:59
Откуда: Из гробницы :)

Сообщение Ramzes » 25.04.2006 (Вт) 12:01

Console.Read ?
Нафига извращатся? нафига в .net апи?

keks-n
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2509
Зарегистрирован: 19.09.2005 (Пн) 17:17
Откуда: г. Москва

Сообщение keks-n » 25.04.2006 (Вт) 12:12

Ramzes
Console.Read читает всю строку, а надо 1 символ. Посему берём StdIn и скармливаем API'шке
Изображение

keks-n
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2509
Зарегистрирован: 19.09.2005 (Пн) 17:17
Откуда: г. Москва

Сообщение keks-n » 25.04.2006 (Вт) 12:20

API'шка - ReadConsole, первым параметром скармливает StdIn, вторым буфер, третьим единицу(ведь надо только 1 символ прочитать?), четвёртый параметр-какой-нибудь DWORD, пятый-NULL.
Только потом надо не забыть сделать OemToChar
Изображение

Ramzes
Скромный человек
Скромный человек
Аватара пользователя
 
Сообщения: 5004
Зарегистрирован: 12.04.2003 (Сб) 11:59
Откуда: Из гробницы :)

Сообщение Ramzes » 25.04.2006 (Вт) 12:44

Я думал Console.ReadLine читает всю строку
MSDN писал(а):Read Читает следующий знак из стандартного входного потока.

ReadLine
Поддерживается .NET Compact Framework.
Считывает следующую строку знаков из стандартного входного потока.

Dmitriy Solomnikov
Постоялец
Постоялец
 
Сообщения: 407
Зарегистрирован: 10.11.2004 (Ср) 13:04
Откуда: Москва

Сообщение Dmitriy Solomnikov » 25.04.2006 (Вт) 13:17

Читает только один знак, но мне надо чтобы на этом операция ввода прекращалась... и окно консоли закрывалось.

Sebas
Неуловимый Джо
Неуловимый Джо
Аватара пользователя
 
Сообщения: 3626
Зарегистрирован: 12.02.2002 (Вт) 17:25
Откуда: столько наглости такие вопросы задавать

Сообщение Sebas » 25.04.2006 (Вт) 15:00

Public Shared Function OpenStandardInput() As System.IO.Stream
Member of: System.Console
Summary:
Acquires the standard input stream.

не пойдёт? типа .Length>0
- Я никогда не понимал, почему они приходят ко мне чтобы умирать?

sebas<-@->mail.ru

Dmitriy Solomnikov
Постоялец
Постоялец
 
Сообщения: 407
Зарегистрирован: 10.11.2004 (Ср) 13:04
Откуда: Москва

Сообщение Dmitriy Solomnikov » 25.04.2006 (Вт) 15:16

не получается пишет что то типа stream does not support seaking

Нужно какое-то событие чтобы узнавать что данные пришли


Вернуться в Visual Basic .NET

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 82

    TopList