procedure TForm1.Button1Click(Sender: TObject);
var hCOM:THandle; nrWrit,nrRead,Errors:DWORD; Dcb:TDCB; ComStat:TComStat;
buf:array[0..2048] of char;
begin
hCOM:=CreateFile(pchar('COM'+ch),GENERIC_WRITE OR GENERIC_READ,0,nil,OPEN_EXISTING,0,0); //Otwarcie łącza COM
//Ustawienie parametrów transmisji - jak MODE w DOS'ie
if hCOM<>INVALID_HANDLE_VALUE then
begin
GetCommState(hCOM,Dcb);
BuildCommDCB('19200,n,8,2',Dcb);
SetCommState(hCOM,Dcb);
end
else
begin
Messagebox(0,pchar('Błąd otwarcia portu COM [error]: '+IntToStr(GetLastError())),'',0);
Exit;
end;
try //Przygotowanie bufora
ZeroMemory(@buf,SizeOf(buf));
StrCopy(buf,'AT&V'+#13+#10);
//Zapis bufora
if not WriteFile(hCOM,buf,StrLen(buf),nrwrit,nil) then
messagebox(0,pchar('Błąd zapisu do portu COM.'),'',0);
//Sprawdzenie czy jest coś w buforze COM
ClearCommError(hCOM,Errors,@ComStat);
//Odczytanie bufora gdy są dane
if ComStat.cbInQue>0 then
ReadFile(hCOM,buf,ComStat.cbInQue,nrRead,nil);
finally
CloseHandle(hCOM);
end;
end;
Wktorym miejscu ta procedura wpisuje dane do coma ?
chcialbym zrobic petle by robil to ciagle ...
//naucz sie stawiac tagi delphi = lofix