Com
8 отговора
424 прегледа
Com
Ima li niakakva vgradena biblioteka na Delphi, za komunikaciia na Com port. chetene ot porta i izprashtane kum porta i dr. 10x predvaritelno.
Re: Com
Можеш да ползваш стандартния компонент MSCOMM - Microsoft Comm Control. Вкарай го като Component/Import Active X ...
чети и дишай по-леко
чети и дишай по-леко
Re: Com
Здравей.
Ето ти кода за четене и писане в кома. Пробвал съм го с делфи 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;
Ето ти кода за четене и писане в кома. Пробвал съм го с делфи 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;
Re: Com
Мерси за помощта. Ама да ти кажа честно, това го знам от доста години.
Само че забележи, човека искаше компонент. Където има събития, в които може да си вкара лесно кода за четене, писане и грешки - без да се налага да организира цикли, да разгадава код и прочее. Аз съм привърженик на идеята, че най-добрия отговор е този, който те води най-близо и най-бързо до целта. В случая се иска компонент - и този компонент е готов като СОМ обект. Неслучайно в Делфи поддръжката за такива обекти е идеално развита.
чети и дишай по-леко
Само че забележи, човека искаше компонент. Където има събития, в които може да си вкара лесно кода за четене, писане и грешки - без да се налага да организира цикли, да разгадава код и прочее. Аз съм привърженик на идеята, че най-добрия отговор е този, който те води най-близо и най-бързо до целта. В случая се иска компонент - и този компонент е готов като СОМ обект. Неслучайно в Делфи поддръжката за такива обекти е идеално развита.
чети и дишай по-леко
Re: Com
A shte moje li da obiasnite kak se raboti s tozi MSComm, zashtoto kato komponent neshte. Instaliram go v ActiveX, i kato resha da go sloja na formata mi izliza sledniia dialogov prozorec: License information for TMSConn not found. You cannot use this control in design mode. ...Puk kato go adna v Uses trugva no neznam kak tochno se izpolzva.
Re: Com
Преди време свалях едни компоненти (CPort 264). Работил съм с тях на Delphi7 под Win XP SP2.
Качих ги тук [линк]
Имат и Source, така че можеш да ги поразгледаш, ако имаш желание.
Качих ги тук [линк]
Имат и Source, така че можеш да ги поразгледаш, ако имаш желание.
Re: Com
Това е всичко което ти трябва:
[линк]
+това както личи от URL-то компонентата е open source. Аз лично го използвам вече близо година и съм много доволен.
[линк]
+това както личи от URL-то компонентата е open source. Аз лично го използвам вече близо година и съм много доволен.
Re: Com
Това е всичко което ти трябва:
[линк]
+това както личи от URL-то компонентата е open source. Аз лично го използвам вече близо година и съм много доволен.
[линк]
+това както личи от URL-то компонентата е open source. Аз лично го използвам вече близо година и съм много доволен.