Chertenok.ru - все о программировании
Вход  |  Регистрация  |  Поиск 
Праздник
Через 3 дня :

День славянской письменности и культуры


CreateFile


Новая тема  Ответить  Печать Предыдущая тема  Следующая тема
Автор Сообщение
ДОБ
Гость







СообщениеПт, 19-Авг-2005 12:52    Заголовок сообщения: CreateFile
Цитата

CreateFile харошо открывает порты , драйвера , файлы а как посылать и пренимать даные кто знает если можно дайте пожалуста на исходник посмотреть желатильно с каментариями.
ReadFile неполучяется чёто делою нетак
В начало
Пол:Муж Ktf
Администратор


Возраст: 32
Знак зодиака: Рак
Зарегистрирован: 15.05.2005
Сообщения: 1502
Откуда: localhost
СообщениеПн, 22-Авг-2005 13:10 
Цитата

Вниманию всех новичков!
Изучайте русский язык!
Кривляться будете в зоопарке.


Топик закрыт.
В начало
Посмотреть профиль Отправить личное сообщение
Пол:Муж 13-ый
Администратор


Возраст: 35
Знак зодиака: Близнецы
Зарегистрирован: 28.04.2002
Сообщения: 3551
Откуда: Москва
СообщениеПн, 22-Авг-2005 14:07 
Цитата

to ДОБ
to Ktf

замечание обоим...

to Ktf

не хочешь отвечать, не отвечай, ну не над в крайности кидаться...

to ДОБ

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

и по существу, если говоришь что, что-то не выходит, то нужен код что ты делал и что не вышло, а то у тебе только общие слова... и в ответ ты услышешь тоже самое вместо конкретной помощи.

и относится это ко всем.

PS: to ДОБ за хамство буду удалять с форума... тем более к модератору, если не нравится, обратись к админам, они поставят, если надо, модератора на место.

_________________


http://fotki.yandex.ru/users/vladimir13

С уважением, 13-ый Wink
В начало
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
ДОБ
Гость







СообщениеПн, 22-Авг-2005 15:19 
Цитата

13ый 1:спосиба это справедливо
2: вот код он непашит я могу таких ещё 2 показать этот код взят из книги Программирование в Delphi 7 Пётр Дарахвелидзе - Евгений марков возможно он написан с синтаксическими ошибками он взят из электронной книги там текст хроница как рисунок и при переводе обратно в текст программа не все символы правильно пишет если нетрудно отридоктируй но лутше покажи кокойнебуть свой код в котором в ком порт посылаетца и принимаеца информация или хатябы в файл
Код:

//Чтение сектора с дискеты при помощи функции CreateFile
type
pDIOCRegs = ^TDIOCRegs;
TDIOCRegs = packed record
rEBX,rEDX,rECX,rEAX,rEDI, rESI, rFlags : DWORD;
end;
const VWIN32_DIOC_DOS_IOCTL = 1;
VWIN32_DIOC_DOS_INT13 = 4 ; // Прерьшание 13
SectorSize = 512;
function ReadSector(Head, Track, Sector: Integer; buffer : pointer;
Floppy: char):Boolean;
var hDevice : THandle;
Regs : TDIOCRegs;
DevName : string;
nb : Integer;
begin
if WIN32PLATFORM = VER_PLATFORM_WIN32_NT then
begin //(win95/98}
hDevice := CreateFile('\\.\vwin32', GENERIC_READ, 0, nil, 0,
FILE_FLAG_DELETE_ON_CLOSE, 0);
if (hDevice = INVALID_HANDLE_VALUE) then
begin
Result := FALSE;
Exit;
end;
regs.rEDX := Head * $100 + Ord(Floppy in ['b', 'B']);
regs.rEAX := $201; // код операции read sector
regs.rEBX := DWORD(buffer); // buffer
regs.rECX := Track * $100 + Sector;
regs.rFlags := $0;
Result := DeviceioControl(hDevice,VWIN32_DIOC_DOS_INT13,
@regs, sizeof(regs), @regs, sizeof(regs),nb, nil)
and ((regs.rFlags and $1)=0);
CloseHandle(hDevice) ;
end {win95/98}
else
begin // Windows NT/2000
DevName :='\\.\A:';
if Floppy in ['b', 'B'] then DevName[5] := Floppy;
hDevice := CreateFile(pChar(Devname), GENERIC_READ, FILE_SHARE_READ
or FILE_SHARE_WRITE, nil, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);
if (hDevice = INVALID_HANDLE_VALUE) then
begin
Result := FALSE;
Exit;
end;
SetFilePointer(hDevice, (Sector-1)*SectorSize, nil, FILE_BEGIN);
// нумерация с 1
Result := ReadFile(hDevice, buffer^, SectorSize, nb, nil) and
(nb=SectorSize);
CloseHandle(hDevice);
end; // Windows NT/2000

