ورود

View Full Version : مشکل در برقراری ارتباط با سخت افزار کالر آی دی



tefos666
سه شنبه 17 اردیبهشت 1387, 15:42 عصر
با سلام خدمت اساتید

نمیدونم این دستگاه های کالر آی دی رو دیدید یا نه ! من برای یه برنامه آژانس که میخواستم بنویسم یکی رو خریدم مدل معمولی 4 پورت که باهاش چند تا SAMPLE هم ارائه شده و ظاهر تو هر زبان برنامه نویسی هم از یک کامپوننت برای برقراری ارتباط با دستگاه (پورت سریال) استفاده کردند
از مزایای اون


http://barnamenevis.org/forum/attachment.php?attachmentid=17135&stc=1&d=1210076340


Model: ALM 04-S
سيستم كالر آي دي



مانيتورينگ كامل خطوط



تشخيص و ثبت شماره هاي گرفته شده




تشخيص CALLER ID DTMF & FSK





انواع پروتكل هاي خروجي جهت استفاده در نرم افزارهاي مختلف



قابليت كار با نرم افزار




چهار پورت ورودي و چهار پورت خروجي



پورت خروجي اضافي براي هر خط




خروجي كابل سريالRS232





حالا من چند تا مشکل دارم که امیدوارم اساتید اهل فن کمکم کنند


یکی از عمده ترین مشکلات من تو دلفی اینه که تو نمونه کدهای زبان های دیگه خروجی هر خط رو به صورت مجزا نشون میده توی یک تکست باکس ولی تو دلفی همه رو تو یک ممو نشون میده


سورس اونا رو میزارم اگر کسی تونست توروخدا کمک کنه





http://www.caspiansoftwares.com/download.htm




