begin process at 2010 02 10 04:14:36
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Périphériques

 > RECHERCHE ET TEST MODEMS

RECHERCHE ET TEST MODEMS


 Information sur la source

Note :
9,25 / 10 - par 4 personnes
9,25 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Périphériques Niveau :Initié Date de création :31/07/2002 Date de mise à jour :31/07/2002 16:52:26 Vu / téléchargé :6 290 / 1 367

Auteur : vichamp

Ecrire un message privé
Commentaire sur cette source (12)
Ajouter un commentaire et/ou une note

 Description

Cliquez pour voir la capture en taille normale
Recherche et test le(s) modem(s) sur port com. Vérifie également qu'il est bien raccordé à la prise téléphonique

Necessite les composants : MSComm et MSFlexGrid

Placer : 2 boutons (quitter_btn et test_btn), 2 label (test_lbl, diagnostic_statut), 1 MSFlexGrid (diagnostic_table), 1 timer (test_timer) et 1 MSComm (MSComm1)...... le plus simple est de passer par le zip......


Source

  • '################################################################
  • '# #
  • '# TEST ET VERIFS MODEM #
  • '# #
  • '################################################################
  • '# #
  • '# Permet de chercher les modems raccordé au port com de l'ordi #
  • '# Verifie leur fonctionnement, et leur raccordement à la ligne #
  • '# Donne aussi la réf du modem #
  • '# #
  • '# Par : vichamp (vichamp@noos.fr) 30/07/02 #
  • '# #
  • '# nésitez pas a m'envoyer toutes vos remarques... je sais #
  • '# l'hortographe.................. #
  • '################################################################
  • '
  • Private Sub Form_Load()
  • Me.Visible = True
  • 'mise en place de la table de diag
  • diagnostic_table.ColWidth(0) = 800
  • diagnostic_table.ColWidth(1) = 2000
  • diagnostic_table.ColWidth(2) = 5000
  • diagnostic_table.ColWidth(3) = 800
  • diagnostic_table.ColWidth(4) = 2000
  • diagnostic_table.ColAlignment(0) = 4
  • diagnostic_table.ColAlignment(1) = 4
  • diagnostic_table.ColAlignment(2) = 4
  • diagnostic_table.ColAlignment(3) = 4
  • diagnostic_table.ColAlignment(4) = 4
  • End Sub
  • Private Sub test_modem()
  • Dim modem_etat, modem_model, modem_ligne, modem_ligne_test As String
  • Dim system_ok, erreur As Integer
  • Dim coul_good, coul_bad As Double
  • coul_good = &H0 'couleur du text des test reussi et pas bon
  • coul_bad = &H808080
  • diagnostic_table.Clear
  • diagnostic_table.Visible = True
  • system_ok = 0 'passe à 2 si il y a un modem correctement branché
  • 'passe à 1 si le modem ne peut pas acceder à la ligne
  • modem_ligne_test = "ATDT" & "00123456789" & Chr(13) 'numero a la con pour voir le modem peut composé
  • 'Rajouter le préfix de sortie dans le cas de standart téléphonique
  • 'Entete de la grille
  • diagnostic_table.Row = 0
  • diagnostic_table.Col = 0
  • diagnostic_table.CellFontBold = True
  • diagnostic_table.Text = "Port"
  • diagnostic_table.Col = 1
  • diagnostic_table.CellFontBold = True
  • diagnostic_table.Text = "Etat"
  • diagnostic_table.Col = 2
  • diagnostic_table.CellFontBold = True
  • diagnostic_table.CellAlignment = 4
  • diagnostic_table.Text = "Modem"
  • diagnostic_table.Col = 3
  • diagnostic_table.CellFontBold = True
  • diagnostic_table.Text = "Etat"
  • diagnostic_table.Col = 4
  • diagnostic_table.CellFontBold = True
  • diagnostic_table.Text = "Ligne"
  • test_timer.Interval = 500 'temp maxi des tests
  • '
  • 'Boucle des test port par port
  • 'POUR RAJOUTER DES PORTS : il suffit de rajouter des ligne a la grille et d'augmenter la boucle
  • '
  • For port_com = 1 To 4
  • diagnostic_table.Row = port_com
  • diagnostic_table.Col = 0
  • diagnostic_table.CellFontBold = True
  • diagnostic_table.Text = "COM" & port_com 'affiche le port tester
  • diagnostic_statut.Caption = "Test d'accès au port de communication " & port_com
  • MSComm1.CommPort = port_com
  • erreur = 0
  • 'test du port
  • diagnostic_table.Col = 1
  • diagnostic_table.Font.Bold = False
  • On Error Resume Next
  • If MSComm1.PortOpen = True Then MSComm1.PortOpen = False
  • MSComm1.PortOpen = True
  • If Err Then 'si le porr ne peut pas etre ouvert
  • diagnostic_table.CellForeColor = coul_bad
  • diagnostic_table.Text = "Utilisé ou inexistant " 'si il y a une erreur sur le port, passe direct au prochain port à tester
  • Else 'si pas d'erreur
  • diagnostic_table.CellForeColor = coul_good
  • diagnostic_table.Text = "Disponible"
  • MSComm1.PortOpen = True
  • 'test de réponse d'un modem
  • diagnostic_statut.Caption = "Attente de réponse d'un modem sur COM" & port_com
  • MSComm1.Output = "atE1" & Chr(13)
  • diagnostic_table.Col = 3
  • modem_etat = ""
  • test_lbl.Caption = "0"
  • test_timer.Enabled = True
  • While Val(test_lbl.Caption) = 0 'attent une réponse du modem, au pire le timer stop le test
  • If MSComm1.InBufferCount > 0 Then
  • modem_etat = modem_etat & MSComm1.Input
  • test_lbl.Caption = 1
  • End If
  • DoEvents
  • Wend
  • test_timer.Enabled = False
  • If modem_etat = "" Or InStr(1, etat_modem, "OK") <> 0 Then 'si pas de modem
  • diagnostic_table.CellForeColor = coul_bad
  • diagnostic_table.Text = "NC"
  • diagnostic_table.Col = 2
  • diagnostic_table.CellForeColor = coul_bad
  • diagnostic_table.Text = "Aucun modem opérationnel détecté"
  • Else 'Si modem il y a
  • diagnostic_table.CellForeColor = coul_good
  • diagnostic_table.Text = "OK" 'affiche ok pour l'etat du modem
  • 'recupere la ref du modem
  • diagnostic_statut.Caption = "Demande du modèle du modem sur COM" & port_com
  • diagnostic_table.Col = 2
  • diagnostic_table.CellForeColor = coul_good
  • MSComm1.Output = "atI4" & Chr(13)
  • modem_model = ""
  • test_lbl.Caption = "0"
  • test_timer.Enabled = True
  • While Val(test_lbl.Caption) = 0
  • If MSComm1.InBufferCount > 0 Then
  • modem_model = modem_model & MSComm1.Input
  • test_lbl.Caption = 1
  • End If
  • DoEvents
  • Wend
  • test_timer.Enabled = False
  • modem_model = Right(modem_model, Len(modem_model) - 7)
  • modem_model = Left(modem_model, Len(modem_model) - 6)
  • If modem_model <> "" Then diagnostic_table.Text = modem_model Else diagnostic_table.Text = "Modèle inconnu"
  • 'tente de prende la ligne
  • diagnostic_statut.Caption = "Test de la ligne téléphonique du modem sur COM" & port_com
  • diagnostic_table.Col = 4
  • MSComm1.Output = modem_ligne_test
  • modem_ligne = ""
  • test_lbl.Caption = "0"
  • test_timer.Interval = 10000 'temp maxi de reponse du modem augmenter a 1sec
  • test_timer.Enabled = True
  • While Val(test_lbl.Caption) = 0
  • If MSComm1.InBufferCount > 0 Then modem_ligne = modem_ligne & MSComm1.Input
  • DoEvents
  • Wend
  • test_timer.Enabled = False
  • If InStr(1, modem_ligne, "NO DIALTONE") <> 0 Then 'si pas de tonalité
  • diagnostic_table.CellForeColor = coul_bad
  • diagnostic_table.Text = "pas de tonalité"
  • If system_ok < 2 Then system_ok = 1
  • Else
  • If InStr(1, modem_ligne, "NO CARRIER") <> 0 Then 'si pas de porteuse
  • diagnostic_table.CellForeColor = coul_bad
  • diagnostic_table.Text = "pas de porteuse"
  • If system_ok < 2 Then system_ok = 1
  • Else
  • diagnostic_table.CellForeColor = coul_good 'si tout est bon
  • diagnostic_table.Text = "Ok"
  • system_ok = 2
  • End If
  • End If
  • End If
  • MSComm1.PortOpen = False 'referme le port
  • End If
  • Next port_com
  • diagnostic_statut.Caption = "Tests terminé"
  • 'If system_ok = 2 Then
  • ' MsgBox ("Votre system est correctement configuré pour accèder à internet")
  • 'Else
  • ' If system_ok = 1 Then
  • ' MsgBox ("Un modem opérationnel à été detecter, mais il ne peut pas accèder à la ligne téléphonique" & Chr(13) & Chr(13) & "Veuillez vérifier son raccordement et recommencer")
  • ' Else 'system_ok = 0
  • ' MsgBox ("Aucun modem n'a été détecter sur votre ordinateur..." & Chr(13) & Chr(13) & "Essayer de fermer toutes les applications ouvertes et recommencer")
  • ' End If
  • 'End If
  • End Sub
  • Private Sub Quitter_btn_Click()
  • End
  • End Sub
  • Private Sub test_btn_Click()
  • test_btn.Enabled = False
  • Call test_modem
  • test_btn.Enabled = True
  • End Sub
  • Private Sub test_timer_Timer()
  • test_lbl.Caption = "1"
  • test_timer.Enabled = False
  • End Sub
