PDA

View Full Version : caller ID



titbasoft
شنبه 15 اسفند 1383, 16:00 عصر
چطوری می شه Caller ID رو بدست آورد؟

md_bluelily
شنبه 15 اسفند 1383, 19:03 عصر
خیلی راحت با دستورهای مودم که البته به مودمتون بستگی داره.
وقتی دستور Compatible رو به Chipset مودمتون بدید مودم شماره رسیده شده رو روی Input براتون میزاره. فقط کافیه که بخونیدش.

به همین راحتی.

titbasoft
یک شنبه 16 اسفند 1383, 09:13 صبح
عزیز جان برادر
اگه من با این سیستم ها آشنا بودم که سوال نمی کردم :گیج: :cry:
لطفا زیر دیپلم ترش کن :موفق:
یه سورس کدی ، یه چیزی بابا :wink:

md_bluelily
یک شنبه 16 اسفند 1383, 10:23 صبح
زبونی که باهاش می خواهید اینکار رو بکنید چیه ؟؟

titbasoft
یک شنبه 16 اسفند 1383, 13:30 عصر
درسته که در بخش vb.net این تاپیک باز شده اما c# هم قبوله :wink:

md_bluelily
یک شنبه 16 اسفند 1383, 15:24 عصر
شما میتونید از MsComm Component استفاده کنید.
به این ترتیب که ComPort رو بهش میدید و PortOpen رو True میکنید بعد در OnComEvent مقدار MsComm.Input رو میخونید.
:موفق:
کمک خواستید من اینجام.

titbasoft
یک شنبه 16 اسفند 1383, 18:27 عصر
:kaf: :kaf: :kaf: :kaf: :kaf: http://www.15seconds.com/issue/020626.htm ('http://www.15seconds.com/issue/020626.htm')

حالا می فهمم چرا گفتی اینکه خیلی آسونه
آقا خیلی مرسی

titbasoft
یک شنبه 16 اسفند 1383, 19:36 عصر
اینم خلاصه و مفیدش

Private WithEvents MSComm1 As New MSCommLib.MSCommClass
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
MSComm1.Settings = "9600, N, 8, 1"
MSComm1.CommPort = 3
If MSComm1.PortOpen = False Then
MSComm1.PortOpen = True
End If
MSComm1.RThreshold = 0
MSComm1.InputLen = 0
MSComm1.Output = "AT#CID=1" & Chr(13)

End Sub


Private Sub MSComm1_OnComm() Handles MSComm1.OnComm
Dim Buffer As String
Dim start, l As Integer
Buffer = Replace(MSComm1.Input, Chr(13), "")
Buffer = Replace(Buffer, Chr(10), "")
If InStr(Buffer, "NMBR") Then
start = InStr(Buffer, "NMBR")
l = Len(Buffer) - (start + 1)
ListBox1.Items.Add(Mid(Buffer, InStr(Buffer, "NMBR") + 5, l)) ' add each ID to a listBox
End If
End Sub

md_bluelily
یک شنبه 16 اسفند 1383, 21:59 عصر
دیدی راحت بود. :موفق:

saeedIRHA
دوشنبه 17 اسفند 1383, 14:35 عصر
سلام دوستان!
من خیلی از این برنامه که نوشتین خوشم امد !!و خیلی دوست دارم که Source
رو داشته باشم و این چیزی که شما هم اینجا نوشتین رو رو برنامم نوشتم
اما Error میده به من !
با عرضه پوزش من یک ذره تازه کارم هستم!
میشه لطفاً یک بر تمامه Source رو از اول تا آخر برایه من بدین !!
همینطور بگین که چه Refrence رو باید به برنامم ADD کنم !چه Class باید ADD بشه !
لطفأ کمک کنید که من بتونم این برنامه رو بنویسم ،
چون تو اینترنتم هرچی search کردم حدوده 3 ساعت نتونستم Source برنامه رو به
VB.NET پیدا کنم وب6 بود اما .نت نبود ! :sorry:
لطفاً کمک کنین !
:گیج: :cry:

titbasoft
دوشنبه 17 اسفند 1383, 14:58 عصر
میشه لطفاً یک بر تمامه Source رو از اول تا آخر برایه من بدین !!
توی اون لینکی که من گذاشتم یه Source کامل vb6 قابل دانلود داره .


