Die Anwendung von TestBit() ist denkbar einfach - mit deinen Beispieldaten sieht das bei mir etwa so aus:
Delphi-Quellcode:
function CheckLines(lines: TSTrings): Cardinal;
var
i, j: Integer;
bSkip: Boolean;
s: TStrings;
begin
Result := 0;
s := TStringList.Create;
bSkip := true;
for i := 0 to Pred(lines.Count) do
begin
if not bSkip then
begin
s.DelimitedText := lines[i];
for j := 6 to Pred(s.Count) do
Result := Result + Ord(TestBit(HexToInt(s[j]), 6))
end;
bSkip := bSkip xor (lines[i] = '')
end;
s.Free;
end;
procedure TDemoForm.CheckButtonClick(Sender: TObject);
var
thirtytwo: Cardinal;
begin
thirtytwo := CheckLines(Memo.Lines);
ShowMessage(IntToStr(thirtytwo));
end;
marabu