Цитата:

Зарание спосибо
В начало
ДОБ
Гость







СообщениеПн, 22-Авг-2005 15:25 
Цитата

Ktf В чём смысл твоей фразы ?
В начало
Пол:Муж Ktf
Администратор


Возраст: 32
Знак зодиака: Рак
Зарегистрирован: 15.05.2005
Сообщения: 1502
Откуда: localhost
СообщениеПн, 22-Авг-2005 15:30 
Цитата

Вот видишь, ты можешь и не кривляясь.
В начало
Посмотреть профиль Отправить личное сообщение
ДОБ
Гость







СообщениеПн, 22-Авг-2005 15:38 
Цитата

ты тоже
В начало
ДОБ
Гость







СообщениеПн, 22-Авг-2005 15:41 
Цитата

Ktf так ты знаеш как решить мою проблему или просто ради смеха остонавил обсуждение если знаеш помоги пожалусто
В начало
Пол:Муж Ktf
Администратор


Возраст: 32
Знак зодиака: Рак
Зарегистрирован: 15.05.2005
Сообщения: 1502
Откуда: localhost
СообщениеПн, 22-Авг-2005 19:23 
Цитата

на днях выложу примерчик с комментариями, если не забуду.
а ты пока хелп поизучай, может к тому времени и сам разберешься.

кстати - глянул я на приведенный тобой код и обнаружил вот такую штуку
Код:
if WIN32PLATFORM = VER_PLATFORM_WIN32_NT then
begin //(win95/98}
  и далее код для платформы 9х

здесь явно ошибка.
правильно так
Код:
if WIN32PLATFORM <> VER_PLATFORM_WIN32_NT then
begin //(win95/98}
  и далее код для платформы 9х
В начало
Посмотреть профиль Отправить личное сообщение
ДОБ
Гость







СообщениеПн, 22-Авг-2005 20:08 
Цитата

Ktf пажалусто выложи код Xelp для меня бесполезен я английскова незнаю а переводчик мой (x-Translator PLATINUM) такие словосочитания выдаёт что и в укуреном сне неприсница например
оригинал
Цитата:

WH_CBT
Installs a hook procedure that receives notifications useful to a computer-based training (CBT) application. For more information, see the CBTProc hook procedure.

перивод
Цитата:

WH_CBT
Устанавливает процедуру крюка, которая получает уведомления, полезные для машинного обучения (CBT) заявление(применение). За дополнительной информацией, см. процедуру крюка CBTProc.

Ты понел что тут говарица о том что если устонавить эту ловушку с сестеме она будет ловить сообщения

HCBT_ACTIVATE — приложение активизировалось;
HCBT_CREATEWND — создано новое окно;
HCBT_DESTROYWND — уничтожено существующее окно;
HCBT_MINMAX — окно свернули или развернули на весь экран;
HCBT_MOVESIZE — окно переместили или изменили размер.

Сколько я хелп нечитал ничего так и непонял из него только парамитры можно узнать и то такие действие которых можно
проверить методом научного тыка createfile не тот случай.
В начало
Пол:Муж dogma
aka Достоевский


Возраст: 27
Знак зодиака: Телец
Зарегистрирован: 20.12.2004
Сообщения: 1702
Откуда: Холмск
СообщениеВт, 23-Авг-2005 0:52 
Цитата

