if iets is false then...

Status
Niet open voor verdere reacties.

famlam

Gebruiker
Lid geworden
15 okt 2008
Berichten
416
Bestand = de variabele waarin het bestand staat
Code:
Dim tempmethode As System.Xml.XmlNode = Bestand.SelectSingleNode("/instellingen/methode")
If IsNumeric(tempmethode.InnerText) Then demethode = tempmethode.InnerText
Dim tempspatiesomzet As System.Xml.XmlNode = Bestand.SelectSingleNode("/instellingen/spatiesomzetten")
If IsNumeric(tempspatiesomzet.InnerText) Then spatiesomzetten = tempspatiesomzet.InnerText
Dim tempenter As System.Xml.XmlNode = Bestand.SelectSingleNode("/instellingen/enter")
If tempenter.InnerText = 1 Then
   enterwordt = vbCr
ElseIf tempenter.InnerText = 2 Then
   enterwordt = Chr(160)
ElseIf tempenter.InnerText = 3 Then
   Dim tempenter2 As System.Xml.XmlNode = Bestand.SelectSingleNode("/instellingen/enterwordt")
   enterwordt = tempenter2.InnerText.ToString
End If

Is er een manier om als er één van deze 'if's false geeft een code uit te voeren? Dus als tempmethode.innertext niet nummeriek is of als tempspatiesomzet.InnerText niet nummeriek is of als tempenter niet 1, 2 of 3 is. (en dan is dit maar een klein deel van de code. De echte code heeft veel meer 'if's. )
De bedoeling is namelijk om als één van de tientallen if's een false geeft een bericht te tonen dat het instellingenbestand beschadigd is of verouderd.
Ik kan namelijk wel aan het eind van elke if typen 'else : msgbox("...")' etc, maar dan wordt het een enorm lange code.
 
Laatst bewerkt:
IF x=fout OR y=fout OR z=fout THEN
je msgbox

ofzo iets:p

Zoals ik al schreef bevat de echte code tientallen if's. Is er geen kortere manier?
Het is overigens wel een werkende manier hoor, alleen een beetje lang.
(en je bedoelt waarschijnlijk if x=false or y=false ipv fout :p )
 
ja, false of fout dat maakt allemaal niet uit, het was maar een voorbeeld van de structuur,
je kan na vb6 ook OrElse gebruiken dat is sneller in het uitvoeren maar niet in het typen
 
ja, false of fout dat maakt allemaal niet uit, het was maar een voorbeeld van de structuur,
je kan na vb6 ook OrElse gebruiken dat is sneller in het uitvoeren maar niet in het typen

Ok. Dan doe ik het op jouw manier :)
Klein vraagje dan nog: hoe kun je kijken of een string ook andere tekens dan teken x bevat?

if temptekst.contains [niet 'x'] then msgbox("bericht")'...
met als resultaat:
1k@kdià;9_-`~ : bericht
aaaaaaaaaaaa : bericht
xaxaxaxaxaxa : bericht
xxxxxxxxxxxx : geen bericht
XxXxXxXxXxXx : bericht
 
Laatst bewerkt:
Waarom gebruik je geen Select Case dan?


Code:
        Dim tempenter As System.Xml.XmlNode = Bestand.SelectSingleNode("/instellingen/enter")

        Select Case tempenter.InnerText
            Case 1
                enterwordt = vbCr
            Case 2
                enterwordt = Chr(160)
            Case 3
                Dim tempenter2 As System.Xml.XmlNode = Bestand.SelectSingleNode("/instellingen/enterwordt")
                enterwordt = tempenter2.InnerText.ToString
            Case Else

        End Select




oh ja , en je 2e vraag is als volgt.

Code:
        Dim Str As New ArrayList

        Str.Add("1k@kdià;9_-`~") '  : bericht
        Str.Add("aaaaaaaaaaaa") '  : bericht()
        Str.Add("xaxaxaxaxaxa") '  : bericht()
        Str.Add("xxxxxxxxxxxx") '  : geen(bericht)
        Str.Add("XxXxXxXxXxXx") '  : bericht()

        For Each Item As String In Str

            For Each Character As Char In Item

                If Not Character = "x" Then

                    MsgBox("bericht , " & Item.ToString)
                    Exit For

                End If

            Next

        Next


Check eerst alle item in je array.
Dan voor ieder item , check je elk character.
Als die anders is dan 'x' bevat dan berichten ....
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan