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

RusFAQ.ru: Win API


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

РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / WinAPI

Выпуск № 159
от 13.11.2005, 17:24

Администратор:Калашников О.А.
В рассылке:Подписчиков: 262, Экспертов: 29
В номере:Вопросов: 3, Ответов: 8


Вопрос № 29111: Здравствуйте уважаемые эксперты. Дана всем известная Api-функция Function WriteFile ( hFile: THandle; // Указатель на открытый файл const Buffer; // Указатель на данные для записи nNumberOfBytesToWrite: DWORD; // Количество записыва...
Вопрос № 29151: Как узнать какой будет размер нарисованого текста при использовании функций TextOut и т.д. с текущим шрифтом?...
Вопрос № 29178: Народ, помогите, пожалуйста. Хочу в VB6 отследить окончание процесса распаковки архивчика с помощью API функций. Содрала пример из руководства "Использование Visual Basic 6" Сайлера и Споттса. Но процесс не хочет создаваться какую бы к...

Вопрос № 29.111
Здравствуйте уважаемые эксперты. Дана всем известная Api-функция
Function WriteFile (
hFile: THandle; // Указатель на открытый файл
const Buffer; // Указатель на данные для записи
nNumberOfBytesToWrite: DWORD; // Количество записываемых байт
var lpNumberOfBytesWritten: DWORD; // Указатель на кол-во реально записанных байт
lpOverlapped: POverlapped // Указатель на структуру OVERLAPPED
): BOOL; stdcall;
Просьба разяснить что это за последний параметр - IpOverlapped и что за структура OVERLAPPED, на которую он указывает ? Ну или хотя бы ссылку на ресурс интернета, где об этом подробно расписано. Просмотрел несколько справочников, ничего внятного на русском не нашел. Английская справка по API -функциям вызвала у меня двоякое понимание этого параметра (если вообще правильно понял).

З.Ы. Подкиньте пожалуйста ссылочку, где можно скачать полный хороший справочник API -функций на русском языке и желательно для Delphi, ато я только начал в API - функциях разбираться, а хорошего мануала - нет.
Отправлен: 07.11.2005, 18:55
Вопрос задал: Teapot (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Лысков Игорь Витальевич
Здравствуйте, Teapot!
Слово Overlapped означает "совмещенное по времени", т.е. этот параметр нужен, когда необходимы асинхронные операции. При этом ф-я WriteFile отдаст управление сразу же, хотя реально данные еще не записаны. Момент завершения операции обычно определяется срабатыванием объекта события, handle которого предварительно записано в структуру. Остальные поля нужны для осуществления самой операции.
Если же параметр задать NULL, то ф-я вернет управление только когда завершит запись.

Справочника лучшего, чем MSDN, не существует :) Все известные справочники, как минимум, неполны.
Так, что, учи английский, без этого тяжеловато будет программировать.
P.S. Кстати, API (application programming interface) потому и API, что он без привязки к какому-либо языку. Это сервис ОСи. И можно вызывать из любого языка.
(Меняется, разве что, способ записи вызова в зависимости от особенностей языка - но это ж не проблема :))

Приложение:

---------
Удачи!

Ответ отправил: Лысков Игорь Витальевич (статус: 8-ой класс)
Отправлен: 07.11.2005, 20:05

Отвечает: VampSergey
Здравствуйте, Teapot!
ТУТ есть учебник по вин АПИ:
MegaLib.com/ Программирование / C/C++ / Учебники/статьи/
Полезное:
www.rushelp.com
Поисщи (не врублюсь как правильно написать Исчи или исщи :)) в yandex'e:
Работа с файлами в Win32API (П.В.Румянцев).djvu
увидишь что произойдет :)

ещё: не помню как пишется - ты сам наверно лучше знаешь - Делфикингдоом(delphikeengdoom что-ли?). Там наверняка что-то будет!
Удачи!
Ответ отправил: VampSergey (статус: 2-ой класс)
Отправлен: 08.11.2005, 00:34