'################################################################
'#                                                              #
'#                     TEST ET VERIFS MODEM                     #
'#                                                              #
'################################################################
'#                                                              #
'# Permet de chercher les modems raccordé au port com de l'ordi #
'# Verifie leur fonctionnement, et leur raccordement à la ligne #
'# Donne aussi la réf du modem                                  #
'#                                                              #
'# Par : vichamp (vichamp@noos.fr)                    30/07/02  #
'#                                                              #
'# nésitez pas a m'envoyer toutes vos remarques... je sais      #
'# l'hortographe..................                              #
'################################################################
'

Private Sub Form_Load()
Me.Visible = True
'mise en place de la table de diag
diagnostic_table.ColWidth(0) = 800
diagnostic_table.ColWidth(1) = 2000
diagnostic_table.ColWidth(2) = 5000
diagnostic_table.ColWidth(3) = 800
diagnostic_table.ColWidth(4) = 2000
diagnostic_table.ColAlignment(0) = 4
diagnostic_table.ColAlignment(1) = 4
diagnostic_table.ColAlignment(2) = 4
diagnostic_table.ColAlignment(3) = 4
diagnostic_table.ColAlignment(4) = 4
End Sub

Private Sub test_modem()
Dim modem_etat, modem_model, modem_ligne, modem_ligne_test As String
Dim system_ok, erreur As Integer
Dim coul_good, coul_bad As Double
coul_good = &H0 'couleur du text des test reussi et pas bon
coul_bad = &H808080
diagnostic_table.Clear
diagnostic_table.Visible = True

