Wählen Sie oben rechts eine andere Programmiersprache aus.

Wählen Sie oben rechts eine andere Programmiersprache aus.

Wählen Sie oben rechts eine andere Programmiersprache aus.

whilewhileWhileWhile (Operator)

Name

whilewhileWhileWhile — Eröffnet einen Schleifenblock, der solange ausgeführt wird, wie die Bedingung wahr ist.

Signatur

while( : : Condition : )

Herror while(const Hlong Condition)

Herror T_while(const Htuple Condition)

void While(const HTuple& Condition)

static void HOperatorSet.While(HTuple condition)

Beschreibung

whilewhileWhileWhileWhile führt den Schleifenblock bis zur zugehörigen Anweisung endwhileendwhileEndwhileEndwhileEndwhile aus, solange der Parameter ConditionConditionConditionConditioncondition 'true'"true""true""true""true" (oder eine Zahl ungleich 0) ergibt.

Ergibt die Bedingung 'false'"false""false""false""false" (0), wird die Programmausführung nach der zugehörigen endwhileendwhileEndwhileEndwhileEndwhile-Anweisung fortgesetzt.

Parameter

ConditionConditionConditionConditioncondition (input_control)  integer HTupleHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Bedingung für die Schleife.

Beispiel (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')

Ergebnis

Sind die Parameterwerte korrekt, dann liefert whilewhileWhileWhileWhile (als Operator) den Wert 2 (H_MSG_TRUE). Andernfalls wird eine Fehlerbehandlung durchgeführt und ein Fehlercode zurückgeliefert.

Alternativen

forforForForFor, untiluntilUntilUntilUntil

Siehe auch

repeatrepeatRepeatRepeatRepeat, breakbreakBreakBreakBreak, continuecontinueContinueContinueContinue, ififIfIfIf, elseifelseifElseifElseifElseif, elseelseElseElseElse

Modul

Foundation