![]() |
|
Модераторы: Snowy, bartram, MetalFan, bems, Poseidon, Riply |
![]()
|
|
| discens |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 19.3.2008 Репутация: нет Всего: нет |
Я начинающий Дельфи-программист, так что мой вопрос может кому-то покажеться наивным. Мне нужно понять какие параметры передавать в WinApi функцию WriteFile, а то когда я писал ниже приведённый код, то мне в файл какйю-то ерунду записало, наверное адрес
также скажите можно-ли эти функции ReadFile и WriteFile использовать для записи и чтения устройства, на С-шный манер... |
|||
|
||||
| Rennigth |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1708 Регистрация: 21.6.2004 Где: Moscow Репутация: 8 Всего: 76 |
discens,
-------------------- (* Honesta mors turpi vita potior *) |
|||
|
||||
| discens |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 19.3.2008 Репутация: нет Всего: нет |
спасибо, помогло.
|
|||
|
||||
| malor |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 632 Регистрация: 17.11.2006 Репутация: нет Всего: нет |
>> WriteFile(hFile, temp[1], Length(temp), ByteWritten, 0);
Почему второй параметр temp[1], а не temp[0] или просто temp?
|
|||
|
||||
| Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 30 Всего: 484 |
Потому что у строк символы начинаются с 1, а не с нуля.
Почему не просто temp - temp это строка, а функция требует var параметр - первый байт буфера. То есть она получает указатель на первый байт (var параметры передаются по ссылке). temp же сам является указателем на первый байт. Так что, передав temp, как var параметр, мы передадим указатель на указатель. А нужно на буфер. |
|||
|
||||
| malor |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 632 Регистрация: 17.11.2006 Репутация: нет Всего: нет |
||||
|
||||
| Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 30 Всего: 484 |
Ансистринг начинается с 1.
С 0 начинаются паскалевские шортстринги. Да и у тех 0 служебный. Вряд ли Архангельский мог написать иное. Либо ты не так понял прочитанное. |
|||
|
||||
![]()
|
| Правила форума "Delphi: WinAPI и системное программирование" | |
|
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, bartram, MetalFan, bems, Poseidon, Rrader, Riply. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: WinAPI и системное программирование | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |