|
Тема |
Re: Com [re: Pechenia] |
|
Автор |
delpx (непознат
) |
|
Публикувано | 28.04.05 09:15 |
|
|
Здравей.
Ето ти кода за четене и писане в кома. Пробвал съм го с делфи 3 и работи че даже направихме с един приятел програмка за четене и запис на булфон корти ама ти трябва един ChipDriver :)))))))))))))))))))))))))))))))))))))))))))))))))))))
procedure TForm.Button1Click(Sender : TObject);
var hCOM:THandle;
nrWrit:DWORD;
nrRead:DWORD;
Errors:DWORD;
Dcb:TDCB;
ComStat:TComStat;
buf:array[0..2048] of char;
begin
{Отваряме COM1}
hCOM:=CreateFile('COM1',GENERIC_WRITE or GENERIC_READ,0,nil,OPEN_EXISTING,0,0);
{Настройваме параметрите на предаване - като MODE в DOS'а}
if hCOM<>INVALID_HANDLE_VALUE then
begin
GetCommState(hCOM,Dcb);
BuildCommDCB('19200,n,8,2',Dcb);
SetCommState(hCOM,Dcb);
end
else
begin
ShowMessage('Грешка при отваряне на port COM : '+IntToStr(GetLastError()));
Exit;
end;
try
{Приготвяне на буфера}
ZeroMemory(@buf,SizeOf(buf));
StrCopy(buf,'AT&V'+#13+#10);
{Записване на буфера}
if not WriteFile(hCOM,buf,StrLen(buf),nrwrit,nil) then
ShowMessage('Грешка при записването към port COM.');
{Проверка дали има нещо в буфера на COM'а}
ClearCommError(hCOM,Errors,@ComStat);
{прочитане на буфера, ако има информация}
if ComStat.cbInQue>0 then
ReadFile(hCOM,buf,ComStat.cbInQue,nrRead,nil);
finally
CloseHandle(hCOM);
end;
end;
|
| |
|
|
|