je test
Messages postés23Date d'inscriptiondimanche 17 avril 2005StatutMembreDernière intervention 6 décembre 2009
-
10 oct. 2007 à 23:05
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 2018
-
14 oct. 2007 à 22:59
slt à tous
j'ai un textbox avec de multiples lignes.
les lignes sont generées avec des checkbox optionbouton et autres petites choses.
le programe ne sait pas comment sera fait le formatage des lignes et j'ai des problèmes avec les "points" "virgules" "espaces" "double point" et autres ponctuations.
ex:
Je suis parti : Pecher : Chasser : Camper :
Dans cette exemple la fin de la ligne c'est : je voudrais que ca se remplace par un point Camper.
Je peux aussi avoir le meme type de phrase mais avec un autre formatage
ex:
Je suis parti : Pecher : Chasser : Camper :
Dans cette phrase je voudrais qu'elle ressemble à ça:
Je suis parti : Pecher. Chasser. Camper.
Chaque phrase sera bien sure analysée individuellement en fonction du formatage que je veux.
je pense qu'il faut faire une recherche d'un caractère alphanumerique en majuscule, mais là je seche carrement, je n'ai aucune idée de coment faire.
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 11 oct. 2007 à 10:59
salut,
voici un exemple en VB6, il faut juste remplacer les split left right etc... compris dans la classe string
Option Explicit
Private Sub Form_Load()
Text1.Text = "Je suis parti : Pecher :
Chasser : Camper :" & vbCrLf & _
"Dans cette phrase je voudrais qu'elle ressemble à ça
:" & vbCrLf & _
"Je suis parti : Pecher. Chasser. Camper." & vbCrLf & _
"quand une phrase fini par <ESPACE> puis <:>, la fin
sera remplacée par <.>"
End Sub
Private Sub Command1_Click()
Dim aStr() As String, i As Integer
aStr = Split(Text1.Text, vbCrLf)
For i = LBound(aStr) To UBound(aStr)
If RightB$(aStr(i), 4) = "
:" Then aStr(i) = LeftB$(aStr(i), LenB(aStr(i)) - 4) & "."
Next i
Text1.Text = Join(aStr, vbCrLf)
Erase aStr
End Sub
++
PCPT [AFCK]
<hr size="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 14 oct. 2007 à 18:38
salut,
donc que tous les espaces finaux soient remplacés par un point final?
réfléchi de suite à toutes les fins possibles...
++
<hr size="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 14 oct. 2007 à 22:12
re toi
tu n'as pas répondu à ma question :
tu veux que "tous les espaces finaux soient remplacés par un point final"?
le code fourni traite déjà la zone de texte étant multiligne, mais tu confonds peut-être le retour chariot (vbcrlf) avec le retour automatique selon la taille du texte (donc un espace)
<hr size="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 14 oct. 2007 à 22:59
tu comprends que t'es pas clair?
tiens, modification pour espace :
Option Explicit
Private Sub Form_Load()
Text1.Text = "Je suis parti : Pecher :
Chasser : Camper :" & vbCrLf & _
"Dans cette phrase je voudrais qu'elle ressemble à ça
:" & vbCrLf & _
"Je suis parti : Pecher. Chasser. Camper." & vbCrLf & _
"idem pour une phrase finissante par un espace " & vbCrLf & _
"mais pas par une virgule," & vbCrLf & _
"quand une phrase fini par <ESPACE> puis <:>, la fin
sera remplacée par <.>"
End Sub
Private Sub Command1_Click()
Dim aStr() As String, i As Integer
aStr = Split(Text1.Text, vbCrLf)
For i = LBound(aStr) To UBound(aStr)
If RightB$(aStr(i), 4) = "
:" Then
aStr(i) = LeftB$(aStr(i), LenB(aStr(i)) - 4) & "."
ElseIf (aStr(i) = LeftB$(aStr(i), LenB(aStr(i)) - 2) & "
") Then
aStr(i) = LeftB$(aStr(i), LenB(aStr(i)) - 2) & "."
End If
Next i
Text1.Text = Join(aStr, vbCrLf)
Erase aStr
End Sub
si ta demande est juste de remplacer les retours chariot par un point çà doit être qqc du genre :
text1.text.replace(vbcrlf,".")
++
<hr size="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp