Use the tabs on the upper right to switch to a different programming language.

Use the tabs on the upper right to switch to a different programming language.

Use the tabs on the upper right to switch to a different programming language.

Use the tabs on the upper right to switch to a different programming language.

whilewhileWhileWhilewhile (Operator)

Name

whilewhileWhileWhilewhile — Starts a loop block that is executed as long as the condition is true.

Signature

while( : : Condition : )

Herror while(const Hlong Condition)

Herror T_while(const Htuple Condition)

void While(const HTuple& Condition)

static void HOperatorSet.While(HTuple condition)

def while(condition: int) -> None

Description

whilewhileWhileWhileWhilewhile executes the loop body up to the corresponding endwhileendwhileEndwhileEndwhileEndwhileendwhile statement as long as the ConditionConditionConditionConditionconditioncondition parameter evaluates to 'true'"true""true""true""true""true" (or a number not equal 0).

If the condition evaluates to 'false'"false""false""false""false""false" (0) the program is continued after the corresponding endwhileendwhileEndwhileEndwhileEndwhileendwhile statement.

Parameters

ConditionConditionConditionConditionconditioncondition (input_control)  integer HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Condition for loop.

Example (HDevelop)

dev_update_window ('off')
dev_close_window ()
dev_open_window (0, 0, 512, 512, 'black', WindowID)
read_image (Image, 'particle')
dev_display (Image)
stop ()
threshold (Image, Large, 110, 255)
dilation_circle (Large, LargeDilation, 7.5)
dev_display (Image)
dev_set_draw ('margin')
dev_set_line_width (3)
dev_set_color ('green')
dev_display (LargeDilation)
dev_set_draw ('fill')
stop ()
complement (LargeDilation, NotLarge)
reduce_domain (Image, NotLarge, ParticlesRed)
mean_image (ParticlesRed, Mean, 31, 31)
dyn_threshold (ParticlesRed, Mean, SmallRaw, 3, 'light')
opening_circle (SmallRaw, Small, 2.5)
connection (Small, SmallConnection)
dev_display (Image)
dev_set_colored (12)
dev_display (SmallConnection)
stop ()
dev_set_color ('green')
dev_display (Image)
dev_display (SmallConnection)
Button := 1
while (Button == 1)
  dev_set_color ('green')
  get_mbutton (WindowID, Row, Column, Button)
  dev_display (Image)
  dev_display (SmallConnection)
  dev_set_color ('red')
  select_region_point (SmallConnection, SmallSingle, Row, Column)
  dev_display (SmallSingle)
  NumSingle := |SmallSingle|
  if (NumSingle == 1)
    intensity (SmallSingle, Image, MeanGray, DeviationGray)
    area_center (SmallSingle, Area, Row, Column)
    dev_set_color ('yellow')
    set_tposition (WindowID, Row, Column)
    write_string (WindowID, 'Area='+Area+', Int='+MeanGray)
  endif
endwhile
dev_set_line_width (1)
dev_update_window ('on')

Result

If the values of the specified parameters are correct, whilewhileWhileWhileWhilewhile (as operator) returns TRUE. Otherwise, an exception is raised and an error code returned.

Alternatives

forforForForForfor, untiluntilUntilUntilUntiluntil

See also

repeatrepeatRepeatRepeatRepeatrepeat, breakbreakBreakBreakBreakbreak, continuecontinueContinueContinueContinuecontinue, ififIfIfIfif, elseifelseifElseifElseifElseifelseif, elseelseElseElseElseelse

Module

Foundation