نمایش نتایج 1 تا 10 از 10

نام تاپیک: پیدا کردن پورت modem

  1. #1

    پیدا کردن پورت modem

    من از ms comm برای کارکردن با مودم استفاده می کنم اما برای شروع کار باید پورت مودم رو به صورت immediate مشخص کنم . چطوری پورت مودم رو میشه پیدا کرد.
    هر که بر مرکب باطل نشیند ، در سراى پیشمانى فرودش مى‏آورند

  2. #2
    روال زیر رو نوشتم و بر روی سیستم خودم چک کردم. به خوبی جواب میده.

    Private Sub DetectModem()
    Dim intLoopCount As Integer, intModemFound As Integer, strInput As String

    intModemFound = 0
    For intLoopCount = 1 To 4
    MSComm.CommPort = intLoopCount
    MSComm.Settings = "9600,N,8,1"

    On Error Resume Next
    MSComm.PortOpen = True
    If Err.Number = 0 Then
    MSComm.Output = "AT" & vbCr
    strInput = MSComm.Input
    If InStr(strInput, "OK") > 0 Then
    intModemFound = MSComm.CommPort
    MSComm.PortOpen = False
    Exit For
    End If
    MSComm.PortOpen = False
    Else
    MSComm.PortOpen = False
    End If
    Next intLoopCount
    If intModemFound > 0 Then
    MsgBox("Modem Found On COM " & intModemFound , vbInformation)
    Else
    MsgBox("Modem Not Found")
    End If
    End Sub

    احتمالا کد فوق در ویندوز XP تنها برای دفعه اول کار می کنه.
    اگر اینجور بود، یک تاخیر زمانی بین ارسال فرمان AT و چک برای ورودی ایجاد کنید.
    موفق باشید.

  3. #3
    مرسی
    :flower: :wink:
    هر که بر مرکب باطل نشیند ، در سراى پیشمانى فرودش مى‏آورند

  4. #4
    کاربر تازه وارد
    تاریخ عضویت
    اردیبهشت 1384
    محل زندگی
    tehran
    پست
    55
    سلام
    این کد روی دستگاه من به خوبی کار کرد با ویندوز اکس پی اما روی دستگاه پسرعمم با همون ویندوز اکس پی کار نکرد
    جالب اینجاست که پورت مودم هرد.وتا دستگاه 3 هست
    لطفا راهنمائی کنید

  5. #5
    مربوط به سرعت cpu میشه و اختلافش با مودم بین دو دستور ارسال فرمان at و خوندن بافر مودم یک delay ایجاد کنید مشکل حل میشه
    :موفق:

  6. #6
    کاربر تازه وارد
    تاریخ عضویت
    اردیبهشت 1384
    محل زندگی
    tehran
    پست
    55
    سلام من متوجه نمی شم میشه شما این تغییر رو اعمال کنید
    من ازsleep استفاده کردم نشد
    لطفا کمکم کنید. حیاتیه

  7. #7
    با اجازه آقا بهروز
    استفاده از یک حلقه for هم میشه

    Private Sub DetectModem()
    Dim intLoopCount As Integer, intModemFound As Integer, strInput As String

    intModemFound = 0
    For intLoopCount = 1 To 4
    MSComm.CommPort = intLoopCount
    MSComm.Settings = "9600,N,8,1"

    On Error Resume Next
    MSComm.PortOpen = True
    If Err.Number = 0 Then
    MSComm.Output = "AT" & vbCr
    'change the number to give answer
    For loop_counter = 0 To 999999: DoEvents: Next
    strInput = MSComm.Input
    If InStr(strInput, "OK") > 0 Then
    intModemFound = MSComm.CommPort
    MSComm.PortOpen = False
    Exit For
    End If
    MSComm.PortOpen = False
    Else
    MSComm.PortOpen = False
    End If
    Next intLoopCount
    If intModemFound > 0 Then
    MsgBox("Modem Found On COM " & intModemFound , vbInformation)
    Else
    MsgBox("Modem Not Found")
    End If
    End Sub

    :موفق:

  8. #8
    کاربر تازه وارد
    تاریخ عضویت
    اردیبهشت 1384
    محل زندگی
    tehran
    پست
    55
    ممنونم
    خیلی خوشحالم که دوستان خوبی مثل شماها دارم
    امیدوارم جبران کنم

  9. #9
    خواهش میکنم قابلی نداشت :موفق:

  10. #10
    کاربر تازه وارد
    تاریخ عضویت
    اردیبهشت 1384
    محل زندگی
    tehran
    پست
    55
    بازم سلام
    آقا این کارا رو کردم ولی نشد
    اما

    وقتی ویندوز طرفرو دوباره ازاول نصب کردم و برنامم رو همنصبکردم بدون این کدبالا درست شد

    فکر نمی کنید ایراداز ورژن mscomm.ocxباشه که قبلا رو دستگاه بوده؟؟؟؟؟

    بازم تشکر
    بای

تاپیک های مشابه

  1. احتیاح به یک API برای وضعیت Modem
    نوشته شده توسط سید مسعود موحد در بخش برنامه نویسی در Delphi
    پاسخ: 8
    آخرین پست: چهارشنبه 26 اسفند 1383, 11:33 صبح
  2. شماره گیری با Modem
    نوشته شده توسط abbas.exe در بخش برنامه نویسی در Delphi
    پاسخ: 10
    آخرین پست: پنج شنبه 12 آذر 1383, 17:28 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •