while (C++)
Nach oben zu Schlüsselwörter alphabetisch - Index
Kategorie
Syntax
while ( <bedingung> ) <anweisung>
Beschreibung
Das Schlüsselwort while dient zur bedingten wiederholten Ausführung einer Anweisung.
Die <anweisung> wird so lange wiederholt ausgeführt, bis der Wert von <bedingung> false ist.
Die Prüfung findet statt, bevor <anweisung> ausgeführt wird. Deshalb wird die Schleife keinmal durchlaufen, falls <bedingung> zu Anfang des ersten Durchlaufs den Wert false ergibt.
Dieses Beispiel veranschaulicht die Verwendung des Schlüsselworts while mit 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);
}
}
Dieses Beispiel veranschaulicht die Verwendung des Schlüsselworts 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++;
};
}