Choix du port Com par une optionbox

Signaler
Messages postés
335
Date d'inscription
vendredi 21 octobre 2005
Statut
Membre
Dernière intervention
8 mars 2008
-
Messages postés
335
Date d'inscription
vendredi 21 octobre 2005
Statut
Membre
Dernière intervention
8 mars 2008
-
bonjour,

mon application devrait écrire sur 3 à 4 ports séries différents, à cet effet, je dois avoir 3 à 4 zones de choix sous forme de frame pour choisir le numéro de ports Com de chaque sortie, est ce que celà est faisable par optionbox?

Merci

40 réponses

Messages postés
4822
Date d'inscription
lundi 11 novembre 2002
Statut
Membre
Dernière intervention
15 novembre 2016
14
Salut,

Quand t'entends tu par  : OptionBox ?

Case à chocher ?
Bouton options ?
A+
Exploreur

 Linux a un noyau, Windows un pépin

 
Messages postés
335
Date d'inscription
vendredi 21 octobre 2005
Statut
Membre
Dernière intervention
8 mars 2008

JE VEUX dire bouton options sur les frame, chaque sortie avec une frame pour avoir le choix de choisir les 3 ou 4 ports séries.

merci Exploreur
Messages postés
4822
Date d'inscription
lundi 11 novembre 2002
Statut
Membre
Dernière intervention
15 novembre 2016
14
Salut,

l'avantage avec le bouton option s'il y en a 2 sur la frame, c'est soit l'un ou l'utre qui est valider...

Les case à cocher c'est le contraire...

A+
Exploreur

 Linux a un noyau, Windows un pépin

 
Messages postés
335
Date d'inscription
vendredi 21 octobre 2005
Statut
Membre
Dernière intervention
8 mars 2008

oui je sais ça, par contre le problème est toujours au niveau de l'affectation du MScom1.Comport = ???

on va supposer que nous avons sur chaque frame 10 boutons option comment affecter au mscom1.comport le numéro de l'option choisie?

Merci
Messages postés
4822
Date d'inscription
lundi 11 novembre 2002
Statut
Membre
Dernière intervention
15 novembre 2016
14
Salut,

Toujours dans l'évènement click

Private Sub Option1_Click()

MScom1.Comport = TaValeur


End Sub


A+
Exploreur

 Linux a un noyau, Windows un pépin


 
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
58
Salut,
Si tu mets des groupe d'option bouton (propriétés index allant de 0 a numport -1)
pourquoi ne pas faire ceci.
Private Sub Option1_Click(Index As Integer)
MSComm1.CommPort = Index + 1 '+ 1 car les groupe commence à 0
End Sub , ----
[code.aspx?ID=41455 By Renfield]

@+: Ju£i?n
Pensez: Réponse acceptée
Messages postés
335
Date d'inscription
vendredi 21 octobre 2005
Statut
Membre
Dernière intervention
8 mars 2008

Private Sub Option1_Click()
MScom1.Comport = TaValeur
End Sub

je suis d'accord, un autre problème c'est que
.PortOpen = True
Comment  résoudre ce problème?
 
Messages postés
4822
Date d'inscription
lundi 11 novembre 2002
Statut
Membre
Dernière intervention
15 novembre 2016
14
Salut,

C'est quoi là ton problème ?
Private Sub Option1_Click()
MScom1.Comport = TaValeur
MScom1.PortOpen = Option1.Value ' << Je crois
End Sub

A+
Exploreur

 Linux a un noyau, Windows un pépin

 
Messages postés
4822
Date d'inscription
lundi 11 novembre 2002
Statut
Membre
Dernière intervention
15 novembre 2016
14
Salut,

Private Sub Option1_Click()
MScom1.PortOpen = False ' On le ferme avant toute manipe
MScom1.Comport = TaValeur
MScom1.PortOpen = Option1.Value ' << Je crois
End Sub

Si j'ai bien compris ta demande

A+
Exploreur

 Linux a un noyau, Windows un pépin

 
Messages postés
335
Date d'inscription
vendredi 21 octobre 2005
Statut
Membre
Dernière intervention
8 mars 2008

Private Sub Option1_Click()
MScom1.PortOpen = False ' On le ferme avant toute manipe
MScom1.Comport = TaValeur
MScom1.PortOpen = Option1.Value ' << Je crois
End Sub

oui il faut mettre la valeur option1.value = true

je vais tester celà et je te mettrai au courant.
Messages postés
335
Date d'inscription
vendredi 21 octobre 2005
Statut
Membre
Dernière intervention
8 mars 2008

ça marche pas explorer:

voici l'exemple, je dispose de 3 boutons options pour chaque Frame et j'en ai trois frames

Frame1:                       Frame2:                       Frame3:option1 com1          option4 com1            option7 = com1option2 com2          option5 com2            option8 = com2option3 com3          option6 com3            option9 = com3

si je choisi le com1 de frame1 les autres com1 ne doivent pas être actif, c'est simple avec:

if option1.value = true then
option4.Enabled = False
option7.Enabled = False
end if

pareil pour le reste, par contre pour la gestion des ports com c'est pas du tout facile!
if option1.value = true then

option4.Enabled = False

option7.Enabled = False
MSComm1.PortOpen = False ' On le ferme avant toute manipe
MSComm1.CommPort = 1
MSComm1.PortOpen = True

end if
mais le pb provient au moment où on s'amuse à choisir des options dès lors des com déjà ouverts sont réouverts
une vraie galère koi

Aidez moi svp
Messages postés
4822
Date d'inscription
lundi 11 novembre 2002
Statut
Membre
Dernière intervention
15 novembre 2016
14
Salut,

Je pense qu'avant toute ouverture d'un port, tu devrais vérifier s'il n'y a pas un port déjà ouvert...

Aussi, une fois que tu as fait toutes tes manipes sur ton com, bien refermer celui-ci...

A+
Exploreur

 Linux a un noyau, Windows un pépin

 
Messages postés
1141
Date d'inscription
mercredi 7 mars 2007
Statut
Membre
Dernière intervention
19 septembre 2007
3
Salut,

comment voudrait tu que cela fonctionne, car :

soit tu veux que des que l'on change de bouton option, on change le port COM
soit tant que tu n'as pas fait ton transfert de données sur le port COM, tu verouilles les bouton options.

Par contre, passe vraiment par un groupe d'option car ca t'evitera de faire des gestions inutilies:

if option1.value = true then
option4.Enabled = False
option7.Enabled = False
MSComm1.PortOpen = False ' On le ferme avant toute manipe
MSComm1.CommPort = 1
MSComm1.PortOpen = True
end if

Avec un groupe d'options, ca donnerait :

if controle.value <> 0  then 'cas ou aucune option n'est cochée
   MSComm1.PortOpen = False ' On le ferme avant toute manipe
   MSComm1.CommPort = control.value
   MSComm1.PortOpen = True
end if
Messages postés
335
Date d'inscription
vendredi 21 octobre 2005
Statut
Membre
Dernière intervention
8 mars 2008

en fait le problème est plus complexe, je dois pas cocher le port com x quand je veux transferer les données et le refermé.
les ports com choisis doivent restés ouverts tant que l'application tourne, en cas où on voudrait changer de port, si on coche une option le port en question doit etre fermé automatiquement et réouvrir celui nouvellement coché ainsi de suite.

Vous voyez la nature de l'application?

Merci à vous tous
Messages postés
1141
Date d'inscription
mercredi 7 mars 2007
Statut
Membre
Dernière intervention
19 septembre 2007
3
Donc, d'apres mes 2 propositions, tu te reproche plus de celle-ci

tu veux que dès que l'on change de bouton option, on change le port COM (apres avoir fermé le précédant)
Messages postés
335
Date d'inscription
vendredi 21 octobre 2005
Statut
Membre
Dernière intervention
8 mars 2008

tout à fait

beh tu sais, il y aura trois frames avec exactement les memes ports com, une fois un est choisi (p.e: Com 1) il ne saura plus possible de le choisir pour les autres frames tu vois le genre?

Merci
Messages postés
335
Date d'inscription
vendredi 21 octobre 2005
Statut
Membre
Dernière intervention
8 mars 2008

rebonjour les amis,
voici un bout de code avec les checkbox mais il y a toujours des erreurs de com n'est pas ouvert lors du changement des ports:
Private Sub Check4_Click(Index As Integer)
MSComm1.PortOpen = False ' On le ferme avant toute manipe
For w = 0 To 2
If Check4(w).Value = 1 Then
z = Check4(w).Index
GoTo 3333
End If
Next
3333:
If w = 3 Then
MsgBox ("Erreur")
GoTo fin
End If
MSComm1.CommPort = z + 1
MSComm1.PortOpen = True 'Option1.Value ' << Je crois
trame = "        "
bits = 8
Text15.Text = "Port Com ouvert est " & MSComm1.CommPort
fin:
End Sub

Private Sub Check5_Click(Index As Integer)
MSComm2.PortOpen = False
For w = 0 To 2
If Check5(w).Value = 1 Then
z = Check5(w).Index
GoTo 3333
End If
Next
3333:
If w = 3 Then
MsgBox ("Erreur")
GoTo fin
End If
MSComm2.CommPort = z + 1
MSComm2.PortOpen = True 'Option1.Value ' << Je crois
trame = "        "
bits = 8
Text16.Text = "Port Com ouvert est " & MSComm2.CommPort
fin:
End Sub
Messages postés
1141
Date d'inscription
mercredi 7 mars 2007
Statut
Membre
Dernière intervention
19 septembre 2007
3
Le connaissance pas trop les instructions liées au port com, je ne peux que te conseiller d'aller sur ce page.
http://grafikm.developpez.com/portcomm/
Habitues toi aussi a nous donner les lignes ou interviennent tes erreurs et comment elles se produisent.
Messages postés
4822
Date d'inscription
lundi 11 novembre 2002
Statut
Membre
Dernière intervention
15 novembre 2016
14
Salut Basamir et Nicko ,

Un petit truc aussi Basamir, déclare bien tes variables, qu'elles aient un nom significatif... Toi même, tu t'y retrouvera mieux...

A+
Exploreur

 Linux a un noyau, Windows un pépin

 
Messages postés
335
Date d'inscription
vendredi 21 octobre 2005
Statut
Membre
Dernière intervention
8 mars 2008

Nicko11, c'est la page que tu m'as donnée qui m a fait comprendre les trucs de mscomm, je me tue à résoudre ce grave pb sans réussite

domamge