Einzelnen Beitrag anzeigen

marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#6

Re: Bit Operations (Bit in HEX)

  Alt 20. Mär 2006, 12:57
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
  Mit Zitat antworten Zitat