Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

1,2,3,COM4. OU IL EST CE :-((( MODEM ?


Information sur la source

Catégorie :Périphériques Classé sous : com, modem Niveau : Débutant Date de création : 19/03/2001 Vu : 10 146

Note :
8,75 / 10 - par 4 personnes
8,75 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (3)
Ajouter un commentaire et/ou une note

Description

Ce projet donne les indications indispensables
pour détecter le port ou est connecté le modem.
En prime il indique la validité des ports du PC.

Sur une feuille, créer:
2 controles timer: Ti et Ti2
4 controles MsComm: MsComm1 à 4
1 controle Textbox : tt
1 controle Command: Command1
 

Source

  • Dim ti_ok, ti2_ok, cport
  • Private Sub Command1_Click()
  • 1 Dim cport As Integer
  • 2 Dim i As Integer
  • '
  • 3 ti2_ok = False
  • 4 ti_ok = False
  • 6 Cls
  • 7 On Error GoTo erreur1
  • 8 MousePointer = 11
  • 9 Command1.Enabled = False
  • 19 ti_ok = False: Ti.Enabled = False: Ti.Interval = 100 ' en millisecondes
  • 20 ti2_ok = False: Ti2.Enabled = False: Ti2.Interval = 500 ' en millisecondes
  • ' attente des données venant de la RS232
  • 21 MousePointer = 11
  • cport = 1: tt.ForeColor = vbBlack: tt.FontBold = True: tt.Print "COM1 : ";: buffer$ = ""
  • MSComm1.CommPort = 1
  • MSComm1.Settings = "9600,N,8,1"
  • MSComm1.PortOpen = True
  • MSComm1.InputLen = 0
  • MSComm1.InputMode = comInputModeText
  • If MSComm1.InBufferCount Then a$ = MSComm1.Input ' vider le tampon
  • 198 MSComm1.Output = "ATi0i1i2I3I4i6i7i8i9i10i11" & Chr$(13)
  • 199 DoEvents
  • 200 Ti2.Enabled = False: ti2_ok = False: Ti2.Enabled = True
  • 205 Do
  • 210 Ti.Enabled = False: ti_ok = False: Ti.Enabled = True
  • 215 DoEvents
  • 220 Do
  • 225 DoEvents
  • 230 Loop Until MSComm1.InBufferCount > 1 Or ti_ok
  • 235 If ti_ok = False Then
  • 240 Ti.Enabled = False
  • 245 buffer$ = buffer$ & MSComm1.Input
  • 250 DoEvents
  • 255 End If
  • 260 Loop Until ti2_ok = True
  • tt.ForeColor = vbBlue: tt.FontBold = False: tt.Print buffer$
  • cport = 2: tt.ForeColor = vbBlack: tt.FontBold = True: tt.Print "COM2 : ";: buffer$ = ""
  • MSComm2.CommPort = 2
  • MSComm2.Settings = "9600,N,8,1"
  • MSComm2.PortOpen = True
  • MSComm2.InputLen = 0
  • MSComm2.InputMode = comInputModeText
  • If MSComm2.InBufferCount Then a$ = MSComm2.Input ' vider le tampon
  • 298 MSComm2.Output = "ATi0i1i2I3I4i6i7i8i9i10i11" & Chr$(13)
  • 299 DoEvents
  • 300 Ti2.Enabled = False: ti2_ok = False: Ti2.Enabled = True
  • 305 Do
  • 310 Ti.Enabled = False: ti_ok = False: Ti.Enabled = True
  • 315 DoEvents
  • 320 Do
  • 325 DoEvents
  • 330 Loop Until MSComm2.InBufferCount > 1 Or ti_ok
  • 335 If ti_ok = False Then
  • 340 Ti.Enabled = False
  • 345 buffer$ = buffer$ & MSComm2.Input
  • 350 DoEvents
  • 355 End If
  • 360 Loop Until ti2_ok = True
  • tt.ForeColor = vbBlue: tt.FontBold = False: tt.Print buffer$
  • cport = 3: tt.ForeColor = vbBlack: tt.FontBold = True: tt.Print "COM3 : ";: buffer$ = ""
  • MSComm3.CommPort = 3
  • MSComm3.Settings = "9600,N,8,1"
  • MSComm3.PortOpen = True
  • MSComm3.InputLen = 0
  • MSComm3.InputMode = comInputModeText
  • If MSComm3.InBufferCount Then a$ = MSComm3.Input ' vider le tampon
  • 398 MSComm3.Output = "ATi0i1i2I3I4i6i7i8i9i10i11" & Chr$(13)
  • 399 DoEvents
  • 400 Ti2.Enabled = False: ti2_ok = False: Ti2.Enabled = True
  • 405 Do
  • 410 Ti.Enabled = False: ti_ok = False: Ti.Enabled = True
  • 415 DoEvents
  • 420 Do
  • 425 DoEvents
  • 430 Loop Until MSComm3.InBufferCount > 1 Or ti_ok
  • 435 If ti_ok = False Then
  • 440 Ti.Enabled = False
  • 445 buffer$ = buffer$ & MSComm3.Input
  • 450 DoEvents
  • 455 End If
  • 460 Loop Until ti2_ok = True
  • tt.ForeColor = vbBlue: tt.FontBold = False: tt.Print buffer$
  • cport = 4: tt.ForeColor = vbBlack: tt.FontBold = True: tt.Print "COM4 : ";: buffer$ = ""
  • MSComm4.CommPort = 4
  • MSComm4.Settings = "9600,N,8,1"
  • MSComm4.PortOpen = True
  • MSComm4.InputLen = 0
  • MSComm4.InputMode = comInputModeText
  • If MSComm4.InBufferCount Then a$ = MSComm4.Input ' vider le tampon
  • 498 MSComm4.Output = "ATi0i1i2I3I4i6i7i8i9i10i11" & Chr$(13)
  • 499 DoEvents
  • 500 Ti2.Enabled = False: ti2_ok = False: Ti2.Enabled = True
  • 505 Do
  • 510 Ti.Enabled = False: ti_ok = False: Ti.Enabled = True
  • 515 DoEvents
  • 520 Do
  • 525 DoEvents
  • 530 Loop Until MSComm4.InBufferCount > 1 Or ti_ok
  • 535 If ti_ok = False Then
  • 540 Ti.Enabled = False
  • 545 buffer$ = buffer$ & MSComm4.Input
  • 550 DoEvents
  • 555 End If
  • 560 Loop Until ti2_ok = True
  • tt.ForeColor = vbBlue: tt.FontBold = False: tt.Print buffer$
  • 37 MousePointer = 0
  • 38 Command1.Enabled = True
  • 39
  • 40 DoEvents
  • 46 Exit Sub
  • 100 erreur1:
  • 101 tt.ForeColor = vbRed
  • 102 tt.FontBold = False
  • 103 If Err = 8002 Then
  • 104 tt.Print buffer$ & "Rien sur le Port COM" & cport
  • 105 End If
  • 106 If Err = 8005 Then
  • 107 'buffer$ = buffer$ & "Port COM" & cport & " déjà ouvert." & vbCrLf
  • 108 End If
  • 109 If Err = 8012 Then
  • 110 'buffer$ = buffer$ & "Port COM" & cport & " pas ouvert." & vbCrLf
  • 111 End If
  • 112 'Print "Erreur N°"; Err; " ligne "; Erl
  • 113
  • 114 DoEvents
  • 115 Resume Next
  • End Sub
  • Private Sub Form_Load()
  • Top = 0: Left = 0
  • On Error GoTo erreur
  • cport = 1
  • MSComm1.CommPort = 1
  • MSComm1.Settings = "9600,N,8,1"
  • MSComm1.PortOpen = True
  • MSComm1.InputLen = 0
  • MSComm1.InputMode = comInputModeText
  • If MSComm1.InBufferCount Then a$ = MSComm1.Input ' vider le tampon
  • cport = 2
  • MSComm2.CommPort = 2
  • MSComm2.Settings = "9600,N,8,1"
  • MSComm2.PortOpen = True
  • MSComm2.InputLen = 0
  • MSComm2.InputMode = comInputModeText
  • If MSComm2.InBufferCount Then a$ = MSComm2.Input ' vider le tampon
  • cport = 3
  • MSComm3.CommPort = 3
  • MSComm3.Settings = "9600,N,8,1"
  • MSComm3.PortOpen = True
  • MSComm3.InputLen = 0
  • MSComm3.InputMode = comInputModeText
  • If MSComm3.InBufferCount Then a$ = MSComm3.Input ' vider le tampon
  • cport = 4
  • MSComm4.CommPort = 4
  • MSComm4.Settings = "9600,N,8,1"
  • MSComm4.PortOpen = True
  • MSComm4.InputLen = 0
  • MSComm4.InputMode = comInputModeText
  • If MSComm4.InBufferCount Then a$ = MSComm4.Input ' vider le tampon
  • ' resultats affichés, en code alphanumeriques
  • ' pour le modem, c'est ma seule source !
  • ' Envoie la commande Echo désactivé, Echo local désactivé.
  • cport = 2
  • MSComm2.Output = "ATQ1V1E0F1" & Chr$(13)
  • If MSComm2.InBufferCount Then a$ = MSComm2.Input
  • DoEvents
  • ti_ok = False: Ti.Enabled = False: Ti.Interval = 100 ' en millisecondes
  • ti2_ok = False: Ti2.Enabled = False: Ti2.Interval = 500 ' en millisecondes
  • Exit Sub
  • 100 erreur:
  • 115 Resume Next
  • End Sub
  • Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
  • End
  • End Sub
  • Private Sub Ti_Timer()
  • ti_ok = True
  • End Sub
  • Private Sub Ti2_Timer()
  • ti2_ok = True
  • End Sub
Dim ti_ok, ti2_ok, cport 

Private Sub Command1_Click()
1 Dim cport As Integer
2 Dim i As Integer
'
3 ti2_ok = False
4 ti_ok = False
6 Cls

7 On Error GoTo erreur1
8 MousePointer = 11
9 Command1.Enabled = False

19 ti_ok = False: Ti.Enabled = False: Ti.Interval = 100 ' en millisecondes
20 ti2_ok = False: Ti2.Enabled = False: Ti2.Interval = 500 ' en millisecondes
' attente des données venant de la RS232
21 MousePointer = 11

cport = 1: tt.ForeColor = vbBlack: tt.FontBold = True:  tt.Print "COM1 : ";: buffer$ = ""
MSComm1.CommPort = 1
MSComm1.Settings = "9600,N,8,1"
MSComm1.PortOpen = True
MSComm1.InputLen = 0
MSComm1.InputMode = comInputModeText
If MSComm1.InBufferCount Then a$ = MSComm1.Input ' vider le tampon

198 MSComm1.Output = "ATi0i1i2I3I4i6i7i8i9i10i11" & Chr$(13)
199 DoEvents
200 Ti2.Enabled = False: ti2_ok = False: Ti2.Enabled = True
205     Do
210     Ti.Enabled = False: ti_ok = False: Ti.Enabled = True
215     DoEvents
220        Do
225        DoEvents
230        Loop Until MSComm1.InBufferCount > 1 Or ti_ok
235            If ti_ok = False Then
240            Ti.Enabled = False
245            buffer$ = buffer$ & MSComm1.Input
250            DoEvents
255            End If
260     Loop Until ti2_ok = True
tt.ForeColor = vbBlue: tt.FontBold = False: tt.Print buffer$

cport = 2: tt.ForeColor = vbBlack: tt.FontBold = True:  tt.Print "COM2 : ";: buffer$ = ""
MSComm2.CommPort = 2
MSComm2.Settings = "9600,N,8,1"
MSComm2.PortOpen = True
MSComm2.InputLen = 0
MSComm2.InputMode = comInputModeText
If MSComm2.InBufferCount Then a$ = MSComm2.Input ' vider le tampon

298 MSComm2.Output = "ATi0i1i2I3I4i6i7i8i9i10i11" & Chr$(13)
299 DoEvents
300 Ti2.Enabled = False: ti2_ok = False: Ti2.Enabled = True
305     Do
310     Ti.Enabled = False: ti_ok = False: Ti.Enabled = True
315     DoEvents
320        Do
325        DoEvents
330        Loop Until MSComm2.InBufferCount > 1 Or ti_ok
335            If ti_ok = False Then
340            Ti.Enabled = False
345            buffer$ = buffer$ & MSComm2.Input
350            DoEvents
355            End If
360     Loop Until ti2_ok = True
tt.ForeColor = vbBlue: tt.FontBold = False: tt.Print buffer$

cport = 3: tt.ForeColor = vbBlack: tt.FontBold = True:  tt.Print "COM3 : ";: buffer$ = ""
MSComm3.CommPort = 3
MSComm3.Settings = "9600,N,8,1"
MSComm3.PortOpen = True
MSComm3.InputLen = 0
MSComm3.InputMode = comInputModeText
If MSComm3.InBufferCount Then a$ = MSComm3.Input ' vider le tampon

398 MSComm3.Output = "ATi0i1i2I3I4i6i7i8i9i10i11" & Chr$(13)
399 DoEvents
400 Ti2.Enabled = False: ti2_ok = False: Ti2.Enabled = True
405     Do
410     Ti.Enabled = False: ti_ok = False: Ti.Enabled = True
415     DoEvents
420        Do
425        DoEvents
430        Loop Until MSComm3.InBufferCount > 1 Or ti_ok
435            If ti_ok = False Then
440            Ti.Enabled = False
445            buffer$ = buffer$ & MSComm3.Input
450            DoEvents
455            End If
460     Loop Until ti2_ok = True
tt.ForeColor = vbBlue: tt.FontBold = False: tt.Print buffer$

cport = 4: tt.ForeColor = vbBlack: tt.FontBold = True: tt.Print "COM4 : ";: buffer$ = ""
MSComm4.CommPort = 4
MSComm4.Settings = "9600,N,8,1"
MSComm4.PortOpen = True
MSComm4.InputLen = 0
MSComm4.InputMode = comInputModeText
If MSComm4.InBufferCount Then a$ = MSComm4.Input ' vider le tampon

498 MSComm4.Output = "ATi0i1i2I3I4i6i7i8i9i10i11" & Chr$(13)
499 DoEvents
500 Ti2.Enabled = False: ti2_ok = False: Ti2.Enabled = True
505     Do
510     Ti.Enabled = False: ti_ok = False: Ti.Enabled = True
515     DoEvents
520        Do
525        DoEvents
530        Loop Until MSComm4.InBufferCount > 1 Or ti_ok
535            If ti_ok = False Then
540            Ti.Enabled = False
545            buffer$ = buffer$ & MSComm4.Input
550            DoEvents
555            End If
560     Loop Until ti2_ok = True
tt.ForeColor = vbBlue: tt.FontBold = False: tt.Print buffer$

37 MousePointer = 0
38 Command1.Enabled = True
39
40 DoEvents
46 Exit Sub

100 erreur1:
101 tt.ForeColor = vbRed
102 tt.FontBold = False
103 If Err = 8002 Then
104    tt.Print buffer$ & "Rien sur le Port COM" & cport
105 End If
106 If Err = 8005 Then
107    'buffer$ = buffer$ &  "Port COM" & cport & " déjà ouvert." & vbCrLf
108 End If
109 If Err = 8012 Then
110    'buffer$ = buffer$ &  "Port COM" & cport & " pas ouvert." & vbCrLf
111 End If
112 'Print "Erreur N°"; Err; " ligne "; Erl
113
114 DoEvents
115 Resume Next
End Sub

Private Sub Form_Load()
Top = 0: Left = 0
On Error GoTo erreur

cport = 1
MSComm1.CommPort = 1
MSComm1.Settings = "9600,N,8,1"
MSComm1.PortOpen = True
MSComm1.InputLen = 0
MSComm1.InputMode = comInputModeText
If MSComm1.InBufferCount Then a$ = MSComm1.Input ' vider le tampon

cport = 2
MSComm2.CommPort = 2
MSComm2.Settings = "9600,N,8,1"
MSComm2.PortOpen = True
MSComm2.InputLen = 0
MSComm2.InputMode = comInputModeText
If MSComm2.InBufferCount Then a$ = MSComm2.Input ' vider le tampon

cport = 3
MSComm3.CommPort = 3
MSComm3.Settings = "9600,N,8,1"
MSComm3.PortOpen = True
MSComm3.InputLen = 0
MSComm3.InputMode = comInputModeText
If MSComm3.InBufferCount Then a$ = MSComm3.Input ' vider le tampon

cport = 4
MSComm4.CommPort = 4
MSComm4.Settings = "9600,N,8,1"
MSComm4.PortOpen = True
MSComm4.InputLen = 0
MSComm4.InputMode = comInputModeText
If MSComm4.InBufferCount Then a$ = MSComm4.Input ' vider le tampon

' resultats affichés, en code alphanumeriques
' pour le modem, c'est ma seule source !
' Envoie la commande Echo désactivé, Echo local désactivé.
cport = 2
MSComm2.Output = "ATQ1V1E0F1" & Chr$(13)
If MSComm2.InBufferCount Then a$ = MSComm2.Input
DoEvents

ti_ok = False: Ti.Enabled = False: Ti.Interval = 100 ' en millisecondes
ti2_ok = False: Ti2.Enabled = False: Ti2.Interval = 500 ' en millisecondes
Exit Sub

100 erreur:
115 Resume Next
End Sub

Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
End
End Sub

Private Sub Ti_Timer()
ti_ok = True
End Sub

Private Sub Ti2_Timer()
ti2_ok = True
End Sub 

Conclusion

Les codes envoyés au modem sous tension,
retournent ses paramètres.
Vitesse maxi, Nom, Fabriquant, Marque etc...
 

Commentaires et avis

signaler à un administrateur
Commentaire de yoman64 le 05/06/2002 19:25:20

ouin ya plus simple

signaler à un administrateur
Commentaire de CHARFEDDINE1205 le 10/05/2006 14:32:45

J'ai fait un essai pour tourner le code qui permet de récuperer les parametres du nmodem lorsqu'il est sous tension mais c'est pas marché,pouvez vous m'aider SVP et merci

signaler à un administrateur
Commentaire de CHARFEDDINE1205 le 10/05/2006 14:35:58

J'ai fait un essai pour tourner le code qui permet de récuperer les parametres du nmodem lorsqu'il est sous tension mais c'est pas marché,pouvez vous m'aider SVP et merci

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

Port com de mon modem [ par machto ] Bonjour,je voudrais savoir comment je peux connaître le port où se trouve connecté mon modem USB?En allant dans le panneau de configuration, dans syst Interfaçage USB / COM Port [ par flatron123 ] Bonjour à toutes et à tous,Depuis quelques temps je developpe une appli utilisant un GPS connecté en USB. Pour le moment, j'utilise un petit soft (SPA communication sur port com [ par SEB73460 ] Bonsoir,J'ai connecte mon port com1 sur une carte electronique qui comporte un microcontroleurle role de cette carte (pour le moment) c est d'envoyer Probleme avec ma reception sur mon port com [ par SEB73460 ] Bonjour et bon dimanche à tous,Voila, j'affiche dans un textbox la reception des données que j'ai envoyer sur mon port coml'envoie se fait bien dans s RS232 en VB.net [ par Alien ] Bonjour,j'aimerais savoir? est ce que c'est normal que l'objet de com serie etait tres tres simple à gerer en VB6 et que je pige rien a rien en VB 200 Gestions des trasactions sans COM+ [ par ttornade ] Bonjour tout le monde,Je suis à la recherche d'articles traitant la gestion des transactions sans l'utilisation des composants COM+.quelqu'un saurait Programmation 3D [ par papse ] Bonjour J ai essayé le code ci-dessous que j'ai trouvé au net sur VB 2008 express avec l'application WPF mais ça n a pas marché ; je ne sais s il faut Application WPF [ par papse ] Bonjour J ai essayé le code ci-dessous que j'ai trouvé au net sur VB 2008 express avec l'application WPF mais ça n a pas marché ; le message d'erreur VisualBasic Script [ par ilSPARTIATEli ] Bien le bonjour, voila je ne connais que très peu le bvs, et je recherche du code qui peut me permetre de me connecter a une base de donnée Access et


Nos sponsors

Sondage...

CalendriCode

Octobre 2008
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,250 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.