اما Error میده به من !
اون دستوری که جلوی output ی نویسید به نوع modem هم ربط داره من این رو روی یک مودمه v92 تست کردن جواب داد. برای آگاهی بیشتر به manual مودمتون مراجعه کنید
مواظب باشید پورت مودمتون هم باز نباشه . مثلا برنامه هایی مثل bitware یا winfax پورت رو برای دریافت فاکس یا پیام تلفنی باز نگه می دارند


همینطور بگین که چه Refrence رو باید به برنامم ADD کنم
این کنترل یک Com object هست نه یک dot net class library پس از تب com کنترل Microsoft Comm Control 6.0 رو اضافه کنید


چه Class باید ADD بشه !
Private WithEvents MSComm1 As New MSCommLib.MSCommClass
البته به کیورد WithEvents نیز دقت کنید


VB.NET پیدا کنم وب6 بود اما .نت نبود !
همونطور که عرض کردم این یک dot net class library نیست پس Syntax اون با vb6 فرقی نمی کنه. فقط Copy و paste
enjoy it :mrgreen:

md_bluelily
دوشنبه 17 اسفند 1383, 19:07 عصر
حرفی توش نیست.
دقیق و کامل.
ممنون.
:موفق:
:sunglass:

rezanew
دوشنبه 17 اسفند 1383, 19:43 عصر
این تو هر مودمی جواب میده؟
مال من که zoltrix سه چیپ بود جواب نداد راه حلی چیزی ندارین؟

saeedIRHA
سه شنبه 18 اسفند 1383, 03:23 صبح
سلام دوسته عزیز!
ممنون از راهنمایتون!
اما مشکلی که من هنوز دارم اینه :
با ووجوده اینکه شما سایت رو که گفته بودین من رفتم توش و کده هرو کپی پست هم
کردم مسلیه که هست اینه که MSCOMM1 تعریف نشده هست!!!با وجوده اینکه من Refrenceرو هم ADD کردم!
و من کده هایه شمارم خوندم
شما هم نوشته بودین
Privete withevents MSComm1 as NEW MSCommlib.MSCommclass
مسلیه که هست اینه که مقیه اجریه برنامه به من Error میده
نمیدونم چرا نمیشه از new استفاده کرد !
لطفاً کمک کنید و بگید باید چی کار کنم ؟!؟!
شرمنده من تازه کاریم! :D :sorry: :flower:

titbasoft
سه شنبه 18 اسفند 1383, 07:24 صبح
شرمنده من تازه کاریم!
ما همه تازه کاریم برادر :mrgreen:

بالاخره مجبور شدم خود کدشو براتون بزارم ولی سعی کنید مشکل کد خودتون رو هم پیدا کنید و اگر معلوم شد با یک پست اون رو به اطلاع همه برسونید
(مطمئن هستید که ...Private withevents در قسمت general declaration نوشته اید؟) :موفق:

saeedIRHA
سه شنبه 18 اسفند 1383, 16:31 عصر
(مطمئن هستید که ...Private withevents در قسمت general declaration نوشته اید؟)

سلام دوسته عزیز!
مرسی از اینکه Source کده برنامرو گذاشتین !
اما همون تور که گفتم خدمتتون این مشکل تو خوده Source کده برنامه هم هست
اگر شما نیگاه کنید و یک بار برنامرو اجرا کنید مشکل رو می بینید !
بله من هم متمنما که اونو تو General declaration نوشتم !
من دقیقاً همین کده برنامیه که شما نوشتین رو اجرا کردم و بازم Error داد!
Error که میده این هستش که:
"An unhandled exception of type 'System.Runtime.InteropServices.COMException' occurred in WindowsApplication1.exe

Additional information: Class is not licensed for use
"
در کلمیه NEW Error میده !چون اگر new رو حذف کنید برنامه کار میکنه Bug نمیده
اما اصلاً فراخوانی نمیکنه ،که کار کنه در حقیقت هیچ کاری نمیکنه!
ممنون میشام اگر کمک کنید و بگید باید چی کار کنم ! :sorry: :sorry: :oops:
:wink:

titbasoft
سه شنبه 18 اسفند 1383, 17:52 عصر
Additional information: Class is not licensed for use
حالا شد.

