こんにちわ!!
For i := 0 to 配列数 do
begin
if bColor[i] = True then
begin
// 処理
end;
end;
と言う処理をしていて、bColorの中身を全部Trueだったらという処理がしたいのですが、配列を1個づつループして判断すると全部Trueだったらと言う判断が出来ません;;
誰か教えてください;;お願いします!!
こんな感じでしょうか。
var
IsAllTrue: Boolean;
i: Integer;
begin
IsAllTrue := True;
i := 0;
for i := 0 to 配列数 - 1 do
begin
if bColor[i] then continue;
IsAllTrue := False;
Break;
end;
if IsAllTrue then
begin
//全てTrueだった
end;
上のソース、forの前にあるi := 0;は要りませんでした。
速度を考えなくて良いのであれば、こんなのでもOKです。
前に書いたものは、falseがあればすぐにループを抜けます。
これは、全要素がfalseでも、全てを見ます。
var
IsAllTrue: Boolean;
i: Integer;
begin
IsAllTrue := True;
for i := 0 to 配列数 - 1 do IsAllTrue := IsAllTrue And bColor[i];
if IsAllTrue then
begin
//全てTrueだった
end;
出来ましたぁぁぁぁ!!!
にしのさんありがとうございました!!
ツイート | ![]() |