Detection de case et caractere dans un text (button)

[Résolu]
Signaler
Messages postés
86
Date d'inscription
jeudi 7 janvier 2010
Statut
Membre
Dernière intervention
13 juillet 2013
-
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
-
Bonjour à tous,
Je désirerai afficher une messagebox si un de mes 4 boutons contient "1111" alignée.

Par exemple :
Button 1 = 1
Button2 = 21
Button3 = 221
Button4 = 2221

Ou bien :
Button1 = 0231
Button2 = 321
Button3 = 21
Button4 = 1

Les les "1" sont aligné en diagonal.

Cependant, je ne sais pas comment faire pour detecté ce genre de chose.
Est ce que quelqu'un pourrait me donner un coup de main ?
Merci

17 réponses


Bonjour,

Un autre essai:

Si "la valeur d'une case" c'est la valeur numérique d'une suite de caractères, il y a :

sssss = val(button.text)

sssss = cint(button.text)

ssss = Clng(button.text)
ssss = Csgln(button.text)
ssss = Cdbl(button.text)
cast
trycast

Sinon "La Case" c'est quoi. Sinon Y-a-t-il un devin dans la salle ?

Bonjour,

Si tu as juste des chiffres, la fonction isnumeric(commandbutton1.caption) devrait faire l'affaire, non ?

Sinon, j'ai bien peur que la question ne manque de détails...
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
239
Bonjour,

Je dois être particulièrement bête, car je n'ai rien compris !
Recommence de manière claire et de sorte à ce que l'on ait aucune autre question à te poser sur ce que tu cherches à faire exactement.


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient

Rebonjour,

M'est avis que c'est plutôt isnumeric(button1.text)
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
239
Il va en plus falloir que tu expliques clairement ce que tu entends par "alignés" ! Quel type d'"alignement" ? visuel ou "logique" ? en quel(s) sens ?
Lis donc la dernière phrase du commentaire de mon profil.


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient

Bonjour,

À force de lire et relire...

Si les quatre boutons ont tous, à un moment donné, leur "texte" qui se termine par 1 et qu'en même temps, bouton1 a 4 chiffres, bouton2 a 3 chiffres, bouton3 a 2 chiffres et bouton 1 a juste 1, alors les boutons sont alignés en diagonale et il faut faire quelque chose.

Ou bien, encore, tous les boutons ont toujours leur texte qui qui se termine par 1 mais c'est bouton4 qui a quatre chiffres, bouton3 qui a 3 chiffres, bouton2 qui 2 chiffres bouton1 qui a juste un 1. Il faut encore faire quelque chose.

Est-ce cela ?

Si oui :

Comment le texte des boutons est-il changé ?
Pourquoi un boutons au lieu d'un textbox, beaucoup plus flexible ?
Pour mon édification personnelle, pourquoi cette patente-là ?


P.S. Si je me retrouve "en double" avec d'autres personnes qui poseraient les mêmes questions en même temps, mille excuses.
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
239
Bonjour, cmarcotte.
Laisse-le donc faire l'effort de s'expliquer.
D'autant que je l'y ai passablement aidé !
Pour mémoire :
Quel type d'"alignement" ? visuel ou "logique" ? en quel(s) sens ?



____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
Messages postés
86
Date d'inscription
jeudi 7 janvier 2010
Statut
Membre
Dernière intervention
13 juillet 2013

Bonjour, pardon c'est vrai que jme suis un peu expliquer "vite-fait".
En faite ce que je cherche à faire c'est détecter si les boutons possèdent des "1" alignée en diagonale visuellement.

Quand je clique sur un bouton (le bouton1 par exemple), celui-ci ajoute soit un 1 ou soit un 2.
Quand un 1 est ajouter, le prochain numero qui sera ajouté sera un 2.

donc admettons que je clique 1 fois sur le bouton1, 2 fois sur le button2, 3 fois sur le button3, et 4 fois sur le button4.
Cela devrai nous donner :

Button1=1
Button2=21
Button3=212
Button4=1212


Maintenant je voudrai savoir, est-ce possible savoir quand ces 1 sont alignée diagonalement ?
Merci
Messages postés
86
Date d'inscription
jeudi 7 janvier 2010
Statut
Membre
Dernière intervention
13 juillet 2013

Peu etre que si j'utilise Button1.text.indexof(L'index) ca pourrai marcher...

Button1.Text.IndexOf(0) "1" And Button2.Text.IndexOf(1) "1" And Button3.Text.IndexOf(2) = "1" And Button4.Text.IndexOf(3) = "1"


