while(C++)

提供: Appmethod Topics
移動先: 案内検索

キーワード(アルファベット順):インデックス への移動


カテゴリ

ステートメント

構文

while ( <condition> ) <statement>

説明

while キーワードを使用すると、<条件> に従って <文> を反復実行します。

<ステートメント> は、<条件> の値が false である限り、繰り返し実行されます。

テストは、<ステートメント> が実行される前に施行します。したがって、初回で <条件> が false であると、ループは実行されないことになります。

次の例は、whiledo キーワードの使用方法を示しています。

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

次の例は、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++;
 };
}

関連項目