cs_domy34
Messages postés7Date d'inscriptionlundi 29 août 2005StatutMembreDernière intervention13 juin 2008
-
12 juin 2008 à 18:08
cs_domy34
Messages postés7Date d'inscriptionlundi 29 août 2005StatutMembreDernière intervention13 juin 2008
-
13 juin 2008 à 18:17
Bonjour,
Je ne suis pas développeur mais parfois amenée à modifier des scripts. Je cherche désespérement le code qui me permettrait de faire ce test.
Si je trouve "(" ou ça ")" ou les deux à la fois sur la ligne que je suis en train de lire action 1 sinon action 2
je ne m'en sors pas avec les or ou xor. Merci de bien vouloir m'aider, c'est pour mon travail et là ça commence à êttre très urgent.
Nikoui
Messages postés794Date d'inscriptionvendredi 24 septembre 2004StatutMembreDernière intervention19 août 200813 12 juin 2008 à 18:34
Pourtant ca devrait. La table du "or" est la suivante (désolé c'est pas très beau) :
a b "a or b"
------------
0 0 0
0 1 1
1 0 1
1 1 1
Si ça ne marche pas, ce n'est probablement pas à cause du test, mais a ce qui se passe avant ou après... Et dans ce cas :
- Il faut un bout de code pour voir ce qui se passe
- Il faut poser la question aux gens qui font du vb (donc le thème "VB", et pas " [infomsg.aspx Thèmes] / [infomsgf_CODES-SOURCES_43.aspx CodeS-SourceS] / [infomsgt_PROPOS-SITES-CODES-SOURCES_769.aspx A propos des sites CodeS-SourceS] / [infomsgt_DEMANDE-NOUVEAU-THEME-DISCUSSION-SUR-CODES-SOURCES_772.aspx Demande d'un nouveau thème de discussion sur CodeS-SourceS]" comme tu as fait ici)
<hr size="2" width="100%" />
Working as designed
www.nikoui.fr
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_domy34
Messages postés7Date d'inscriptionlundi 29 août 2005StatutMembreDernière intervention13 juin 2008 12 juin 2008 à 19:11
Je suis d'accord avec la table du 'OR', et tu as raison ça devrait marcher. Je vais revoir demain à mon travail, le code qui précède et si je n'y arrive pas je poserai la question dans la bonne rubrique. Merci de ton aide, mais je ne vais jamais sur les forums et donc je 'patauge' un peu
Domy
cs_domy34
Messages postés7Date d'inscriptionlundi 29 août 2005StatutMembreDernière intervention13 juin 2008 12 juin 2008 à 19:23
En fait dans le code qui précède , j'utilise bien instr . C'est du style (mais j'ai pas le code sous les yeux en ce moment) repere1 = Instr (1, ligne, "(",0) et repère2 = Instr (1, ligne, ")",0 et le test que je veux faire
c'est
tant que je trouve repere1 ou repere 2 ou les deux à la fois (je sais ça peut paraitre illogique, car à partir du moment ou on en trouve un quelque qu'il soit, la condition est réalisée) , je lis ma ligne, si je ne trouve aucun de ces signes , je recopie cette ligne dans un fichier.
Lorsque je déroule le code, dans le fichier en sortie, je retrouve aussi les lignes qui contiennent les deux [la raison pour laquelle je veux rajouter le test des 'deux à la fois => ( et ) ]
Voilà c'est pas facile à expliquer, mais c'est mon problème et ça me prend la tête.
Si tu peux m'aiser , ça serait vraiment sympa
Domy
cs_domy34
Messages postés7Date d'inscriptionlundi 29 août 2005StatutMembreDernière intervention13 juin 2008 12 juin 2008 à 21:06
Je vais tester demain, mais je ne comprends pas la subtilité par rapport à mon code ou celui de Nikoui , (Peux-tu m'expliquer? ) en tout cas merci, je te tiens au courant dès demain matin (stp reconnecte toi) et si ça ne marche pas je mets en ligne demain mon code avec bcp plus d 'explications, tu trouveras peut être la faille !
Dans tous les cas, merci d'avoir répondu!
Domy
cs_domy34
Messages postés7Date d'inscriptionlundi 29 août 2005StatutMembreDernière intervention13 juin 2008 13 juin 2008 à 11:56
J'ai avancé depuis hier, le code correspond bien à ce que j'attends mais voilà maintenant, impossible de sortir , je boucle sur la
ligne msgbox "plusde()", aurais-tu une idée? d'avance Merci!
Do Until objFile.AtEndOfStream
ligne = objFile.ReadLine
msgbox "cherche ligne" & ligne
retVal = Instr(1, ligne, datasourceu0 , 0)
' If retVal <> 0 Then
'msgbox "trouvé ligne"
' 'ligne = objFile.ReadLine
repere = "false"
If (InStr(ligne,datasourceu0)>0) then
ligne = objFile.ReadLine
msgbox "ligne dans data" & ligne
repere = "true"
do until repere = true
'msgbox "trouvé ligne"
If (InStr(ligne,"(")>0) OR (InStr(ligne,")")>0) then
msgbox "trouve()" & ligne
msgbox "on ne recopie"
ligne = objFile.ReadLine
' Next
else
msgbox "plusde()"
repere = "false"
end if
loop
Else
msgbox "on ecrit" & ligne
f.Write ligne
f.write Chr(13) & Chr(10)
End If
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 13 juin 2008 à 12:24
Forcément, la condition de sortie de ta seconde boucle est repere= True, or non seulement repere n'est jamais mis à True, mais en plus tu le force justement à False lorsque justement tu affiche msgbox "plus de ()"