Вопрос № 29.151
Как узнать какой будет размер нарисованого текста при использовании функций TextOut и т.д. с текущим шрифтом?

Приложение:

Отправлен: 08.11.2005, 09:31
Вопрос задал: X3m (статус: Посетитель)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Лысков Игорь Витальевич
Здравствуйте, X3m!
Например, так, как в приложении.
В результате в глобальных переменных xChar и yChar получишь размер символов в точках

Приложение:

---------
Удачи!

Ответ отправил: Лысков Игорь Витальевич (статус: 8-ой класс)
Отправлен: 08.11.2005, 10:13

Отвечает: estiGi
Здравствуйте, X3m!

TEXTMETRIC - GetTextMetrics
OUTLINETEXTMETRIC - GetOutlineTextMetrics

CDC::GetTextExtent
CDC::GetTabbedTextExtent

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/gdicpp/GDIPlus/usingGDIPlus/usingtextandfonts/obtainingfontmetrics.asp
Ответ отправил: estiGi (статус: 6-ой класс)
Отправлен: 08.11.2005, 14:11

Отвечает: Ерёмин Андрей
Здравствуйте, X3m!
Функция TextWidth('text') возвратит ширину текста, а функция TextHeight('text') - высоту. Удачи!
---------
Где найти кpяк под ковpик для однокнопочного мыша?
Ответ отправил: Ерёмин Андрей (статус: Специалист)
Отправлен: 08.11.2005, 22:08


Вопрос № 29.178
Народ, помогите, пожалуйста.
Хочу в VB6 отследить окончание процесса распаковки архивчика с помощью API функций. Содрала пример из руководства "Использование Visual Basic 6" Сайлера и Споттса. Но процесс не хочет создаваться какую бы команду не писала в cmdline$. Не могу понять, что не так.

Приложение:

Отправлен: 08.11.2005, 16:26
Вопрос задала: Марченко Галина Адамовна (статус: Посетитель)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 3)

Отвечает: Bob Johnson
Здравствуйте, Марченко Галина Адамовна!
Исп. функцию WaitForSingleObject с хэндлом созданного процесса.
Ответ отправил: Bob Johnson (статус: Академик)
Отправлен: 08.11.2005, 16:37

Отвечает: estiGi
Здравствуйте, Марченко Галина Адамовна!
Было бы неплохо посмотреть, что именно вы передаете как командную строку...
Вы явно передать имя приложения не пробовали - пробы ради? И не в cmdline, а в lpApplicationName ?
Ответ отправил: estiGi (статус: 6-ой класс)
Отправлен: 08.11.2005, 17:12

Отвечает: Лысков Игорь Витальевич
Здравствуйте, Марченко Галина Адамовна!
Подозреваю, что перед вызовом CreateProcess необходимо проинициализировать все поля структуры start.

Приложение:

---------
Удачи!

Ответ отправил: Лысков Игорь Витальевич (статус: 8-ой класс)
Отправлен: 08.11.2005, 21:00


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

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

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2005, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Яндекс Rambler's Top100 hotlog_js="1.0"; hotlog_r=""+Math.random()+"&s=314124&im=101&r="+escape(document.referrer)+"&pg="+ escape(window.location.href); document.cookie="hotlog=1; path=/"; hotlog_r+="&c="+(document.cookie?"Y":"N"); hotlog_js="1.1";hotlog_r+="&j="+(navigator.javaEnabled()?"Y":"N") hotlog_js="1.2"; hotlog_r+="&wh="+screen.width+'x'+screen.height+"&px="+ (((navigator.appName.substring(0,3)=="Mic"))? screen.colorDepth:screen.pixelDepth) hotlog_js="1.3" hotlog_r+="&js="+hotlog_js; document.write("HotLog")

Subscribe.Ru
Поддержка подписчиков
Другие рассылки этой тематики
Другие рассылки этого автора
Подписан адрес:
Код этой рассылки: comp.soft.prog.winapifaq
Архив рассылки
Отписаться
Вспомнить пароль

В избранное