ايران ويج

نسخه‌ی کامل: تعريف پورت
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
با سلام
من يك مدار با ميكرو درست كرده ام كه دما را از مكرو به برنامه ويژوال بيسيك از طريق پورت سريال انتقال ميده چون از usb استفاده ميكنم هر بار شماره پورت عوض ميشه و من مجبورم در داخل برنامه پورت تعريف كنم مثل كد زير، حالا ميخوام برنامه اي بنويسم كه از يك text box يا combobo ,پورت در جاي مربوطه وارد كنم ممنون ميشم راهنماييم كنيد
(۱۲-دى-۱۳۹۱, ۰۰:۵۷:۲۰)masoud2011 نوشته است: [ -> ]با سلام
من يك مدار با ميكرو درست كرده ام كه دما را از مكرو به برنامه ويژوال بيسيك از طريق پورت سريال انتقال ميده چون از usb استفاده ميكنم هر بار شماره پورت عوض ميشه و من مجبورم در داخل برنامه پورت تعريف كنم مثل كد زير، حالا ميخوام برنامه اي بنويسم كه از يك text box يا combobo ,پورت در جاي مربوطه وارد كنم ممنون ميشم راهنماييم كنيد
اول اون کتابخونه ی پایین رو به برنامه اضافه کن مال کار با ریجیستری هست
بعد کد زیر رو بزار این میاد کل پورت هارو پیدا میکنه بعد وقتی میخوای پورت رو باز کنی ببین کدوم رو انتخاب کردن (VAL(comb1.text
بعد این شماره ی پورت رو میده که تو میدی به وی بی و پورت رو باز میکنی
کد:
On Error Resume Next
Combo1.Clear
Dim K As clsKey, V As clsValue
Set K = New clsKey
K.FullPath = "HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\SERIALCOMM"
For Each V In K.Values
Combo1.AddItem (V.Value)
Combo1.Text = V.Value
Write #1, "Serial Port -> " & V.Value
Next
Combo1.Enabled = True
Combo2.Enabled = True
Combo3.Enabled = True
Combo4.Enabled = True
Combo5.Enabled = True
If Combo1.ListCount = 0 Then MsgBox "No Com port Founded", vbCritical + vbOKOnly, "Check Your Com port": Call Form_Load
ممنون از لطف شما
اين فايلي كه فرستاده ايد فايل DLL. چطور به برنامه اضافه كنم؟
من اين مراحل انجام دادم
1. ابتدا يك COMBOBOX بر روي formاوردم
2.يك LABEL به نام VAL اضافه كردم
3. بر روي COMBOBOX دبل كليك كردم و كدقرار دادم
4. شكل ها ببينيد
5. فايل پيوست كجا قرار دهم
6. Make project.exe بزنيم .
اگر مراحل درست باشد. ايراد كارم چيه؟؟؟؟؟؟؟؟؟؟؟
شما توی تولبار یالا در تب project گزینه ی references رو انتخاب کن و پیوست رو بهش اضافه کن
ببخشید تو کد نویسی هم یه سوتی دادم
کد:
Private Sub Combo1_Change()
Label1.Caption = Val(Mid(Combo1.Text, 4, Len(Combo1.Text)))
End Sub

Private Sub Command1_Click()
Label1.Caption = "Choose a COM Port"
On Error Resume Next
Combo1.Clear
Dim K As clsKey, V As clsValue
Set K = New clsKey
K.FullPath = "HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\SERIALCOMM"
For Each V In K.Values
Combo1.AddItem (V.Value)
Combo1.Text = V.Value
Next
Combo1.Enabled = True
If Combo1.ListCount = 0 Then MsgBox "No Com port Founded", vbCritical + vbOKOnly, "Check Your Com port"
End Sub
توی فرم یه لیبل
یه دکمه و یه کمبو باکس اضافه کن وکد رو بزار
نقش لیبل این هست که وقتی میخوای سریال رو باز کنی شماره یه پورت رو میخواد که در اخر
بجای لیبل اینو میزاری
کد:
x = Val(Mid(Combo1.Text, 4, Len(Combo1.Text)))
همون شماره رو ذخیره میکنه و میدی به سریال
با سلام و ممنون از لطف شما
من ابتدا در صفحه form يك combobox ,comand,label قرار دادم سپس فايل dll از گزينه project در قسمت referenc و پيوست اضافه كردم حالا بر روي lable دبل كليك كرده وكد زير قرار دادم
...=x
حال
بر روي combobox دبل كليك ميكنم وكد جديدقرار ميدم فايل را ذخيره و اجرا ميكنم امااشكال ميگيره
فايل اشكال ارسال كردم مشكلش چيه؟
(۱۴-دى-۱۳۹۱, ۱۴:۳۳:۵۹)masoud2011 نوشته است: [ -> ]با سلام و ممنون از لطف شما
من ابتدا در صفحه form يك combobox ,comand,label قرار دادم سپس فايل dll از گزينه project در قسمت referenc و پيوست اضافه كردم حالا بر روي lable دبل كليك كرده وكد زير قرار دادم
...=x
حال
بر روي combobox دبل كليك ميكنم وكد جديدقرار ميدم فايل را ذخيره و اجرا ميكنم امااشكال ميگيره
فايل اشكال ارسال كردم مشكلش چيه؟
اون بالا دوبار تابع رو تعریف کردید
بازم ممنونم
سوال ديگه اي هم دارم همانطوري كه ميدانيم جهت ارتباط سريال جهت افزودن MSCOMM , تب Microsoft comm control را انتخاب و سپس ok ميكنيم تا اين ابزار اضافه بشه همانطوري كه ميدونيم دردستور اين تب بايد شماره پورت مشخص بشه مثلا كد زير
کد:
MSComm1.CommPort = 1
MSComm1.Settings = "9600,N,8,1"
MSComm1.PortOpen=True
حال اگر در برنامه قبلي كه با زدن كليد پورت سريال مشخص مي شد عدد پورت بايد در دستور ? =MSComm1.CommPort قرار گيرد حال چه تابعي تعريف كنم كه در صورت زدن كليد ومشخص شدن پورت ، عدد پورت در جاي علامت سوال قرار گيرد Exclamation
در واقع شناسايي پورت سريال به صورت خودكار صورت گيرد.
کد:
x = Val(Mid(Combo1.Text, 4, Len(Combo1.Text)))
این x در واقع همونی هست که شما باید مساوی قرار بدید میشه اینطوری
کد:
MSComm1.CommPort = Val(Mid(Combo1.Text, 4, Len(Combo1.Text)))
با سلام و ممنون اقای بهزادی
من این کار کردم اما error میده فایل vb ارسال نمودم اشکالم در چیه