Partage
  • Partager sur Facebook
  • Partager sur Twitter

[VB] Contient, sa existe

?

    8 octobre 2011 à 18:25:04

    Bonjour a tous,

    Supposons que je crée un programme avec une textbox et un bouton

    J'aimerais faire sa :

    if textbox1.contient("Machin")  then
    "machin".color.red 
    end if
    

    Ce code est faux, je sais, mais c'est possible de faire ça avec un code qui marche ?

    2eme exemple

    si je met dans la textbox /name(Jean)
    une message box me met : votre nom et jean
    if textbox1.contient("/name") then
    recuper code entre parenthése après name et
    msgBox("Votre nom est" name)
    end if
    


    Voilà pour mes questions ;)
    • Partager sur Facebook
    • Partager sur Twitter
      8 octobre 2011 à 18:29:44

      Je te conseil d'aller regarder regarder les tutoriels sur ce site,comprend les et tu trouveras des réponses à tes questions
      • Partager sur Facebook
      • Partager sur Twitter
        8 octobre 2011 à 18:34:46

        Citation : brucelee410

        Je te conseil d'aller regarder regarder les tutoriels sur ce site,comprend les et tu trouveras des réponses à tes questions



        Désolé mais il y en a pas sur le sdz qui propose des cours sur le vb (appat un big tuto que j'ai lu, relu et rerelu)
        • Partager sur Facebook
        • Partager sur Twitter
          8 octobre 2011 à 18:38:59

          Citation : brucelee410

          Il y a tout ce qu'il te faut dans ce tutoriel:
          http://www.siteduzero.com/tutoriel-3-1 [...] asic-net.html



          Tu crois que je l'ai pas lu ?
          • Partager sur Facebook
          • Partager sur Twitter
            8 octobre 2011 à 18:40:40

            Alors c'est que tu lis très mal.
            • Partager sur Facebook
            • Partager sur Twitter
              8 octobre 2011 à 18:45:22

              ou est la réponse petit malin ?
              • Partager sur Facebook
              • Partager sur Twitter
                8 octobre 2011 à 19:04:03

                Citation : Silversthem

                ou est la réponse petit malin ?


                Elle est juste inscris dans sa réponse. Il n'existe pas de fonction permettant de faire ça. Si tu as un TextBox, utilise les fonctions associés au String, du style Replace, ou du style IndexOf. par exemple, si textBox1 contient MaChaine, alors tu utilise la fonction Font ou Replace. Documente toi sur la classe String, car tout ce que tu demandes fait partie de cette classe.
                • Partager sur Facebook
                • Partager sur Twitter
                La réponse à tout (sauf pour les aigles)
                  9 octobre 2011 à 9:40:43

                  Pour ta première question :
                  If Richtextbox1.text.contains("bidule") then
                  

                  Regarde du côté de richtextbox pour pouvoir changer la couleur d'un mot (je l'ai déjà fait, c'est possible, mais à toi de chercher).

                  Pour ton deuxième problème :
                  If textBox2.text.contains("/name") then
                  MsgBox(textbox2.text.replace("/name",""))
                  
                  • Partager sur Facebook
                  • Partager sur Twitter
                    9 octobre 2011 à 10:05:46

                    Merci vbnetmania mais tu pense que
                    if Me.txt_text.contains("<") then
                    "<".font("Serif", taillePolice, color.red)
                    End if
                    


                    Et troisième question, peut on faire
                    Si txt_text contient < prendre le texte entre < et > et le mettre en rouge.

                    ?
                    • Partager sur Facebook
                    • Partager sur Twitter
                      9 octobre 2011 à 11:17:58

                      Citation : Silversthem

                      ou est la réponse petit malin ?



                      Alors tu n'as pas lu le tutoriel c'est bien ce que je disais.
                      Tu ne peux pas faire:
                      "<".font("Serif", taillePolice, color.red)
                      

                      Car les chaines ne caractères n'ont pas de propriété.
                      Le .Font est une propriété et non une fonction, elle peut le devenir si tu le crée toi même dans une classe ou comme méthode d'extension.
                      C'est ton textbox que tu dois changer:
                      txt_text.Font = New Font("Serif", 12) //Change la police          
                      txt_text.ForeColor = Color.Blue //Change la couleur du texte
                      

                      Pour ce qui est des changements de couleur pour chaque mot, le richtextbox ne permet pas de le faire car sa propriété se répercute sur tout le texte.Je sais qu'il est possible faire ça avec un WebBrowser(Déjà tester).
                      Pour ta 3eme question:
                      La fonction Split pourrait te permettre de faire cela, je te laisse réfléchir un peu

                      • Partager sur Facebook
                      • Partager sur Twitter
                        9 octobre 2011 à 11:23:32

                        Citation : brucelee410

                        Citation : Silversthem

                        ou est la réponse petit malin ?



                        Alors tu n'as pas lu le tutoriel c'est bien ce que je disais.
                        Tu ne peux pas faire:

                        "<".font("Serif", taillePolice, color.red)
                        


                        Car les chaines ne caractères n'ont pas de propriété.
                        C'est ton textbox que tu dois changer:

                        txt_text.Font = New Font("Serif", 12) //Change la police          
                        txt_text.ForeColor = Color.Blue //Change la couleur du texte
                        


                        Pour ta 3eme question:
                        La fonction Split pourrait te permettre de faire cela, je te laisse réfléchir un peu



                        Et la sa change la couleur de toute la police

                        Mais, merci quand même :D
                        • Partager sur Facebook
                        • Partager sur Twitter
                          9 octobre 2011 à 11:25:26

                          J'ai modifié mon message pendant que tu as écris le tien.Relis le.
                          • Partager sur Facebook
                          • Partager sur Twitter
                            9 octobre 2011 à 11:34:49

                            J'ai pas trouvé la fonction spit sur google :(
                            • Partager sur Facebook
                            • Partager sur Twitter
                            Anonyme
                              9 octobre 2011 à 11:36:07

                              Pourquoi ne pas tout simplement utiliser les regex ?
                              • Partager sur Facebook
                              • Partager sur Twitter
                                9 octobre 2011 à 11:37:09

                                Dit moi tu sais lire ou bien tu le fait exprès?
                                C'est pas Spit mais Split
                                • Partager sur Facebook
                                • Partager sur Twitter
                                  9 octobre 2011 à 11:52:37

                                  Citation : MicroJoe

                                  Pourquoi ne pas tout simplement utiliser les regex ?



                                  Regex ? késaco ?

                                  EDIT : Je l'ai trouvé ta fonction Split et je crois que j'ai compris, je lis le truc caractère par caractère et si je tombe sur une < je met le texte en rouge jusqu'a une > mais je trouve pas le code :(

                                  PS : Je suis débutant en VB
                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    9 octobre 2011 à 12:05:26

                                    Je répète qu'il n'est pas possible dans une textbox ou un richtextbox de changer 1 seul mot d'un texte entier dans une autre couleur.Pour ça tourne toi vers les WebBrowsers
                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                      9 octobre 2011 à 12:07:07

                                      Les webbrowers c'est pour les pages web, tu peux pas afficher du texte dedans, si ?
                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                        9 octobre 2011 à 12:09:56

                                        Tu peux y rajouter du texte ou bien des balises html
                                        • Partager sur Facebook
                                        • Partager sur Twitter
                                          9 octobre 2011 à 13:52:46

                                          Bon, avec une richtextbox, c'est possible, je balance mon code :
                                          Dim countline2 As Integer = -1
                                          For Each line In RichTextBox1.Lines
                                                      countline2 = countline2 + 1
                                                      If line.Contains("ERREUR") = True Then
                                                          RichTextBox1.SelectionStart = RichTextBox1.GetFirstCharIndexFromLine(countline2)
                                                          RichTextBox1.SelectionLength = RichTextBox1.Lines(countline2).Length
                                                          RichTextBox1.SelectionColor = System.Drawing.Color.Red
                                                      End If
                                                      If line.Contains("VALIDE") = True Then
                                                          RichTextBox1.SelectionStart = RichTextBox1.GetFirstCharIndexFromLine(countline2)
                                                          RichTextBox1.SelectionLength = RichTextBox1.Lines(countline2).Length
                                                          RichTextBox1.SelectionColor = System.Drawing.Color.Green
                                                      End If
                                                  Next
                                          


                                          Pour ta 3eme question, moi, j'utilise cela :
                                          dim pos1,pos2,pos3 as integer
                                          pos1 = Richtextbox1.text.indexof("<")
                                          pos2 = Richtextbox1.text.indexof(">")
                                          pos3 = pos2-pos1
                                          dim trucbidule as string
                                          trucbidule = Richtextbox1.text.substring(pos1,pos3)
                                          


                                          Enfin, il faut que tu cherches un peu.
                                          On ne va pas te pondre ton programme non plus.
                                          • Partager sur Facebook
                                          • Partager sur Twitter
                                            9 octobre 2011 à 14:00:16

                                            Arf grilled :( bon ben le code est déjà là, je mais donc juste un screen pour confirmer qu'on peut avoir un style par mot avec un RichTextBox :-°
                                            Image utilisateur

                                            Cordialement !
                                            • Partager sur Facebook
                                            • Partager sur Twitter
                                            Censément, quelqu'un de sensé est censé s'exprimer sensément.
                                              9 octobre 2011 à 14:45:58

                                              Merci, j'édite quand c'est testé

                                              Merci vbnetmania mais pour le deuxième code, comment colorer le texte entre < >, j'ai pas trouvé mais j'ai cherché
                                              je suis un débutant, soyez indulgent
                                              • Partager sur Facebook
                                              • Partager sur Twitter
                                                9 octobre 2011 à 14:55:33

                                                Ben tu devrais réussir à trouver avec ce que je t'ai passé ...
                                                Bon, vu que j'étais comme toi il y a 1 an quand je débutais et que je ne cherchais pas jusqu'à écumer Google, je te balance le code :
                                                dim pos1,pos2,pos3 as integer
                                                pos1 = Richtextbox1.text.indexof("<")
                                                pos2 = Richtextbox1.text.indexof(">")
                                                pos3 = pos2-pos1
                                                RichTextBox1.SelectionStart = pos1
                                                RichTextBox1.SelectionLength = pos3
                                                 RichTextBox1.SelectionColor = System.Drawing.Color.Red
                                                

                                                Colorera xxx en rouge dans <xxx>
                                                Après, tu peux facilement comprendre comment modifier la police (font) :)
                                                • Partager sur Facebook
                                                • Partager sur Twitter
                                                  9 octobre 2011 à 15:02:10

                                                  Une petite erreur
                                                  InvalidArgument=La valeur '-1' n'est pas valide pour 'SelectionLength'.
                                                  Nom du paramètre : SelectionLength


                                                  Edit : je l'ai mis dans text changed de la richtextBox

                                                  Edit 2 :
                                                  Private Sub txt_text_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txt_text.TextChanged
                                                          Me.ToolStripStatusLabel2.Text = Me.txt_text.TextLength
                                                          Dim pos1 As Integer = 0
                                                          Dim pos2 As Integer = 0
                                                          Dim pos3 As Integer = 0
                                                          pos1 = txt_text.Text.IndexOf("<")
                                                          pos2 = txt_text.Text.IndexOf(">")
                                                          pos3 = pos2 - pos1
                                                          txt_text.SelectionStart = pos1
                                                          txt_text.SelectionLength = pos3
                                                          txt_text.SelectionColor = System.Drawing.Color.Red
                                                  
                                                      End Sub
                                                  


                                                  EDIT 3 : pour corriger l'erreur 1, je fais ce code, mais cela ne marche pas non plus :(
                                                  • Partager sur Facebook
                                                  • Partager sur Twitter
                                                    9 octobre 2011 à 16:13:31

                                                    Citation : vbnetmania

                                                    Bon, avec une richtextbox, c'est possible, je balance mon code


                                                    Autant pour moi,ce sont des propriétés cachée? car dans la fenêtre ils sont absents...
                                                    • Partager sur Facebook
                                                    • Partager sur Twitter
                                                      9 octobre 2011 à 16:19:36

                                                      Si je prends ta solution 1, supposons que je veuille faire un editeur html, je vais ajouter toute les balise en OR OR OR OR OR OR OR OR OR OR OR OR OR OR ?

                                                      Sa serait vraiment chiant

                                                      C'est pourquoi je propose une alternative, au lieu de rechercher dans ça, il recherche dans un fichier le code pourrais être
                                                      if me.txt_text.contains = 'un des mot du fichier (un par ligne) then
                                                      'colorie le mot 
                                                      END IF
                                                      

                                                      et pour l'erreur, il faut peut-être mettre un else if pos1 or pos2 or pos3 = -1 then end if
                                                      • Partager sur Facebook
                                                      • Partager sur Twitter
                                                        9 octobre 2011 à 18:25:44

                                                        Tu remplace
                                                        Dim countline2 As Integer = -1
                                                        

                                                        Par
                                                        Dim countline2 As Integer = 0
                                                        
                                                        • Partager sur Facebook
                                                        • Partager sur Twitter
                                                          9 octobre 2011 à 18:40:20

                                                          J'ai testé ton deuxième code et je l'ai un peu changé :
                                                          Private Sub txt_text_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txt_text.TextChanged
                                                                  Me.ToolStripStatusLabel2.Text = Me.txt_text.TextLength
                                                                      Dim pos1 As Integer = 0
                                                                      Dim pos2 As Integer = 0
                                                                      Dim pos3 As Integer = 0
                                                                      pos1 = txt_text.Text.IndexOf("<")
                                                                  pos2 = txt_text.Text.IndexOf(">")
                                                                  pos3 = pos2 - pos1
                                                                      If pos2 >= 0 Then
                                                                          If pos1 >= 0 Then
                                                                              If pos3 >= 0 Then
                                                                                  txt_text.SelectionStart = pos1
                                                                              txt_text.SelectionLength = pos3
                                                                                  txt_text.SelectionColor = System.Drawing.Color.Red
                                                                                  txt_text.SelectionStart = Me.txt_text.TextLength
                                                                              End If
                                                                          End If
                                                                      End If
                                                              End Sub
                                                          


                                                          Mais il y a deux erreurs : exemple

                                                          Citation


                                                          <p> premier paragraphe </p>



                                                          Voilà le résultat de ton code 2
                                                          • Partager sur Facebook
                                                          • Partager sur Twitter

                                                          [VB] Contient, sa existe

                                                          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                                                          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                                                          • Editeur
                                                          • Markdown