PDA

View Full Version : سوال: کار با پورت سریال در دلفی



Mask
چهارشنبه 17 شهریور 1389, 13:58 عصر
با سلام
در سایت و گوگل جستجو کردم.
دوستان کامپوننت comport رو پیشنهاد کرده بودند. که دانلود و نصب کردم اما نشد.
چطوری میتونم مقدار ارسال شده رو برای پورت سریال مانیتور کنم.
با تشکر.

h_mohamadi
چهارشنبه 17 شهریور 1389, 14:50 عصر
از کامپوننت mscom استفاده کنید

moein+
چهارشنبه 17 شهریور 1389, 15:31 عصر
از کامپوننت mscom استفاده کنید

سلام،
اگر امکان داره در مورد این MSCOM یکم توضیح می دین ؟ ویا مقاله ای،تاپیکی، چیزی در این مورد تو این فروم هست ؟
آیا MSCOM رو تو همه ویندوز ها می شه استفاده کرد ؟
و آیا برای ارتباط با USB راهکاری دارید ؟

devil00x
چهارشنبه 17 شهریور 1389, 16:13 عصر
من پیشنهاد میکنم از کامپوننت nrcomm استفاده کنی که :
- دسترسي مستقيم به پورتها Com و LPT
- دسترسي به دستگاههاي bluetooth
- دسترسي به Telephone API
- امكان Speech API
- پشتيباني از Caller ID
- پشتيباني از GSM
- امكان ارسال SMS
- استخراج اطلاعات مختلف از دستگاه GSM
- پشتيباني از پروتكل Zmodem
- دسترسي به پورتهاي USB
- كنترل دستگاههاي USB (خاموش/روشن كردن)
و ...
که من اینجا آپلود کردم.
امیدوارم مورد استفادت قرار بگیره.

kamran_dev
چهارشنبه 17 شهریور 1389, 17:30 عصر
هدفتون برای استفاده از پورت سریال چی هست ؟

moein+
پنج شنبه 18 شهریور 1389, 00:40 صبح
من پیشنهاد میکنم از کامپوننت nrcomm استفاده کنی که :
- دسترسي مستقيم به پورتها Com و LPT
- دسترسي به دستگاههاي bluetooth
- دسترسي به Telephone API
- امكان Speech API
- پشتيباني از Caller ID
- پشتيباني از GSM
- امكان ارسال SMS
- استخراج اطلاعات مختلف از دستگاه GSM
- پشتيباني از پروتكل Zmodem
- دسترسي به پورتهاي USB
- كنترل دستگاههاي USB (خاموش/روشن كردن)
و ...
که من اینجا آپلود کردم.
امیدوارم مورد استفادت قرار بگیره.
البته بنده از پاسخ شما نهایت تشکر رو دارم، ولی هر تازه واردی مثل من با چرخی در این فروم به این نتیجه می رسه که گفتگوها در اینجا بیشتر به شما ماهی را میدهد تا یادگیری ماهیگیری...
و دلیل سوال من در قسمت فوق بیشتر سعی در راستای ایجاد گفتگو و تشریح یک فرآیند تا تکمیل اون بود، چرا که دیدم در این فروم دوستانی حتی با مبانی ارسال و دریافت روی RS232 مشکل دارند در حالی که نسبت به ابزار آماده (کامپوننت ها) به نظر اشراف خوبی دارند!
ممنون، موفق باشید.

mossaferin
پنج شنبه 18 شهریور 1389, 08:56 صبح
چطوری میتونم مقدار ارسال شده رو برای پورت سریال مانیتور کنم.


در واقع قصد نوشتن spy داری ؟ یا تو برنامه خودت می خوای مقداری رو که ارسال میکنی ، مانیتور کنی؟

ariobarzan
پنج شنبه 18 شهریور 1389, 19:19 عصر
سلام
من با Comport کار کردم
کار باهش راحته

اول روی فرم یه ComPort بزار
2- با دستور ComPort1.Open این کمپوننت گوش به زنگ داده های دریافتی از پورت سریال میشه می تونی این دستور را موقع نمایش فرم اجرا کنی
3- در خاصیت onRxChar اون شروع کن به کد نویسی
ComPort1.Read(data,count)

data یه متغیره که از نوع Byte باید تعریف کنی
Count هم متغیریه که جزیی از پروسیجر onRxChar خود برنامه تعریف میکنه

بقیه کار هم بستگی بخودت داره مثلا میتونی یه Memo بزاری روی صفحه که وقتی یه دیتا اومد تو پورت سریال و این کمپوننت اتوماتیک دیتا رو خوند توی memo هم درج کنه یا اینکه دیتا رو پردازش کنی و تصمیم خاصی بگیری
فقط یادت باشه که پیکربندی اطلاعات ارسالی و پورت باید با هم سازگار باشه
برای تنظیم پیکربندی پورت هم از دستور ComPort1.ShowSetupDialog
استفاده کن .
به همین راحتی
موفق باشی:چشمک:
--------------------
با دستور ComPort1.close
هم این کمپوننت دست از گوش دادن به پورت سریال برمیداره:عصبانی++:
بهتره موقعی که کاری با پورت نداری یا آخر برنامه این دستور را هم بنویسی

