الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

سؤال في الاداة MSComm1

مغلق
بدأه MS_SQL في 25 يونيو 2007 · 11 رد · 1,501 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بسم الله الرحمن الرحيم

اخواني انا الان بصمم برنامج اتصال عن طريق الاداة MSComm1 اريد فقط ان اعرف ما وظيفة

الخاصيةCommPort وكيف اتعامل معها

فلسطين .. سوريا ..بورما ......وماذا بعد ؟!

سابقا

medo_programming

موقعي : www.alkhayat-it.com

مواضيع مهمه

-----------------------------------------------:

تعلم كل شىء عن الTriggers

#2

مش معقوله مفيش حد عارف !!!!

فلسطين .. سوريا ..بورما ......وماذا بعد ؟!

سابقا

medo_programming

موقعي : www.alkhayat-it.com

مواضيع مهمه

-----------------------------------------------:

تعلم كل شىء عن الTriggers

#3

طيب هل تعني Com3 ؟

فلسطين .. سوريا ..بورما ......وماذا بعد ؟!

سابقا

medo_programming

موقعي : www.alkhayat-it.com

مواضيع مهمه

-----------------------------------------------:

تعلم كل شىء عن الTriggers

#4

بسم الله الرحمن الرحيم

لا تقل هذا اخي الكريم تمهل لانك لست وحدك في النادي

تفضل

SourcePrivate Sub Form_Load()

' faut pas oubliez le paramétrage de Mscomm suivant le GPS utiliser

' comme les propriétés MSComm1.CommPort = 1 : Mscomm1.Settings ="4800,n,8,1"

MSComm1.PortOpen = True 'ouvrir le port, dans mon cas le port numéro 1

Timer1.Interval = 2000

'Ici je donne la valeur 2000 pour l'intervalle car les satellites envoient

'les phrases qui contient les informations chaque deux secondes,

'alors gardez cette valeur!!!

End Sub

Private Sub Timer1_Timer()

decoder ' on appel cette procédure chaque 2 secondes

End Sub

Public Sub decoder()

Dim TmpChaine As String

Dim i As Integer

On Error Resume Next

TmpChaine = MSComm1.Input ' reçois les phrases envoyer par les satellites

i = InStr(TmpChaine, "GPRMC") ' chercher le départ de la phrase qui nous intéresse

Do While Len(TmpChaine) - i < 61 'Vérifier si la phrase n'arrive pas à la fin

On Error Resume Next

TmpChaine = TmpChaine & MSComm1.Input ' stocker la phrase

Loop

' traiter la phrase et extrait les informations avec la fonction mid

Label1.Caption = Mid(TmpChaine, i + 6, 2) & ":" & Mid(TmpChaine, i + 8, 2) & ":" & Mid(TmpChaine, i + 10, 2)

Label2.Caption = "N " & Mid(TmpChaine, i + 15, 2) & "°" & Mid(TmpChaine, i + 17, 2) & "." & Mid(TmpChaine, i + 20, 2) & "'"

Label3.Caption = "E " & Mid(TmpChaine, i + 25, 3) & "°" & Mid(TmpChaine, i + 28, 2) & "." & Mid(TmpChaine, i + 31, 2) & "'"

Label4.Caption = Mid(TmpChaine, i + 48, 2) & "/" & Mid(TmpChaine, i + 50, 2) & "/" & Mid(TmpChaine, i + 52, 2)

'exemple:

'$GPRMC,022804.19,A,3301.5767,S,07131.1408,W,08.5,061.8,040101,06.,E*68

'label1 contient l'heure (Time): hh:mm:ss

'label2 contient la position par rapport au Nord : N ...°...'

'Label3 contient la position par rapport au East : E...°...'

'label4 contient Date : JJ/MM/AA

'il y a des autres informations dans cette phrase a traiter...

End Sub

بالتوفيق ان شاء الله

#5

وهذا كذلك تفضل اخي

