com...

0
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

0

[DELPHI]
if not WriteFile(hCOM,buf,StrLen(buf),nrwrit,nil) then
messagebox(0,pchar('Błąd zapisu do portu COM.'),'',0);
[/DELPHI]

Dokładnie w tym miejscu, za zapis odpowiedzialny jest WriteFile

0

ktora zmienna odpowiada danym wpisanymw coma ? i jaki to jest tp?

0

ktora zmienna odpowiada danym wpisanymw coma ? i jaki to jest tp?

zmienna buf, typ jak widać całkowicie surowy blok o długości 2048 bajtów - takie są najlepsze @~~

1 użytkowników online, w tym zalogowanych: 0, gości: 1