while (C++)

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Schlüsselwörter alphabetisch - Index


Kategorie

Anweisungen

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

Siehe auch