Public Max

Dim Numtel(30)

Dim Nomtel(30)

Private Sub COM1_Click()

MSComm1.CommPort = 1

COM1.Checked = True

COM2.Checked = False

COM3.Checked = False

COM4.Checked = False

End Sub

Private Sub COM2_Click()

MSComm1.CommPort = 2

COM1.Checked = False

COM2.Checked = True

COM3.Checked = False

COM4.Checked = False

End Sub

Private Sub COM3_Click()

MSComm1.CommPort = 3

COM1.Checked = False

COM2.Checked = False

COM3.Checked = True

COM4.Checked = False

End Sub

Private Sub COM4_Click()

MSComm1.CommPort = 4

COM1.Checked = False

COM2.Checked = False

COM3.Checked = False

COM4.Checked = True

End Sub

Private Sub Command1_Click()

' Définition des paramétres du port

MSComm1.Settings = "300,N,8,1"

'ouverture du port

On Error Resume Next

MSComm1.PortOpen = True

If Err Then

st = "COM" + Str(MSComm1.CommPort) + " n'est pas disponible."

st = st + "Utilisez le menu Port pour séléctionner un autre port de communication."

MsgBox st

Exit Sub

End If

' Purge du tampon d'entrée

cde = "ATDT " + Numéro.Text + ";" + Chr$(13)

MSComm1.Output = cde

' Attente de la chaine OK en provenance du modem

ok = False

Do

' S'il y a des données dans le tampon , les lit.

If MSComm1.InBufferCount Then

modem = modem + MSComm1.Input

If InStr(modem, "OK") <> 0 Then

MsgBox "Décrochez le téléphone et appuyez sur le bouton OK."

ok = True

End If

End If

Loop Until ok = True

'déconnexion

MSComm1.Output = "ATH" + Chr$(13)

'Fermeture du port

MSComm1.PortOpen = False

End Sub

Private Sub Form_Load()

Open "c:\agend.dat" For Input As #1

i = 1

Do

Line Input #1, Nomtel(i)

Line Input #1, Numtel(i)

Nom.AddItem Nomtel(i)

i = i + 1

Loop Until EOF(1)

Max = i - 1

CommPort = 1

close #1

If COM1.Checked Then MSComm1.CommPort = 1

If COM2.Checked Then MSComm1.CommPort = 2

If COM3.Checked Then MSComm1.CommPort = 3

If COM4.Checked Then MSComm1.CommPort = 4

End Sub

Private Sub Nom_Change()

For i = 1 To Max

If Nomtel(i) = Nom.Text Then

Numéro.Text = Numtel(i)

End If

Next i

End Sub

#6

وهذا كذلك

'Section de code de la classe ISerialPort

'Evenement public de la classe

'l'evenement et generer lors d'une reception dans dont le port est ouvert .

Public Event GetCommPortInput _ (ByValValueInputString)

'Variable avec evenement du controle activex mscomm de microsot

Private WithEvents CommIn As MSComm

'variable de la forme SerialPort contenant l'ocx

Private MyPort As SerialPort

'variable servant au suffix et prefix

Private suffix

Private prefix

'variable du port si ouvert = true

Private Opencomm As Boolean

Private Sub Class_Initialize()

'-------------------------------------

initialise les instances

If MyPort Is Nothing Then

Set MyPort = New SerialPort

End If

'--------------------------------------

If Not MyPort Is Nothing Then

Set CommIn = MyPort.MSComm1

End If

End Sub

Private Function SetPrefix(ByVal prefix As String) As String

If Not prefix = "" Then

SetPrefix = prefix

Else

prefix = ""

End If

End Function

Public Function SetSuffix(ByVal Mysuffix As String) As String

If Not Mysuffix = "" Then

SetSuffix = Mysuffix

suffix = SetSuffix

Else

SetSuffix = ""

End If

End Function