ببینید من به جای این یه دفعه ای بخوام جواب رو مستقیم بگم طرز پیدا کردن جواب رو بهتون می گم.
1) ابتدائی ترین چیزی که به ذهن می رسه ایه که در مورد کیورد "mscomm" و "Class is not licensed for use " در گوگل جستجو کنید. نتیجه این جستجو تنها 4 مورد که یکی از اونها مفصلا در مورد مشکل بحث کرده


vbCity.com Forums » .NET » VB.NET » "Class is not licensed for ...
... System.Runtime.InteropServices.ComException (ox80040112): Class is not licensed
for use at Application ... uses DAO commands but doesn't reference mscomm or the ...
www.devcity.net/forums/ (http://www.devcity.net/forums/) goto.asp?show=lastpost&tid=65793 - 70k - Supplemental Result - Cached - Similar pages

2) با یه کم دقت متوجه میشید که مشکل اینه که licence این component همراه Visual Basic 6 Runtime Files عرضه شده و احتمالا شما vb 6 روی سیستمتون ندارید
3) http://support.microsoft.com/?kbid=318597
4) http://www.irongeek.com/downloads/vb6controls.reg

حله؟ :wink:


مال من که zoltrix سه چیپ بود جواب نداد راه حلی چیزی ندارین؟
لینک بالا به درد شما هم می خوره. :flower:

md_bluelily
چهارشنبه 19 اسفند 1383, 17:22 عصر
دوست عزیزم.
داخلCDهای Visual Sudio.Net بگردید و فایل زیر رو اجرا کنید:

cdrom:\Extras\VB6 Controls\vb6controls.reg

البته من این فایل رو براتون گذاشتم که اگر پیدا نکردید زیاد دنبالش نگردید.
:موفق:

saeedIRHA
چهارشنبه 19 اسفند 1383, 18:06 عصر
سلام دوستان عزیز
ممنون از همتون بخصوص از آقای titbasoft
خیلی به من کمک کردین!
سپاسگزارم!

:sunglass: :D :flower: :flower: :flower:
:موفق:

saeedIRHA
چهارشنبه 19 اسفند 1383, 18:25 عصر
فقط ببخشید دوسته عزیز!
الان که من این برنامه رو تست کردم کار میکنه!
اما بجای اینکه به من شماره بده میده
"Ring"
و برنامه ی که شما Linke رو گذاشته بودین هم تست کردم
اونم به من شماره رو نمیده فقط میده "Ring"
الان مشکله من از مدم هستش یا بازم اشکاله دیگه ی هست ؟
مدم من " D-Link dfm-560e 56K external " هستش!
شرمنده ما زیاد سؤال می کنیم!
:embr: :embr: :گیج:

titbasoft
چهارشنبه 19 اسفند 1383, 23:56 عصر
Buffer = Replace(MSComm1.Input, Chr(13), "")
Buffer = Replace(Buffer, Chr(10), "")

این قسمت از کد یعنی MSComm1.Input حاوی یکسری کاراکتر های کنترلی مثل enter هست و رشته ای که بر می گرده به نوع مودم بستگی داره پیشنهاد می کنم با یک حلقه for ... next یکی یکی روی کاراکترهای اون حرکت کنید (مسلما یک حلقه با طول (len(MSComm1.Input ) و هر جا به کاراکتر مشکوکی بر خوردید اون را با "" replace کنید یک چیزی مشابه کد بالا


شرمنده ما زیاد سؤال می کنیم!
پس ما برای چی اینجا جمع شدیم؟ :wink:

hesam_hma
پنج شنبه 22 شهریور 1386, 10:35 صبح
با سلام به همه دوستان
جناب titbasoft (http://barnamenevis.org/forum/member.php?u=8817) من برنامه ای را که در این تاپیک قرار دادید استفاده کردم متاسفانه با وجود اجرای فایل vb6controls در خط اول خطا دریافت می کنم ، در صورت امکان راهنمایی بفرمایید

PrivateWithEvents MSComm1 AsNew MSCommLib.MSCommClass

hesam_hma
پنج شنبه 22 شهریور 1386, 10:52 صبح
فایل MSCOMM32.OCX رو پیدا کردم ، مشکلم بر طرف شد ممنون

emanmusic
پنج شنبه 06 آذر 1393, 04:17 صبح
دوستان من وقتی اجرا میکنم میگه پورت نادرسته . یه اشکال Hresult میده . من میدونم پورت مودم درسته . اما نمیدونم چرا این پیغام رو میده . من ویژوال بیسیک 2008 استفاده میکنم