بسم الله الرحمن الرحيم
اخواني انا الان بصمم برنامج اتصال عن طريق الاداة MSComm1 اريد فقط ان اعرف ما وظيفة
الخاصيةCommPort وكيف اتعامل معها
بسم الله الرحمن الرحيم
اخواني انا الان بصمم برنامج اتصال عن طريق الاداة MSComm1 اريد فقط ان اعرف ما وظيفة
الخاصيةCommPort وكيف اتعامل معها
فلسطين .. سوريا ..بورما ......وماذا بعد ؟!
سابقا
medo_programming
موقعي : www.alkhayat-it.com
مواضيع مهمه
-----------------------------------------------:
مش معقوله مفيش حد عارف !!!!
فلسطين .. سوريا ..بورما ......وماذا بعد ؟!
سابقا
medo_programming
موقعي : www.alkhayat-it.com
مواضيع مهمه
-----------------------------------------------:
طيب هل تعني Com3 ؟
فلسطين .. سوريا ..بورما ......وماذا بعد ؟!
سابقا
medo_programming
موقعي : www.alkhayat-it.com
مواضيع مهمه
-----------------------------------------------:
بسم الله الرحمن الرحيم
لا تقل هذا اخي الكريم تمهل لانك لست وحدك في النادي
تفضل
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
بالتوفيق ان شاء الله
وهذا كذلك تفضل اخي
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
وهذا كذلك
'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
تم تعديل هذه المشاركة بواسطة star yes في 26 يونيو 2007 في 15:35
أخي مشكور على الرد , بس انا أريد هذه الخاصية فقط انا لسه مبتدأ في هذه الاداة
فلسطين .. سوريا ..بورما ......وماذا بعد ؟!
سابقا
medo_programming
موقعي : www.alkhayat-it.com
مواضيع مهمه
-----------------------------------------------:
COMMPORT
تدل الاداة علي رقم المنفذ التسلسلي المسجل بنظام التشغيل لجهاز المودم المطلوب استخدامه
للحصول علي رقم المنفذ بالجهاز
اذهب الي ادارة الاجهزة بالنقر يمين علي جهاز الكمبيوتر ثم ادارة
ثم اختر المودم المطلوب بالنقر عليه مرتين
يظهر تاب الجهاز
اختر التاب مودم ستجد رقم المنفذ
مثلا
COM3
لاحظ تختلف ارقام المنافذ حسب ترتيب تثبيت الاجهزة بنظام التشغيل اي غير ثابت
وايضا انا استخدم الرقم فقط مثلا
mscomm1.commport=3
لاستخدام المودم يجب تمرير بعض البيانات الاخرى بالخاصية
setting
مثلا
9600,n,8,1
حيث 9600 سرعة النقل
والتحقق من الخطا ........
ارجواوضوح الصورة بالنسبة لك اخي الكريم بالتوفيق
تم تعديل هذه المشاركة بواسطة ولد حرب في 26 يونيو 2007 في 21:46
جزاكم الله ألف الف خير
فلسطين .. سوريا ..بورما ......وماذا بعد ؟!
سابقا
medo_programming
موقعي : www.alkhayat-it.com
مواضيع مهمه
-----------------------------------------------:
انا حتعبكم معاي , مامعنى هذا الكود؟
With MSComm1 .CommPort = com3 .Settings = "9600,n,8,1" .PortOpen = True .Output = "atdt" + Text4 + Chr$(13) End With
فلسطين .. سوريا ..بورما ......وماذا بعد ؟!
سابقا
medo_programming
موقعي : www.alkhayat-it.com
مواضيع مهمه
-----------------------------------------------:
عزيزي هناك شرح للأداة ستجد الرابط في توقيعي
سبحان الله وبحمده عدد خلقه ورضا نفسه وزنة عرشه ومداد كلماته
هذا الموضوع مغلق.