Mais cela ne fait rien.
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
239
Alors : tu as choisi visuellement :
Cela veut dire à l'affichage sur l'écran et implique :
1) un formatage de ce qui est affiché (pour le cas "ou bien" de ton premier message)
2) l'utilisation d'une police à échappement fixe (sinon : décalage)
3) des données triées (dans un sens ou dans l'autre)

4) une fois réunies les 3 premières conditions : un algo du niveau école primaire ===>> que nous aimerions te voir commencer à commencer.


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
239
Une piste (s'il en fallait une !) :
dans un tri croissant :
- repérage du "1" du premier élément
- à chaque élément suivant : vérification d'un décalage de +1 par rapport à l'élément précédent

dans un tri décroissant :
- repérage du "1" du premier élément
- à chaque élément suivant : vérification d'un décalage de -1 par rapport à l'élément précédent

dur dur ?
____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
Messages postés
86
Date d'inscription
jeudi 7 janvier 2010
Statut
Membre
Dernière intervention
13 juillet 2013

A vrai dire... disons que quand ces numéros s'ajoutent dans le bouton, d'autres actions sont faites (donc pas besoin de formatage/police adéquat, c'est juste des repère.)

Voici le code pour verifié verticalement et horizontalement :

     If Button1.Text.Contains("1111") Or _
       Button2.Text.Contains("1111") Or _
       Button3.Text.Contains("1111") Or _
       Button4.Text.Contains("1111") Or _
       Button5.Text.Contains("1111") Or _
       Button6.Text.Contains("1111") Or _
       Button7.Text.Contains("1111") Or _
       Button1.Text.First.ToString "1" And Button2.Text.ToString "1" And Button3.Text.ToString = "1" And Button4.Text.ToString = "1" Or _
       Button2.Text.First.ToString "1" And Button3.Text.ToString "1" And Button4.Text.ToString = "1" And Button5.Text.ToString = "1" Or _
       Button3.Text.First.ToString "1" And Button4.Text.ToString "1" And Button5.Text.ToString = "1" And Button6.Text.ToString = "1" Or _
       Button4.Text.First.ToString "1" And Button5.Text.ToString "1" And Button6.Text.ToString = "1" And Button7.Text.ToString = "1" Then

'...
End if
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
239
A vrai dire... disons que quand ces numéros s'ajoutent dans le bouton, d'autres actions sont faites (donc pas besoin de formatage/police adéquat, c'est juste des repère.)
*
Tu as dit (et je pense que tu as réfléchi, avant de dire ...) : "visuellement" ===>> donc formatage et police à échappement fixe nécessaires !
Ou alors : tu as dit sans vouloir dire (et on va jouer longtemps à essayer de deviner ce que tu as voulu dire sans le dire ?)

____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
Messages postés
86
Date d'inscription
jeudi 7 janvier 2010
Statut
Membre
Dernière intervention
13 juillet 2013

Cela reviens au même puisque de toute façon je cherche à savoir si il est possible de récupérer la valeur d'une case.
Messages postés
86
Date d'inscription
jeudi 7 janvier 2010
Statut
Membre
Dernière intervention
13 juillet 2013

Merci cmarcotte
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
239
La "case" est probablement ce qui lui manque.
Quant à "cela revient au même" : non ! pas "visuellement"
Alors : ta réponse serait-elle devenue "alignement logique" ?
Bon ===>> algo pour lequel je t'ai donné deux pistes ! Qu'en as-tu fait ? des "cases/oubliettes", sans doute ?




____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
239
Quand on en arrive à écrire :
1) ceci
Je désirerai afficher une messagebox si un de mes 4 boutons contient "1111" alignée.

Par exemple :
Button 1 = 1
Button2 = 21
Button3 = 221
Button4 = 2221

Ou bien :
Button1 = 0231
Button2 = 321
Button3 = 21
Button4 = 1

puis
2) ceci
Quand je clique sur un bouton (le bouton1 par exemple), celui-ci ajoute soit un 1 ou soit un 2.
Quand un 1 est ajouter, le prochain numero qui sera ajouté sera un 2.

donc admettons que je clique 1 fois sur le bouton1, 2 fois sur le button2, 3 fois sur le button3, et 4 fois sur le button4.
Cela devrai nous donner :
Button1=1
Button2=21
Button3=212
Button4=1212

puis
3) cela
If Button1.Text.Contains("1111") Or _
Button2.Text.Contains("1111") Or _
Button3.Text.Contains("1111") Or _
Button4.Text.Contains("1111") Or _
Button5.Text.Contains("1111") Or _
Button6.Text.Contains("1111") Or _
Button7.Text.Contains("1111") Or _

on démontre une désorganisation complète, y compris des "règles du jeu"
sont-elles arrêtées, d'ailleurs ? (c'est à croire que non)
____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient