Форум: "Начинающим";
Текущий архив: 2006.04.16;
Скачать: [xml.tar.bz2];
ВнизКТо нибудь знает как мне попроще вытащить один бит из ком порта Найти похожие ветки
← →
Рафик © (2006-03-30 15:07) [0]Я уже запарился искать варианты ничего не получается!!!
← →
Сергей М. © (2006-03-30 15:07) [1]Никак.
← →
Kolan © (2006-03-30 15:08) [2]ReadFile . Но вот бит.... Это врядли
← →
Рафик © (2006-03-30 15:09) [3]извините перепутал байт
← →
Рафик © (2006-03-30 15:10) [4]А насчет ReadFile, поподробнее можно узнать?
← →
Сергей М. © (2006-03-30 15:10) [5]
> извините перепутал байт
см. [2]
← →
Сергей М. © (2006-03-30 15:11) [6]
> насчет ReadFile, поподробнее можно узнать?
см. стандартную справку и MSDN.
← →
Рафик © (2006-03-30 15:11) [7]И что во втором, пробовал я все равно не читается!!!
← →
Kolan © (2006-03-30 15:17) [8]Почту глянь. Там модуль написаный мной.... Можешь прям его и юзать :).
Те как-то так:function TAnisochronousComm.Read(var Buffer: array of Byte;
NumberOfBytesToRead: Cardinal; TimeOut: Cardinal;
var IsTimeOutExpire: Boolean): Cardinal;
begin
Result := 0;
IsTimeOutExpire := False;
if FPortHandle <> INVALID_HANDLE_VALUE then
begin
TimeOut := TimeOut * NumberOfBytesToRead;
ReadFile(FPortHandle, Buffer, NumberOfBytesToRead, Cardinal(Result),
@FOverlappedRead);
if WaitForSingleObject(FOverlappedRead.hEvent, TimeOut) = WAIT_OBJECT_0 then
GetOverlappedResult(FPortHandle, FOverlappedRead, Cardinal(Result), False)
else
IsTimeOutExpire := True;
end;
end;
← →
Рафик © (2006-03-30 15:20) [9]Да не получается у меня с ним тоже но ща попробую скажу точно в чем загвоздка
← →
Сергей М. © (2006-03-30 15:23) [10]
> скажу точно в чем загвоздка
Загвоздка у тебя в одном - в неумении (или нежелании) пользоваться встроенным в Делфи отладчиком и в неумении (или нежелании) читать справку.
← →
Рафик © (2006-03-30 15:32) [11]В справке этого нет, отладчик не помогает что я там вижу что она циклиться!
← →
Kolan © (2006-03-30 15:40) [12]Не в той справке ищешь. Ищи в Widows SDK. Или на сайте MSDN
← →
Рафик © (2006-03-30 15:41) [13]Вот ща прислали мне по почте
function TAnisochronousComm.ReadByte(var B: Byte; TimeOut: Cardinal): Boolean;
var
IsTimeOut: Boolean;
ReadBytes: Cardinal;
Arr: array[1..1] of Byte;
begin
IsTimeOut := False;
ReadBytes := Read(Arr, 1, TimeOut, IsTimeOut);
if (IsTimeOut) or (ReadBytes = 0) then
begin
B := 0;
Result := False;
end
else
begin
B := Arr[1];
Result := True;
end;
end;
Как мне вызвать эту функцию?
← →
Сергей М. © (2006-03-30 15:50) [14]
> В справке этого нет
Есть.
← →
Kolan © (2006-03-30 15:56) [15]Удалено модератором
← →
Рафик © (2006-03-30 16:18) [16]Удалено модератором
Примечание: Ваша личная переписка уже надоела
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.04.16;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.049 c