با سلام
می خواستم راجع به ار تباط با پورت ها ،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 رو بهم ميدن!!!
سلام
من می خوام با دلفی از طریق سریال ارتباط برقرار کنم کسی می تونه دستورات و طریقه فراخوانی کامپاننت و یک مثال ساده برای ارسال و دریافت داده آموزش بده.
ممنون