Вопрос № 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, что он без привязки к какому-либо языку. Это сервис ОСи. И можно вызывать из любого языка.
(Меняется, разве что, способ записи вызова в зависимости от особенностей языка - но это ж не проблема :))
Отвечает: 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 получишь размер символов в точках
Ответ отправил: 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$. Не могу понять, что не так.
Отвечает: Bob Johnson
Здравствуйте, Марченко Галина Адамовна!
Исп. функцию WaitForSingleObject с хэндлом созданного процесса.
Ответ отправил: Bob Johnson (статус: Академик)
Отправлен: 08.11.2005, 16:37
Отвечает: estiGi
Здравствуйте, Марченко Галина Адамовна!
Было бы неплохо посмотреть, что именно вы передаете как командную строку...
Вы явно передать имя приложения не пробовали - пробы ради? И не в cmdline, а в lpApplicationName ?
Ответ отправил: estiGi (статус: 6-ой класс)
Отправлен: 08.11.2005, 17:12
Отвечает: Лысков Игорь Витальевич
Здравствуйте, Марченко Галина Адамовна!
Подозреваю, что перед вызовом CreateProcess необходимо проинициализировать все поля структуры start.