Sample Code (http://www.caspiansoftwares.com/download/Source%20Code%20Access.rar)Access

http://www.caspiansoftwares.com/download/Source%20Code%20Access.rar







Sample Code (http://www.caspiansoftwares.com/download/Source%20Code%20VB.rar)VB 6.0 (http://www.caspiansoftwares.com/download/Source%20Code%20VB.rar)

http://www.caspiansoftwares.com/download/Source%20Code%20VB.rar (http://www.caspiansoftwares.com/download/Source%20Code%20VB.rar)







Sample Code Delphi (http://www.caspiansoftwares.com/download/Source%20Code%20Delphi%207.rar)

http://www.caspiansoftwares.com/download/Source%20Code%20Delphi%207.rar (http://www.caspiansoftwares.com/download/Source%20Code%20Delphi%207.rar)







Sample Code C sharp

http://www.caspiansoftwares.com/download/Source%20Code%20C%20Sharp.rar (http://www.caspiansoftwares.com/download/Source%20Code%20C%20Sharp.rar)






ALM Tester (http://www.caspiansoftwares.com/download/ALM_Tester.exe)

http://www.caspiansoftwares.com/download/ALM_Tester.exe






ALM OCX-Only For F Series (http://www.caspiansoftwares.com/download/ALM0.ocx)


http://www.caspiansoftwares.com/download/ALM0.ocx (http://www.caspiansoftwares.com/download/ALM0.ocx)



دوستان امیدوارم مشکلم رو متوجه شده باشند

شکل سمپل ها تو زبان های مختلف رو میزارم همونطوری که میبینید مال دلفی رو تو ممو نشون میده و من کنترلی روی خط ها ندارم ولی مال سایر زبانها به صورت مجزا هر خط رو توی یک تکست باکس نشون داده و یا حتی اونها رو تو دیتابیس کنترل کرده


اگر کسی بتونه کاری کنه که اولا هر خط رو به صورت مجزا داشته باشم

دوما بتونم از اونها تو دیتابیس استفاده کنم (مثل نمونه سمپل سی شارپ) تا وقتی تلفن زده میشه مشخصات مشترک رو از دیتابیس برنامم نشون بدم ممنون میشم

success is doing , not wishing !!!


******** یا علی *********

tefos666
سه شنبه 17 اردیبهشت 1387, 16:28 عصر
http://barnamenevis.org/forum/attachment.php?attachmentid=17140&stc=1&d=1210076773
با سی شارپ



با ویژوال بیسیک

http://barnamenevis.org/forum/attachment.php?attachmentid=17141&stc=1&d=1210076786

http://barnamenevis.org/forum/attachment.php?attachmentid=17142&stc=1&d=1210076796
با دلفی

Mahyaa
سه شنبه 17 اردیبهشت 1387, 19:39 عصر
من ضمیمه ها رو دانلود نکردم . ولی مگه توی Memo خط به خط نمی نویسه ؟ خوب میخونیمش دیگه مثلا با رویداد OnChange !
علاوه بر این اگه به پورت سریال وصل میشه ، میتونی دستورات رو دیتکت کنی . حتما خود کامپوننتش هم رویدادی برای همین کار داره .

tefos666
چهارشنبه 18 اردیبهشت 1387, 07:52 صبح
مشکل من اینجاست که فقط شماره رو نمینویسه تو ممو. که کلی نوشته دیگه قبلش میاره و بعدش هم در بین اون نوشته ها شماره رو نشون میده .

Mahyaa
چهارشنبه 18 اردیبهشت 1387, 09:12 صبح
توی Sample مشخصه که چطوری کاراکتر از پورت میخونه و به Memo اضافه میکنه .
مثلا یک Procedure داره به نام ProcessFrame که چنین چیزی توش هست :


for i:=1 to (Counter-1) do
if Frame[i] in ['a'..'z','A'..'Z',':',',',' ','=','0'..'9','/',';','#','.','*','@'] Then S:=S+Frame[i];
Form1.Memo1.Lines.Add(S);این رو ویرایش کنید که فقط 0 تا 9 رو بنویسه . البته ممکنه فقط این قسمت نباشه . باید با دقت بیشتری بقیه قسمتهای کد رو هم بخونی تا ببینی کجا ها کار خوندن و نوشتن رو انجام میده . خوندن از پورت و نوشتن توی ممو .

tefos666
چهارشنبه 18 اردیبهشت 1387, 09:40 صبح
دوست عزیز ممنونم - اولین مشکلم و حل کردی - حالا با کدوم تابع بفهمم خط شماره چند فعال شده ؟

Mahyaa
چهارشنبه 18 اردیبهشت 1387, 10:56 صبح
من با این دستگاه و حتی نمونه مشابه کار جدی نکردم ولی قاعده اش اینه که یا به صورت Stream یا به صورت کاراکتر مقادیر ورودی رو از پورت میخونه . به نظر من اول بهتر منطق کارش رو درک کنی و بعدش میتونه همه مشکلاتت رو باهاش حل کنی .
مثلا اینکه شماره خط رو چطوری بر میگردونه :
توی تصویری که گذاشتی اینطور به نظر میاد که شماره خط با یک کاراکتر L و بعد یک عدد مشخصه . خوب باز هم میتونی توی همون قسمتی که در پست قبلیم گفتم ، کاراکتر L رو دیتکت کنی و عدد بعد از اون رو شماره خط در نظر بگیری . ممکنه کارت رو راه بندازه ولی کلا درستش اینه که ببینی خود کامپوننت ، متدی برای پارس کردن اطلاعات ورودی داره یا نه . مثلا ممکنه اصلا متدی داشته باشه که شماره خط رو برگردونه یا شماره تماس و ...

tefos666
شنبه 11 خرداد 1387, 20:00 عصر
سلام دوستان :

کسی نمیدونه چطوری من از تو آرایه حروف رو parse کنم مثلا بگم بعد از زنگ خوردن اگر تکست خروجی memo مقدار L1 رو توش داشت (سرچ کنه ) بفهمم خط شماره 1 زنگ خورده :شیطان:

Mahyaa
شنبه 11 خرداد 1387, 23:21 عصر
تابع Pos رو توی راهنمای دلفی ببین .در یک String دنبال یک SubString میگرده و اندیس ابتدای اون رو برمیگردونه .
البته این کار پارس کردن نیست و در واقع جستجو هستش . احتمالا کار شما رو راه میندازه ولی به نظر من دقیقتر بررسی کن ببین این کامپوننت خودش Property یا تابع برای برگردوندن شماره خط نداره . بعید میدونم نداشته باشه . این کار اصولی تره .

موفق باشید

tefos666
دوشنبه 13 خرداد 1387, 10:51 صبح
:قهقهه:

:بامزه:
var
z:integer;
begin
for z:=1 to Length(Trim(Memo1.Lines.Text)) do
begin
try
if MidStr(Memo1.Lines.Text,0,3)='#L1' then
begin
Edit1.Text:=MidStr(Memo1.Lines.Text,7,16);
Edit1.Text:=Trim(Edit1.Text);
end;
if MidStr(Memo1.Lines.Text,0,3)='#L2' then
begin
Edit2.Text:=MidStr(Memo1.Lines.Text,7,16);
Edit2.Text:=Trim(Edit2.Text);
end;
if MidStr(Memo1.Lines.Text,0,3)='#L3' then
begin
Edit3.Text:=MidStr(Memo1.Lines.Text,7,16);
Edit3.Text:=Trim(Edit3.Text);
end;
if MidStr(Memo1.Lines.Text,0,3)='#L4' then
begin
Edit4.Text:=MidStr(Memo1.Lines.Text,7,16);
Edit4.Text:=Trim(Edit4.Text);
end;
except
ShowMessage(Memo1.Text +','+ 'خطا رخ داد : ');
end;
end;

مهران موسوی
دوشنبه 13 خرداد 1387, 12:47 عصر
دوست عزيز ميشه بگي قيمت اين دستگاه چقدر هست و از كجا ميشه تهيه كردن .. ؟؟ ايا از چهار خط به طور كامل پشتيباني ميكنه ؟؟

Mahyaa
سه شنبه 14 خرداد 1387, 22:25 عصر
:قهقهه:

:بامزه:
var
...



الان این یعنی چی ؟ از رو این تو تا اسمایلی من باید بفهمم که مشکل شما حل شده یا نه ؟

tefos666
دوشنبه 24 تیر 1387, 09:36 صبح
سلام - مشکلم کمی بگی نگی حل شده با راه بالا ولی منطقی نیست چون یه جاهایی گیر میکنه - قیمت دستگاه رو من حدود 80 الی 102 تومن خریدم بسته به شرکت سازنده قیمتش متفاوت ولی با 80 تومن میتونی گیر بیاری دستگاه های جدید تر هم اومده با اتصال usb امکان ظبط صدا - صفر بند و ..... قیمتش یه 10 الی 12 تومن بالاتره این مدل هم الان دیگه قیمتش باید اصولا پایین تر اومده باشه . الان که نگاه کردم دیدم انگار سایتش بالا نمیاد :گیج: آدرسش رو الان چک میکنم پیدا میکنم میزارم - فکر کنم شرکتش حوالی میدان توحید باشه

ببین دوست عزیز این دستگاه چند تا مدل داره 2 خط 4 خط 8 خط و 16 خط و سری های متفاوتی داره که با S که مخفف single و F که مخفف Full هستش تو بازار موجوده طرز کار ساده ای داره اونی که سری s قیمتش پایین تره و یک processor داره بدین معنی که کنترل همزمان 4 خط باهم رو نداری مثلا من تو برنامه آژانس نمیتونم اگه 4 تا خط یا از یکی بیشتر همزمان با هم زنگ بخوره رو 4 تا باهم پردازش انجام بدم و اصولا تو فرم طراحیم یک timer قرار میدم و کنترل 4 خط رو به اون واگذار میکنم ولی تو سری f که قیمتش بالاتره شما جای یک processor چهار تا processor داری پس قاعدتا باید تو حالت طراحی چهار تا timer بزاری و کنترل هر خط رو جداگانه به یکی از اونا واگذار کنی بنابراین به صورت همزمان روی 4 تا خط تلفنت کنترل همزمان داری - امیدوارم با توضیحاتم متوجه منظورم شده باشی اگه بازم سوالی بود در خدمتم


success is doing , not wishing

tefos666
دوشنبه 24 تیر 1387, 09:58 صبح
دوست عزیز تمام سمپل سورس ها رو اینجا آپلود کردم که دیگه مشکلی نداشته باشین
مشخصات تکمیلی آدرس شرکت هم توش هست

آدرس دفتر مركزي :
ميدان توحيد ، ابتداي خيابان ستارخان ، بالاي بانك كار آفرين ، پ 3 ، واحد 9
تلفن: 66914626 – 66914627