Jump to content

While loop doesn't exit


Recommended Posts

Hi,

I'm new to AutoIT, I Have a loop that I would like it to exit if the value of the variable $false = 1, but it doesn't work. I know that I can use exitloop, but for my learning purposes I would like to understand why my code doesn't exit when the value of $false changes to 1

Global $Question1, $Question2, $Question3, $false, $true, $score
Global $Reponse1, $Reponse2, $Reponse3
$Reponse1 = '+'
$Reponse2 = '+'
$Reponse3 = '-'
$false = 0

while $false = 0
   $Question1 = InputBox("Question 1","Question 1? :")
   If $Question1 <> $Reponse1 Then
      $false = 1
   EndIf
   $Question2 = InputBox("Question 2", "Question 2 :")
   if $Question2 <> $Reponse2 then
     $false = 1
   EndIf
   $Question3 = InputBox("Question 3","Question 2 :")
   if $Question3 <> $Reponse3 Then
     $false = 1 
   EndIf
   MsgBox(0, "Resultat", "votre score est :", $false)
   WEnd

 

Link to comment
Share on other sites

  • Moderators

Nina,

Welcome to the AutoIt forum.

Your code does exit the While...WEnd loop when $false = 1, but only when it reaches the WEnd line and so after you have answered all the questions. If you want to exit the loop directly after a false response, then you need to use ExitLoop in place of the $false = 1 line.

And I am not sure quite why you have $false in your MsgBox line - at present you are using it to give a 1 second timeout if a false response has been given, which i am pretty sure is not what you want. If you want to give a score then you will need to increase $false with each error ($false += 1) and then call the MsgBox like this:

sgBox(0, "Resultat", "votre score est : " & 3 - $false)

Please ask again if you have further questions.

M23

Public_Domain.png.2d871819fcb9957cf44f4514551a2935.png Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind

Open spoiler to see my UDFs:

Spoiler

ArrayMultiColSort ---- Sort arrays on multiple columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Link to comment
Share on other sites

Why not simply leave the loop like this:

While 1
   $Question1 = InputBox("Question 1","Question 1? :")
   If $Question1 <> $Reponse1 Then ExitLoop
   $Question2 = InputBox("Question 2", "Question 2 :")
   if $Question2 <> $Reponse2 Then ExitLoop
   $Question3 = InputBox("Question 3","Question 2 :")
   If $Question3 <> $Reponse3 Then ExitLoop
   MsgBox(0, "Resultat", "votre score est :", $false)
WEnd

 

My UDFs and Tutorials:

Spoiler

UDFs:
Active Directory (NEW 2022-02-19 - Version 1.6.1.0) - Download - General Help & Support - Example Scripts - Wiki
ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts
OutlookEX (2021-11-16 - Version 1.7.0.0) - Download - General Help & Support - Example Scripts - Wiki
OutlookEX_GUI (2021-04-13 - Version 1.4.0.0) - Download
Outlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - Wiki
PowerPoint (2021-08-31 - Version 1.5.0.0) - Download - General Help & Support - Example Scripts - Wiki
Task Scheduler (NEW 2022-07-28 - Version 1.6.0.1) - Download - General Help & Support - Wiki

Standard UDFs:
Excel - Example Scripts - Wiki
Word - Wiki

Tutorials:
ADO - Wiki
WebDriver - Wiki

 

Link to comment
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
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...