Public Function LoadCommunication(ByVal R_Treshold, ByVal PortNum, ByVal Sett, ByVal OpenPort)

If Not R_Treshold = 0 And Not PortNum = 0 And Not Sett = "" Then

If Not CommIn Is Nothing Then

With CommIn

If Not Opencomm = True Then

.RThreshold = R_Treshold

.CommPort = PortNum

.Settings = Sett

End If

If OpenPort = True Then

.PortOpen = OpenPort

Opencomm = True

Else

.PortOpen = OpenPort

Opencomm = False

End If

End With

End If

End If

End Function

Private Sub CommIn_OnComm()

Dim StrInput, strData As String

Select Case CommIn.CommEvent

Case OnCommConstants.comEvReceive

Do

StrInput = StrInput & CommIn.Input

strData = StrInput

Loop Until InStr(StrInput, suffix)

RaiseEvent GetCommPortInput(strData)

End Select

End Sub

Public Function SendAsciiCommand(ByVal StrCommand As String)

If Not StrCommand = "" Then

If Not Opencomm = False Then

CommIn.Output = StrCommand & Chr(13)

End If

End If

End Function

ms_com1.rar

تم تعديل هذه المشاركة بواسطة star yes في 26 يونيو 2007 في 15:35

#7

أخي مشكور على الرد , بس انا أريد هذه الخاصية فقط انا لسه مبتدأ في هذه الاداة

فلسطين .. سوريا ..بورما ......وماذا بعد ؟!

سابقا

medo_programming

موقعي : www.alkhayat-it.com

مواضيع مهمه

-----------------------------------------------:

تعلم كل شىء عن الTriggers

#8

COMMPORT

تدل الاداة علي رقم المنفذ التسلسلي المسجل بنظام التشغيل لجهاز المودم المطلوب استخدامه

للحصول علي رقم المنفذ بالجهاز

اذهب الي ادارة الاجهزة بالنقر يمين علي جهاز الكمبيوتر ثم ادارة

ثم اختر المودم المطلوب بالنقر عليه مرتين

يظهر تاب الجهاز

اختر التاب مودم ستجد رقم المنفذ

مثلا

COM3

لاحظ تختلف ارقام المنافذ حسب ترتيب تثبيت الاجهزة بنظام التشغيل اي غير ثابت

وايضا انا استخدم الرقم فقط مثلا

mscomm1.commport=3

لاستخدام المودم يجب تمرير بعض البيانات الاخرى بالخاصية

setting

مثلا

9600,n,8,1

حيث 9600 سرعة النقل

والتحقق من الخطا ........

ارجواوضوح الصورة بالنسبة لك اخي الكريم بالتوفيق

تم تعديل هذه المشاركة بواسطة ولد حرب في 26 يونيو 2007 في 21:46

#9

جزاكم الله ألف الف خير

فلسطين .. سوريا ..بورما ......وماذا بعد ؟!

سابقا

medo_programming

موقعي : www.alkhayat-it.com

مواضيع مهمه

-----------------------------------------------:

تعلم كل شىء عن الTriggers

#10

انا حتعبكم معاي , مامعنى هذا الكود؟

With MSComm1
.CommPort = com3
.Settings = "9600,n,8,1"
.PortOpen = True
.Output = "atdt" + Text4 + Chr$(13)
End With

فلسطين .. سوريا ..بورما ......وماذا بعد ؟!

سابقا

medo_programming

موقعي : www.alkhayat-it.com

مواضيع مهمه

-----------------------------------------------:

تعلم كل شىء عن الTriggers

#11

عزيزي هناك شرح للأداة ستجد الرابط في توقيعي

سبحان الله وبحمده عدد خلقه ورضا نفسه وزنة عرشه ومداد كلماته

#12
/index.ph...10&start=10

سبحان الله وبحمده عدد خلقه ورضا نفسه وزنة عرشه ومداد كلماته

هذا الموضوع مغلق.

مواضيع مشابهة