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++; }; }