Hai ihr,
hier mal mein Ansatz für diesen Fall
Delphi-Quellcode:
procedure TDemoForm.Button1Click(Sender: TObject);
var
TestArray: array[0..8] of Integer;
TestInteger: Integer;
ndx: Integer;
begin
// Ersteinmal für den Test das Array mit den Zahlen 1 bis 9 füllen
for ndx := Low(TestArray) to High(TestArray) do
begin
TestArray[ndx] := ndx + 1;
end;
// Jetzt der Test.
TestInteger := 0; // Alle Bits auf 0
for ndx := Low(TestArray) to High(TestArray) do
begin
TestInteger := (TestInteger xor (1 shl (TestArray[ndx] - 1)));
end;
if (TestInteger = $1FF) then // Das ist 2^9 -1
begin
ShowMessage('blubb');
end;
end;
Eigentlich mache ich nichts anderes als das Bit an der Postition welche von
TestArray[ndx] bestimmt ist zu negieren.
Ist aber nicht die schönste aller möglichen Lösungen
Stephan B.