Sign in to follow this  
Followers 0
Denis

Nested If statements

3 posts in this topic

It works neither in this form:

SetError(0)

FileReadLine($File1)

If @error Then

SetError(0)

FileReadLine($File2)

If @error Then FinalMessage("Equal")

Else FinalMessage("Not equal - 2 is longer")

EndIf

FinalMessage("Not equal - 1 is longer")

nor in this:

SetError(0)

FileReadLine($File1)

If @error Then

SetError(0)

FileReadLine($File2)

If @error Then FinalMessage("Equal")

EndIf

Else FinalMessage("Not equal - 2 is longer")

EndIf

FinalMessage("Not equal - 1 is longer")

nor in this one:

SetError(0)

FileReadLine($File1)

If @error Then

SetError(0)

FileReadLine($File2)

If @error Then

FinalMessage("Equal")

else

EndIf

Else FinalMessage("Not equal - 2 is longer")

EndIf

FinalMessage("Not equal - 1 is longer")

It works as this:

SetError(0)

FileReadLine($File1)

If @error Then

SetError(0)

FileReadLine($File2)

If @error Then

FinalMessage("Equal")

Else FinalMessage("Not equal - 2 is longer")

EndIf

EndIf

FinalMessage("Not equal - 1 is longer")

but I still don't like the entire matter - it may occur again in much worse state.

//Func FinalMessage (Const $MessageName)

// MsgBox(0,$MessageName,TimerDiff($timerstart))

// WinWait($MessageName)

// Exit

//EndFunc

Share this post


Link to post
Share on other sites



You cannot add code on the same line after the Else keyword.

SetError(0)
FileReadLine($File1)
If @error Then
    SetError(0)
    FileReadLine($File2)
    If @error Then FinalMessage("Equal")
Else
    FinalMessage("Not equal - 2 is longer")
EndIf
FinalMessage("Not equal - 1 is longer")

;nor in this:

SetError(0)
FileReadLine($File1)
If @error Then
    SetError(0)
    FileReadLine($File2)
    If @error Then
        FinalMessage("Equal")
    EndIf
Else
    FinalMessage("Not equal - 2 is longer")
EndIf
FinalMessage("Not equal - 1 is longer")

;nor in this one:

SetError(0)
FileReadLine($File1)
If @error Then
    SetError(0)
    FileReadLine($File2)
    If @error Then 
        FinalMessage("Equal")
    else
        ;something here
    EndIf
Else
    FinalMessage("Not equal - 2 is longer")
EndIf
FinalMessage("Not equal - 1 is longer")

;It works as this:

SetError(0)
FileReadLine($File1)
If @error Then
    SetError(0)
    FileReadLine($File2)
    If @error Then 
    FinalMessage("Equal")
    Else
        FinalMessage("Not equal - 2 is longer")
    EndIf
EndIf
FinalMessage("Not equal - 1 is longer")

;but I still don't like the entire matter - it may occur again in much worse state.

;Func FinalMessage (Const $MessageName)
; MsgBox(0,$MessageName,TimerDiff($timerstart))
; WinWait($MessageName)
; Exit
;EndFunc

:lmao:

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0