Choix du port Com par une optionbox

basamir Messages postés 335 Date d'inscription vendredi 21 octobre 2005 Statut Membre Dernière intervention 8 mars 2008 - 14 mai 2007 à 16:33
basamir Messages postés 335 Date d'inscription vendredi 21 octobre 2005 Statut Membre Dernière intervention 8 mars 2008 - 20 mai 2007 à 00:53
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

cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
14 mai 2007 à 16:36
Salut,

Quand t'entends tu par  : OptionBox ?

Case à chocher ?
Bouton options ?
A+
Exploreur

 Linux a un noyau, Windows un pépin

 
0
basamir Messages postés 335 Date d'inscription vendredi 21 octobre 2005 Statut Membre Dernière intervention 8 mars 2008
14 mai 2007 à 16:41
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
0
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
14 mai 2007 à 16:46
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

 
0
basamir Messages postés 335 Date d'inscription vendredi 21 octobre 2005 Statut Membre Dernière intervention 8 mars 2008
14 mai 2007 à 16:52
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
14 mai 2007 à 16:56
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


 
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
14 mai 2007 à 16: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
0
basamir Messages postés 335 Date d'inscription vendredi 21 octobre 2005 Statut Membre Dernière intervention 8 mars 2008
14 mai 2007 à 17:05
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?
 
0
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
14 mai 2007 à 17:17
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

 
0
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
14 mai 2007 à 17:18
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

 
0
basamir Messages postés 335 Date d'inscription vendredi 21 octobre 2005 Statut Membre Dernière intervention 8 mars 2008
14 mai 2007 à 17:26
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.
0
basamir Messages postés 335 Date d'inscription vendredi 21 octobre 2005 Statut Membre Dernière intervention 8 mars 2008
15 mai 2007 à 02:07
ç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
0
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
15 mai 2007 à 08:27
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

 
0
cs_Nicko11 Messages postés 1141 Date d'inscription mercredi 7 mars 2007 Statut Membre Dernière intervention 19 septembre 2007 3
15 mai 2007 à 09:22
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
0
basamir Messages postés 335 Date d'inscription vendredi 21 octobre 2005 Statut Membre Dernière intervention 8 mars 2008
15 mai 2007 à 13:58
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
0
cs_Nicko11 Messages postés 1141 Date d'inscription mercredi 7 mars 2007 Statut Membre Dernière intervention 19 septembre 2007 3
15 mai 2007 à 14:32
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)
0
basamir Messages postés 335 Date d'inscription vendredi 21 octobre 2005 Statut Membre Dernière intervention 8 mars 2008
15 mai 2007 à 16:52
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
0
basamir Messages postés 335 Date d'inscription vendredi 21 octobre 2005 Statut Membre Dernière intervention 8 mars 2008
15 mai 2007 à 19:19
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
0
cs_Nicko11 Messages postés 1141 Date d'inscription mercredi 7 mars 2007 Statut Membre Dernière intervention 19 septembre 2007 3
16 mai 2007 à 08:13
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.
0
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
16 mai 2007 à 08:31
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

 
0
basamir Messages postés 335 Date d'inscription vendredi 21 octobre 2005 Statut Membre Dernière intervention 8 mars 2008
16 mai 2007 à 13:02
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
0
Rejoignez-nous