ariobarzan
پنج شنبه 18 شهریور 1389, 19:55 عصر
من پیشنهاد میکنم از کامپوننت nrcomm استفاده کنی .
لطفا در مورد نحوه کار با این کمپوننت لطف کنید یه کم توضیح بدین:تشویق::تشویق:
بنظر میآد کمپوننت خوبی باشه
یه سوال دیگه : نصب این کمپوننت رایگانه؟ نیاز به کرک یا ..... نداره ؟:متفکر:

MohsenB
دوشنبه 22 شهریور 1389, 12:02 عصر
اگه دنبال کد اساسی می گردین به این کدا نگاه کنید:



procedure Out32(PortAddress:smallint;Value:byte);stdcall;
{Write a byte to a port.}
begin
asm
push dx
mov dx,PortAddress
mov al, Value
out dx,al
pop dx
end;
end;

function Inp32(PortAddress:smallint):byte;stdcall;
{Read a byte from a port.}
var
Value:byte;
begin
asm
push dx
mov dx, PortAddress
in al,dx
mov Value,al
pop dx
end;
Inp32:=Value
end;



ازاین کدها میتونید برای ارسال و دریافت روی پورتا استفاده کنید ، مثلا برا نوشتن به بایت روی پورت موازی(LPT) می تونید بنویسید :

Out32($378 ,140);
این کد عدد 140 رو رو پورت پرینتر می ریزه .
البته یه مشکل این کدا اینه که ویندوز ایکس پی به بالا بهش از لحاظ امنیتی گیر میده.

ariobarzan
سه شنبه 23 شهریور 1389, 06:53 صبح
برنامه نويسي كد اسمبلي تو دلفي بعد از ويندوز 98 ، ديگه تو بقيه ويندوز ها با مشكلاتي همراه هست .
فكر كنم استفاده از كمپوننت ها خيلي بهتر باشه و جوابگو هم هست
اون قديما كه با پاسكال تحت داس يا با دلفي 3 تحت ويندوز 95 و 98 با پورت ها كار ميشد اين كد ها راه حل بود ولي همونطور كه دوستمون هم اشاره كردند از xp به بعد سيستم عامل به اين جور برنامه نويسي گير ميده .:ناراحت:
همون كمپوننت ها رو استفاده كني راحت تري

sips65
جمعه 10 دی 1389, 21:01 عصر
سلام .
یک لینک دانلود واسه MSCOM قرار نمیدین ؟؟؟؟
مرسی.

Felony
شنبه 11 دی 1389, 05:29 صبح
برنامه نويسي كد اسمبلي تو دلفي بعد از ويندوز 98 ، ديگه تو بقيه ويندوز ها با مشكلاتي همراه هست .
فكر كنم استفاده از كمپوننت ها خيلي بهتر باشه و جوابگو هم هست
اون قديما كه با پاسكال تحت داس يا با دلفي 3 تحت ويندوز 95 و 98 با پورت ها كار ميشد اين كد ها راه حل بود ولي همونطور كه دوستمون هم اشاره كردند از xp به بعد سيستم عامل به اين جور برنامه نويسي گير ميده .:ناراحت:
همون كمپوننت ها رو استفاده كني راحت تري
بستگی به کدتون داره ، خیلی از توابع دلفی تو کتابخانه هاش با نوشتن اسمبلی به صورت inLine پیاده سازی شدن .

mr13668248
سه شنبه 05 آبان 1394, 08:25 صبح
کل اینترنت رو گشتم و یه مطلب درست حسابی فارسی پیدا نکردم. :افسرده::ناراحت:

hamedjim
سه شنبه 05 آبان 1394, 09:49 صبح
کل اینترنت رو گشتم و یه مطلب درست حسابی فارسی پیدا نکردم. :افسرده::ناراحت:
من کامپوننت nrcomm رو نصب کردم و با استفاده از مثال‌هایی که داشت تونستم به راحتی با پورت کام ارتباط برقرار کنم. در این پست (http://barnamenevis.org/showthread.php?483970-%DA%A9%D8%A7%D9%85%D9%BE%D9%88%D9%86%D9%86%D8%AA-nrcomm-%D9%88-%D8%A7%D8%B1%D8%AA%D8%A8%D8%A7%D8%B7-%D8%A8%D8%A7-%D9%BE%D9%88%D8%B1%D8%AA-com-%28%D8%B3%D9%88%D8%A7%D9%84-%D9%86%D9%85%D9%88%D9%86%D9%87-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87%29) هم برنامه ساده ای که رو نوشته بودم قرار دادم. از یک مبدل USB به سریال استفاده کردم و با آی‌سی Max232به بورد میکروکنترلری خودم وصل کردم. هر چیزی رو که از برنامه ارسال می کردم به راحتی روی LCD2*16 نمایش دادم و برعکس..

lemaghsoodi@gmail.com
چهارشنبه 16 فروردین 1396, 09:56 صبح
با سلام

من الان خیلی گیرم می شه کد کاملتری قرار بدی
مثلا کد یک برنامه ساده که با کلیک روی دکمه اطلاعات خوانده شده از کامبورت را نمایش بده
با تشکر