while (C++)
Go Up to Keywords, Alphabetical Listing Index
Category
Syntax
while ( <condition> ) <statement>
Description
Use the while keyword to conditionally iterate a statement.
<statement> executes repeatedly until the value of <condition> is false.
The test takes place before <statement> executes. Thus, if <condition> evaluates to false on the first pass, the loop does not execute.
This example illustrates the use of the keyword while with do.
void __fastcall TForm1::Button1Click(TObject *Sender) { TSearchRec sr; int iAttributes = 0; StringGrid1->RowCount = 1; iAttributes |= faReadOnly * CheckBox1->Checked; iAttributes |= faHidden * CheckBox2->Checked; iAttributes |= faSysFile * CheckBox3->Checked; iAttributes |= faVolumeID * CheckBox4->Checked; iAttributes |= faDirectory * CheckBox5->Checked; iAttributes |= faArchive * CheckBox6->Checked; iAttributes |= faAnyFile * CheckBox7->Checked; StringGrid1->RowCount = 0; if (FindFirst(Edit1->Text, iAttributes, sr) == 0) { do { if ((sr.Attr & iAttributes) == sr.Attr) { StringGrid1->RowCount = StringGrid1->RowCount + 1; StringGrid1->Cells[1][StringGrid1->RowCount-1] = sr.Name; StringGrid1->Cells[2][StringGrid1->RowCount-1] = IntToStr(sr.Size); } } while (FindNext(sr) == 0); FindClose(sr); } }
This example illustrates the use of the keyword while.
void __fastcall TForm1::Button1Click(TObject *Sender) { int Result = 0; int I = 0; TColor RealColor = Graphics::ColorToRGB(Form1->Color); while (I < NumPaletteEntries) { TColor paletteColor = RGB( FPaletteEntries[I].peRed, FPaletteEntries[I].peGreen, FPaletteEntries[I].peBlue); if (RealColor == paletteColor) { Label1->Caption = IntToStr(I); RedEdit->Text = IntToStr(FPaletteEntries[I].peRed); GreenEdit->Text = IntToStr(FPaletteEntries[I].peGreen); BlueEdit->Text = IntToStr(FPaletteEntries[I].peBlue); break; } I++; }; }