system_ok = 0 'passe à 2 si il y a un modem correctement branché
              'passe à 1 si le modem ne peut pas acceder à la ligne

modem_ligne_test = "ATDT" & "00123456789" & Chr(13) 'numero a la con pour voir le modem peut composé
                                                    'Rajouter le préfix de sortie dans le cas de standart téléphonique

'Entete de la grille
diagnostic_table.Row = 0
diagnostic_table.Col = 0
diagnostic_table.CellFontBold = True
diagnostic_table.Text = "Port"
diagnostic_table.Col = 1
diagnostic_table.CellFontBold = True
diagnostic_table.Text = "Etat"
diagnostic_table.Col = 2
diagnostic_table.CellFontBold = True
diagnostic_table.CellAlignment = 4
diagnostic_table.Text = "Modem"
diagnostic_table.Col = 3
diagnostic_table.CellFontBold = True
diagnostic_table.Text = "Etat"
diagnostic_table.Col = 4
diagnostic_table.CellFontBold = True
diagnostic_table.Text = "Ligne"

test_timer.Interval = 500 'temp maxi des tests


'
'Boucle des test port par port
'POUR RAJOUTER DES PORTS : il suffit de rajouter des ligne a la grille et d'augmenter la boucle
'
For port_com = 1 To 4
    diagnostic_table.Row = port_com
    diagnostic_table.Col = 0
    diagnostic_table.CellFontBold = True
    diagnostic_table.Text = "COM" & port_com 'affiche le port tester
    
    diagnostic_statut.Caption = "Test d'accès au port de communication " & port_com
    MSComm1.CommPort = port_com
    erreur = 0
    
    'test du port
    diagnostic_table.Col = 1
    diagnostic_table.Font.Bold = False
    On Error Resume Next
    If MSComm1.PortOpen = True Then MSComm1.PortOpen = False
    MSComm1.PortOpen = True
    If Err Then 'si le porr ne peut pas etre ouvert
        diagnostic_table.CellForeColor = coul_bad
        diagnostic_table.Text = "Utilisé ou inexistant " 'si il y a une erreur sur le port, passe direct au prochain port à tester
    Else 'si pas d'erreur
        diagnostic_table.CellForeColor = coul_good
        diagnostic_table.Text = "Disponible"
        MSComm1.PortOpen = True
        
        'test de réponse d'un modem
        diagnostic_statut.Caption = "Attente de réponse d'un modem sur COM" & port_com
        MSComm1.Output = "atE1" & Chr(13)
        diagnostic_table.Col = 3
        modem_etat = ""
        test_lbl.Caption = "0"
        test_timer.Enabled = True
        While Val(test_lbl.Caption) = 0 'attent une réponse du modem, au pire le timer stop le test
            If MSComm1.InBufferCount > 0 Then
                modem_etat = modem_etat & MSComm1.Input
                test_lbl.Caption = 1
            End If
            DoEvents
        Wend
        test_timer.Enabled = False
        If modem_etat = "" Or InStr(1, etat_modem, "OK") <> 0 Then  'si pas de modem
            diagnostic_table.CellForeColor = coul_bad
            diagnostic_table.Text = "NC"
            diagnostic_table.Col = 2
            diagnostic_table.CellForeColor = coul_bad
            diagnostic_table.Text = "Aucun modem opérationnel détecté"
        Else 'Si modem il y a
            diagnostic_table.CellForeColor = coul_good
            diagnostic_table.Text = "OK" 'affiche ok pour l'etat du modem
      
            'recupere la ref du modem
            diagnostic_statut.Caption = "Demande du modèle du modem sur COM" & port_com
            diagnostic_table.Col = 2
            diagnostic_table.CellForeColor = coul_good
            MSComm1.Output = "atI4" & Chr(13)
            modem_model = ""
            test_lbl.Caption = "0"
            test_timer.Enabled = True
            While Val(test_lbl.Caption) = 0
                If MSComm1.InBufferCount > 0 Then
                    modem_model = modem_model & MSComm1.Input
                    test_lbl.Caption = 1
                End If
                DoEvents
            Wend
            test_timer.Enabled = False
            modem_model = Right(modem_model, Len(modem_model) - 7)
            modem_model = Left(modem_model, Len(modem_model) - 6)
            If modem_model <> "" Then diagnostic_table.Text = modem_model Else diagnostic_table.Text = "Modèle inconnu"
        
            'tente de prende la ligne
            diagnostic_statut.Caption = "Test de la ligne téléphonique du modem sur COM" & port_com
            diagnostic_table.Col = 4
            MSComm1.Output = modem_ligne_test
            modem_ligne = ""
            test_lbl.Caption = "0"
            test_timer.Interval = 10000 'temp maxi de reponse du modem augmenter a 1sec
            test_timer.Enabled = True
            While Val(test_lbl.Caption) = 0
                If MSComm1.InBufferCount > 0 Then modem_ligne = modem_ligne & MSComm1.Input
                DoEvents
            Wend
            test_timer.Enabled = False
            If InStr(1, modem_ligne, "NO DIALTONE") <> 0 Then 'si pas de tonalité
                diagnostic_table.CellForeColor = coul_bad
                diagnostic_table.Text = "pas de tonalité"
                If system_ok < 2 Then system_ok = 1
            Else
                If InStr(1, modem_ligne, "NO CARRIER") <> 0 Then 'si pas de porteuse
                    diagnostic_table.CellForeColor = coul_bad
                    diagnostic_table.Text = "pas de porteuse"
                    If system_ok < 2 Then system_ok = 1
                Else
                    diagnostic_table.CellForeColor = coul_good 'si tout est bon
                    diagnostic_table.Text = "Ok"
                    system_ok = 2
                End If
            End If
        End If
        MSComm1.PortOpen = False 'referme le port
    End If