Цитата:
PS: to ДОБ за хамство буду удалять с форума... тем более к модератору, если не нравится, обратись к админам, они поставят, если надо, модератора на место.

С местной мафией лучше не спорить :)


to ДОБ
Смотри процедуру крюка :)

_________________
Bonum initium est dimidium facti
SQL-задачи (on-line)
В начало
Посмотреть профиль Отправить личное сообщение
ДОБ
Гость







СообщениеВт, 23-Авг-2005 10:52 
Цитата

Цитата:

Смотри процедуру крюка

Да там моразм нелутше RTFM!
В начало
ДОБ
Гость







СообщениеПт, 26-Авг-2005 20:38 
Цитата

Ktf так где пример обещиный
В начало
Пол:Муж Ktf
Администратор


Возраст: 32
Знак зодиака: Рак
Зарегистрирован: 15.05.2005
Сообщения: 1502
Откуда: localhost
СообщениеВс, 28-Авг-2005 19:38 
Цитата

delphi:
  1. procedure TForm1.Button1Click(Sender: TObject);
  2. var
  3.   f: THandle;                           // хендл порта
  4.   WriteData: string;                    // буфер для передаваемых в порт данные
  5.   ReadData: array[0..MAXSHORT] of char; // буфер для полученных данных
  6.   ActSize: cardinal;                    // число фактически переданных байт
  7. begin
  8.   // допустим, что модем подключен к третьему COM-порту
  9.   f := CreateFile('\\.\COM3',                     // lpFileName            <- имя открываемого порта
  10.                   GENERIC_READ or GENERIC_WRITE,  // dwDesiredAccess       <- режим доступа к порту (чтение и запись)
  11.                   0,                              // dwShareMode           <- не используется
  12.                   nil,                            // lpSecurityAttributes  <- не используется
  13.                   OPEN_EXISTING,                  // dwCreationDisposition <- открыть существующий
  14.                   0,                              // dwFlagsAndAttributes  <- не используется
  15.                   0);                             // hTemplateFile         <- не используется
  16.   if f = INVALID_HANDLE_VALUE then  // не удалось открыть
  17.   begin
  18.     ShowMessage('Не удается открыть порт.');
  19.   end;
  20.  
  21.   try
  22.     WriteData := 'ATI3'#13#10;      // команда для определения модели модема
  23.     // передаем данные в порт
  24.     if WriteFile(f,                 // hFile                  <- хендл порта, полученный с помощью createFile
  25.                  PChar(WriteData)^, // Buffer                 <- передаваемые в порт данные
  26.                  Length(WriteData), // nNumberOfBytesToWrite  <- число байт для передачи
  27.                  ActSize,           // lpNumberOfBytesWritten <- указатель для получения числа фактически переданных байт
  28.                  nil)               // lpOverlapped           <- не используется
  29.     then
  30.     begin
  31.       // получаем ответ
  32.       ReadFile(f,         // hFile                <- хендл порта, полученный с помощью createFile
  33.                ReadData,  // Buffer               <- буфер для полученных данных
  34.                MAXSHORT,  // nNumberOfBytesToRead <- размер буфера
  35.                ActSize,   // lpNumberOfBytesRead  <- указатель для получения числа фактически полученных байт
  36.                nil);      // lpOverlapped         <- не используется
  37.       ShowMessage(ReadData);
  38.     end
  39.     else
  40.       ShowMessage('Не удается отправить команду.');
  41.   finally
  42.     CloseHandle(f); // закрываем хэндл порта
  43.   end
  44. end;

такой пойдет? ;)
В начало
Посмотреть профиль Отправить личное сообщение
ДОБ
Гость







СообщениеПн, 29-Авг-2005 16:46 
Цитата

Ktf спосибо топик можно закрыть
В начало
Показать сообщения:   
Страница 1 из 1
Перейти:  
Новая тема  Ответить  Печать

Вы можете начинать темы
Вы можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете присоединять файлы в этом форуме
Вы можете скачивать файлы в этом форуме
хостинг от .masterhost 
Rambler's Top100