ايران ويج

نسخه‌ي كامل: لطفا راجع ارتباط با com port ها ...
شما هم اكنون متن قالب بندي نشده را مي‌بينيد.مشاهده‌ي نسخه‌ي اصلي
با سلام
می خواستم راجع به ار تباط با پورت ها ،USB از مثال های ساده تا پیشرفته ... اگه دوستان یه لینکی اینجا قرار دهند یا راهنمایی نمایند . مثلا می خواستم دکمه ای تعبیه کنیم چنانچه پرینتر مثلا اگر به کامپیوتر وصل است و روشن ، دکمه فعال شود و چنانچه ارتباط برقرار نباشد ، دکمه همچنان غیر فعال بماند . همچنین سایر پورت ها و وسایلی دیگری که ارتباط آنها از طریق COM Port و یا USB یا ... است .
با تشکر
برای این کارها باید با خود پرینتر ارتباط برقرار کنید پورت یه رابط برای انتقال اطلاعاته پورت یواسبی سرعتش خوبه ولی یه کم دردسر درایور نویسی داره برای بقیه پورتها باید اونها رو بصورت یه فایل در نظر بگیری و با createfile بازشون کنی و با readfile و writefile مقادیرتو بهشون بفرستی
این برای کار با پورت پارالل(lpt)هستش
کد:
var PortId:Integer;
S:String;
ByteSended:DWord;
Ovr:TOverlapped;
begin
PortId:= CreateFile('LPT1'#0,GENERIC_READ+GENERIC_WRITE,
0,nil,open_existing,File_Attribute_Normal,0);
if PortId>0 then begin
S:='Proba pera'#13#10'Line 2'#12;
Ovr.hEvent:=CreateEvent(Nil,FALSE,FALSE,Nil);
WriteFile(PortId,S[1],Length(S),ByteSended,@Ovr);
if ByteSended=0 then begin
if(WaitForSingleObject(Ovr.hEvent,100)=WAIT_OBJECT_0) then
GetOverlappedResult(PortId,Ovr,ByteSended,FALSE);
end;
CloseHandle(Ovr.hEvent);
Memo.Lines.Add('Write '+IntToStr(ByteSended));
CloseHandle(PortId);
end;
end;
موفق باشید
یادم میاد KOL یه کامپوننت ارائه داده بود که قدرت خوبی واسه کار کردن با پورتها داشت
پیدا کنم واستون می فرستم
(۱۶-ارديبهشت-۱۳۸۷ ۱۱:۱۳:۱۸)veyskarami نوشته : [ -> ]یادم میاد KOL یه کامپوننت ارائه داده بود که قدرت خوبی واسه کار کردن با پورتها داشت
پیدا کنم واستون می فرستم



ما منتظر شما هستيم
اين برنامه رو لازم دارم ولي هر جا پست دادم کسي نداره يا اينکه آدرس پست هاي avr رو بهم ميدن!!!
آدرس اصلي