Next port_com
diagnostic_statut.Caption = "Tests terminé"
'If system_ok = 2 Then
'    MsgBox ("Votre system est correctement configuré pour accèder à internet")
'Else
'    If system_ok = 1 Then
'        MsgBox ("Un modem opérationnel à été detecter, mais il ne peut pas accèder à la ligne téléphonique" & Chr(13) & Chr(13) & "Veuillez vérifier son raccordement et recommencer")
'    Else 'system_ok = 0
'        MsgBox ("Aucun modem n'a été détecter sur votre ordinateur..." & Chr(13) & Chr(13) & "Essayer de fermer toutes les applications ouvertes et recommencer")
'    End If
'End If
        
End Sub

Private Sub Quitter_btn_Click()
End
End Sub

Private Sub test_btn_Click()
test_btn.Enabled = False
Call test_modem
test_btn.Enabled = True
End Sub

Private Sub test_timer_Timer()
test_lbl.Caption = "1"
test_timer.Enabled = False
End Sub

 Conclusion

Ceci est ma premiere contribution sur vbfrance, j'espere qu'elle servira...
Je me suis inspiré de pas de source du site pour la faire...

Je suis ouvert à toute les remarques et critiques... n'ésitez pas à me les envoyer (vichamp@noos.fr)

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources de la même categorie

Source avec Zip TEST MODBUS/TCP par Churchill
Source avec Zip Source avec une capture Source .NET (Dotnet) ROTATION D'ÉCRAN par Willi
Source avec Zip Source avec une capture SPYKEE LE ROBOT par Tropic
Source avec Zip Source avec une capture WIIMOTE ET VB6 par Tropic
Source avec Zip Source avec une capture WIIMOTE AVEC VB6 par RATHEONS

Commentaires et avis

Commentaire de max12 le 01/08/2002 04:08:47 administrateur CS

Il plante ma machine, et faudrais que se soit en option le numéro a composer pour le test.

9/10

@+

Commentaire de vichamp le 01/08/2002 10:57:12

J'ai pas pu le tester sur des masses de machines, mais sur le peu que j'ai fait ca tournais bien.... Il plante à quelle moment ?.....

Commentaire de vichamp le 20/08/2002 10:17:10

ce petit message pour dire qu'apres de multiple test, mon prog MARCHE bien, sous 9x, nt, 2k..... et que le plantage de max12 etait du a son windows mal entretenu ! ;)....
Y'a juste un pb avec les modem configuré avec les drivers generique de windows qui renvoye un modele de modem assé exotique... mais sans conséquences ! :)
ji ferai une maj ulterieurement






Commentaire de pioug43 le 29/01/2003 20:38:06

Salut c cool ce que tu a fais par contre je recherche comment tester l'envoye de trame avec un timeout ou autre....
Je voudrais tester une deconnexion du cable rs232

Commentaire de ASEBT le 13/07/2003 22:35:56

Ok mais j'ai testé avec mon modem non branché sur la ligne téléphonique et il me dit ok

Commentaire de Ashtheone le 09/05/2004 11:35:15

Execellent programme! 10/10  ;o)

Commentaire de vichamp le 10/06/2004 11:47:08

merci... ashtheone ! :)

Commentaire de vichamp le 10/06/2004 11:47:10

merci... ashtheone ! :)

Commentaire de vichamp le 10/06/2004 11:47:13

merci... ashtheone ! :)

Commentaire de vichamp le 10/06/2004 11:47:16

merci... ashtheone ! :)

Commentaire de Ashtheone le 10/06/2004 19:22:38

Je ne mérite pas autant de compliment.... Lol... ;o)
Mais je doit t'avouer que ton code m'a été d'une utilité précieuse...
Bonne continuation!

Commentaire de rimajs le 04/03/2009 22:32:27

merciii bien le code il m'a servir bien

 Ajouter un commentaire




Nos sponsors


Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), 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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,640 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales