Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на C / C++


Информационный Канал Subscribe.Ru


RusFAQ.ru: Программирование на C / C++

Выпуск № 063
от 23.08.2002, 23:20

Администратор:
Имя: Коробов Н.А.
URL: Информационный ресурс
ICQ: 365124
Украина, Днепропетровск
О рассылке:
Задано вопросов: 181
Отправлено ответов: 367
Активность: 202.7 %
[Задать вопрос >>][Регистрация эксперта >>]
[Поиск в базе]


 Список экспертов, ответы которых опубликованы в данном выпуске

Артём Шегеда
Статус: Профессиональный
Общий рейтинг: 120
URL: Пристанище неодинокого программиста
[Подробней >>]
Pablo
Статус: Профессиональный
Общий рейтинг: 131.59
URL: Моя страничка
[Подробней >>]


 Краткий перечень вопросов

Вопрос № 164. Здравствуйте эксперты! Я наверно не слишком точно написал свой прошлый вопрос и не получил ответов. ... (ответов: 1)
Вопрос № 167. Кто-нить, какие функции Win API необходимо использовать, для передачи нажатий клавы в консольную Win... (ответов: 2)

Вопросов: 2, ответов: 3


 Вопрос № 164

Здравствуйте эксперты!
Я наверно не слишком точно написал свой прошлый вопрос и не получил ответов. Проблема вот в чем оказалась: при посылке сообщения WM_SETTEXT окну EDIT, когда LPARAM указывает на строку, большую, чем 32кб, то происходит вот что: SendMessage возвращает FALSE (ошибка), но текст все-таки устанавливается в окне EDIT, причем весь, а не обрезанный до 32кб. Но туда уже нельзя вводить че-нить ручками -- оно не отвечает на клавиатурный ввод. Хотя Ctrl+C, Ctrl+V работают. Ограничение EDIT в 9х -- 64кб.
Буфер содержит нормальные данные, проверено (ну EDIT же отображает это).
Второй русский вопрос: Что делать? %)
Спасибо.


Приложение:


Вопрос отправлен: 19.08.2002, 12:53
Отправитель: GoldenVst (goldenvst@mail.ru)

[Следующий вопрос >>] [Список вопросов]

Отвечает Артём Шегеда

Доброе время суток, GoldenVst!

А раздел "Allocating a Text Buffer" в теме "Edit Controls" читал? Там чёрным по белому написано, что контрол по умолчанию имеет лимит 32К, а чтобы его изменить, используй сообщение EM_SETLIMITTEXT.
Но! В описании EM_SETLIMITTEXT читаем:
...
cbMax
Value of wParam. Specifies the new text limit, in bytes. If this parameter is 0, Windows sets the maximum text limit. The maximum text limit is 32,766 bytes for a single-line edit control, and 65,535 bytes for a multiline edit control.
...
Так что - MS умело ограничила разработчиков на уровне 32К для однострочных и 64К для многострочных контролов. Придётся писать свой...

Ответ отправлен: 19.08.2002, 14:58
Отправитель: Артём Шегеда


 Вопрос № 167

Кто-нить, какие функции Win API необходимо использовать, для передачи нажатий клавы в консольную Win и DOS программу.
Т.е. мне в Edit вводят строку, а DOS прога думает, что это ей с клавиатуры передают.
Если реально - коротенький примерчик.



Вопрос отправлен: 20.08.2002, 23:12
Отправитель: LammeRrr

[Следующий вопрос >>] [Список вопросов]

Отвечает Артём Шегеда

Здравствуйте, LammeRrr!

Если DOS-приложение запускаешь своими силами, то передавать и принимать данные в/из стандарных потоков ввода-вывода можно, используя Pipes. При этом заполняется структура STARTUPINFO, а именно поля: dwFlags, hStdInput, hStdOutput - в два последних (или в один из них) заносятся handles созданных предварительно pipes.
В MSDN есть хороший пример - "Creating a Child Process with Redirected Input and Output".


Ответ отправлен: 21.08.2002, 13:22
Отправитель: Артём Шегеда


Отвечает Pablo

Доброе время суток, LammeRrr!
Ну попробуй для этого использовать функцию WriteConsoleInput. В хелпе написано про нее что она могет записывать во входной буффер консоли.

Ответ отправлен: 22.08.2002, 16:09
Отправитель: Pablo



Форма отправки вопроса

Внимание!
Форма может работать некорректно в почтовых программах "Microsoft Outlook" и "Microsoft Outlook Express". В программе The Bat! подобные формы не работают вообще!
После нажатия на кнопку "Отправить", будет открыто второе окно. Заметьте, что в некоторых браузерах могут стоять запреты на открытие других окон, а также "чрезмерное" кэширование данных, при этом факт отправки Вашего вопроса стоит под сомнением.
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+ или отправлять вопросы с сайта по адресу: http://rusfaq.ru/cgi-bin/Message.cgi.

© 2002 Команда RusFAQ.ru.

 Персональные данные

Ваше имя:

Ваш e-mail:

Опубликовать мой e-mail в рассылке


 Вопрос и дополнение

Ваш вопрос:


Приложение (если необходимо):


Получить ответов:


 Выбор рассылки

Программисту
Assembler (41)
C / C++ (28)
Perl (13)
Delphi (16)
Pascal (26)
Basic / VBA (11)
Java / JavaScript (12)
PHP (11)
MySQL / MSSQL (12)
Пользователю
Windows 95/98/Me (44)
Windows NT/2000/XP (30)
"Железо" (39)
Поиск информации (18)
Администратору
Windows NT/2000/XP (16)
Linux / Unix (16)
Юристу
Гражданское право (9)
Семейное право (6)
Трудовое право (7)
КоАП (5)

Отправить вопрос всем экспертам выбранной рассылки.




be number one Яндекс цитирования

© 2002 Россия, Москва. Авторское право: RusFAQ.ru

http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное