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 !

OUVRIR/FERMER LES PORTS AVEC VISUEL ET CHECKBOX


Information sur la source



Description

Cliquez pour voir la capture en taille normale
Bonjour,
Cette source consiste a ouvrir des ports com, 1,2,3,4. elle a une interface visuelle, des check box.
Elle peut servir a allumer des lumières depuis l'ordi grace a un transistor.
 

Source

  • Private Sub Command1_Click()
  • If Option1.Value = True Then
  • If MSComm1.PortOpen = True Then
  • MsgBox "Port déja ouvert"
  • Else
  • MSComm1.PortOpen = True
  • Pov.Visible = True
  • Po.Visible = True
  • Pfr.Visible = False
  • Pf.Visible = False
  • End If
  • End If
  • If Option2.Value = True Then
  • If MSComm2.PortOpen = True Then
  • MsgBox "Port déja ouvert"
  • Else
  • MSComm2.PortOpen = True
  • Pov.Visible = True
  • Po.Visible = True
  • Pfr.Visible = False
  • Pf.Visible = False
  • End If
  • End If
  • If Option3.Value = True Then
  • If MSComm3.PortOpen = True Then
  • MsgBox "Port déja ouvert"
  • Else
  • MSComm3.PortOpen = True
  • Pov.Visible = True
  • Po.Visible = True
  • Pfr.Visible = False
  • Pf.Visible = False
  • End If
  • End If
  • If Option4.Value = True Then
  • If MSComm4.PortOpen = True Then
  • MsgBox "Port déja ouvert"
  • Else
  • MSComm4.PortOpen = True
  • Pov.Visible = True
  • Po.Visible = True
  • Pfr.Visible = False
  • Pf.Visible = False
  • End If
  • End If
  • End Sub
  • Private Sub Command2_Click()
  • If Option1.Value = True Then
  • If MSComm1.PortOpen = False Then
  • MsgBox "Port déja fermé"
  • Else
  • MSComm1.PortOpen = False
  • Pov.Visible = False
  • Po.Visible = False
  • Pfr.Visible = True
  • Pf.Visible = True
  • End If
  • End If
  • If Option2.Value = True Then
  • If MSComm2.PortOpen = False Then
  • MsgBox "Port déja fermé"
  • Else
  • MSComm2.PortOpen = False
  • Pov.Visible = False
  • Po.Visible = False
  • Pfr.Visible = True
  • Pf.Visible = True
  • End If
  • End If
  • If Option3.Value = True Then
  • If MSComm3.PortOpen = False Then
  • MsgBox "Port déja fermé"
  • Else
  • MSComm3.PortOpen = False
  • Pov.Visible = False
  • Po.Visible = False
  • Pfr.Visible = True
  • Pf.Visible = True
  • End If
  • End If
  • If Option4.Value = True Then
  • If MSComm4.PortOpen = False Then
  • MsgBox "Port déja fermé"
  • Else
  • MSComm4.PortOpen = False
  • Pov.Visible = False
  • Po.Visible = False
  • Pfr.Visible = True
  • Pf.Visible = True
  • End If
  • End If
  • End Sub
Private Sub Command1_Click()
    If Option1.Value = True Then
        If MSComm1.PortOpen = True Then
            MsgBox "Port déja ouvert"
        Else
            MSComm1.PortOpen = True
                 Pov.Visible = True
                 Po.Visible = True
                 Pfr.Visible = False
                  Pf.Visible = False
            
            
        End If
        End If
        
 If Option2.Value = True Then
        If MSComm2.PortOpen = True Then
            MsgBox "Port déja ouvert"
        Else
            MSComm2.PortOpen = True
                   Pov.Visible = True
                   Po.Visible = True
                   Pfr.Visible = False
                   Pf.Visible = False
        End If
        End If
 If Option3.Value = True Then
        If MSComm3.PortOpen = True Then
            MsgBox "Port déja ouvert"
        Else
            MSComm3.PortOpen = True
                Pov.Visible = True
                Po.Visible = True
                Pfr.Visible = False
                Pf.Visible = False
        End If
        End If

 If Option4.Value = True Then
        If MSComm4.PortOpen = True Then
            MsgBox "Port déja ouvert"
        Else
            MSComm4.PortOpen = True
                Pov.Visible = True
                Po.Visible = True
                Pfr.Visible = False
                Pf.Visible = False
        End If
        End If

End Sub

Private Sub Command2_Click()
 If Option1.Value = True Then
        If MSComm1.PortOpen = False Then
            MsgBox "Port déja fermé"
        Else
            MSComm1.PortOpen = False
                Pov.Visible = False
                Po.Visible = False
                Pfr.Visible = True
                Pf.Visible = True
        End If
        End If

 If Option2.Value = True Then
        If MSComm2.PortOpen = False Then
            MsgBox "Port déja fermé"
        Else
            MSComm2.PortOpen = False
                Pov.Visible = False
                Po.Visible = False
                Pfr.Visible = True
                Pf.Visible = True
        End If
        End If

 If Option3.Value = True Then
        If MSComm3.PortOpen = False Then
            MsgBox "Port déja fermé"
        Else
            MSComm3.PortOpen = False
                Pov.Visible = False
                Po.Visible = False
                Pfr.Visible = True
                Pf.Visible = True
        End If
        End If
        
 If Option4.Value = True Then
        If MSComm4.PortOpen = False Then
            MsgBox "Port déja fermé"
        Else
            MSComm4.PortOpen = False
                Pov.Visible = False
                Po.Visible = False
                Pfr.Visible = True
                Pf.Visible = True
        End If
        End If
End Sub

Conclusion

Merci de noter ma source et d'ajouter d'éventuels Comentaires
 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Commentaires et avis

signaler à un administrateur
Commentaire de jean_marc_n2 le 25/05/2006 21:39:13

Hello,

Tes End If sont mal indentés, chaque Endif doit être sous son IF:

If tutu then
    If toto then
        ' coucou
    End If
End If

Ton code est inutilement dupliqué: Dans ce cas, on fait un tableau de controle:
MSComm(1), MScomm(2), etc ..

Il suffit de leur donner le même nom et de changer la propriété index: 0, 1, 2, 3.

Comme ça, plus de code dupliqué :-)

Bonne suite!

signaler à un administrateur
Commentaire de katsankat le 26/05/2006 13:52:23

Salut, autre suggestion: récupérer l' index dans option_click() puis l' utiliser pour éviter la redondance du code. Voici comment j'aurais fait

private ID as integer

private sub option_click()
  ID = index
end sub

private sub command_click()

dim FLAG as boolean

If MSComm(index).PortOpen = True Then
   MsgBox "Port déja ouvert"
Else
   MSComm(index).PortOpen = True

   if ID=1 or ID=2 or ID=3 then FLAG=true
   Pov.Visible = FLAG
   Po.Visible = FLAG
   Pfr.Visible = not FLAG
   Pf.Visible = not FLAG
End If

end sub

Cette approche évite les tests de condition inutiles.
Le mieux étant de factoriser le code redondant avec une petite fonction:

private sub Ouverture(id as integer)
  If MSComm(id).PortOpen = True Then
    MsgBox "Port déja ouvert"
  else
   Pov.Visible = true
   Po.Visible = true
   Pfr.Visible = false
   Pf.Visible = false
end if
end sub

le code en est simplifié:
private sub command_click()
Ouverture(ID)
end sub

Reste à intégrer le command2_click dans la fonction Ouverture() !

signaler à un administrateur
Commentaire de jean_marc_n2 le 26/05/2006 14:09:59

Hello Katsankat,

j'aurais adopté exactement la même approche :o); Au final, 2 fonctions sur command1 et command2 plus une ou 2 fonctions de service.

signaler à un administrateur
Commentaire de ABF le 29/05/2006 13:25:20

Salut, Je ne pense pas que cette personne ait besoin de 3 commentaires ayant la même idée mais d'1 encouragement ou du suggestion, critique... du contenu de la source, de la matière.

Pour ma part je n'ais pas trop regardé : continue.

signaler à un administrateur
Commentaire de Erat78 le 10/08/2006 03:25:59

Salut,
L'auteur parle de comander une lumière avec un transistor... Ce la (si je ne m'abuse) equivaut à utiliser une carte tout ou rien (la carte en moins!...). QQ pourrait il m'aiclairer a ce sujet...

Bonne journée

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

application du controle mscomm [ par Lamine ] salutje voudrai des programmes d' application avec le controle MSCOMM. probleme avec le controle mscomm pour vb6 [ par ftx7000 ] je pocede l'edition initiation de visualbasic 6, et a chaquetentative d'utilisation du controle MSCOMM pour des communication sur le port serie, j'ai MSCOMM ET ACCESS [ par mario831 ] Bonjour a tous,Etant novice dans le domaine, j'ai quelques difficultes a utiliser le controle MSCOMM avec ACCESS.Je dispose de ACCESS 2003 mais pas de mscomm: le maitriser [ par leo ] salutj'utilise le port serie pour envoyer des info sur unix mais je ne maitrise pas tout le controle surtout au niveau de l'ouverture du port , qui au Controle MSComm [ par TeRrOrGOD ] Salut, qqun saurait comment faire pour..Jai un controle MSComm ainsi que 2 textbox et je veux que si mettons un tel # de telephone appelle ca affiche problème d'ouverture avec MSComm [ par necsys ] J'ai un truc de fou. J'ai 4 ports com dispo (1-4) sur mon PC (windows 2000) . 2 de bases + 2 via carte PCI spécialisée les 4 ports sont reconnus et vi MSComm VB6 [ par capitaineING ] Bonjour à tous !Est ce que c'est possible d'envoyer le code ascii 255 avec MSComm?  Présentement, je suis capable d'envoyer de 0 jusqu'à 127 mais de 1 controle des ports usb et COM [ par shadowproject ] Bonjour,je souhaiterai pouvoir relier une interface via un port usb ou bien COM, et controller les flux de courant(tension,intensité) propre à chaque controle DataCombo , DataList [ par ManuManuLeConcepteur ] je n'arrive pas a faire apparaitre des enregistrements avec plusieurs colonnes comme dans MS ACCESS c'est urgent merci Probleme creation composant Mscomm dans excel [ par petigeni ] Bonjour à tous.Je voudrais pouvoir communiquer entre Excel et le port com de mon pc.J'ai voulu utiliser le composant MScomm de excel mais une erreure


Nos sponsors

Sondage...

CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



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,359 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é.