首页  编辑  

变量内存形式

Tags: /超级猛料/Friends.网友专栏/zswang/函数大全/   Date Created:
(* //
  标题:变量内存形式
  说明:适用于位操作调试
  设计:Zswang
  日期:2002-03-07
  支持:wjhu111@21cn.com
  // *)
/// ////Begin Source
function BufferToDisplay(const mBuffer; mSize: Integer): string;
var
    I: Integer;
begin
    Result := '';
    for I := 0 to mSize - 1 do
        try
            Result := Result + IntToHex(TByteArray(mBuffer)[I], 2);
        except
            Result := '';
            Exit;
        end;
end; { BufferToDisplay }

function DisplayToBuffer(mDisplay: string; var mBuffer; mSize: Integer): Boolean;
var
    I: Integer;
begin
    Result := False;
    for I := 0 to mSize - 1 do
        try
            TByteArray(mBuffer)[I] := StrToIntDef('$' + Copy(mDisplay, I * 2 + 1, 2), 0);
        except
            Exit;
        end;
    Result := True;
end; { DisplayToBuffer }

/// ////End Source

/// ////Begin Demo
procedure TForm1.Button1Click(Sender: TObject);
var
    I: Integer;
begin
    I := StrToIntDef(Edit1.Text, 0);
    Edit2.Text := BufferToDisplay(I, SizeOf(I));
end;

procedure TForm1.Button2Click(Sender: TObject);
var
    I: Integer;
begin
    DisplayToBuffer(Edit2.Text, I, SizeOf(I));
    Edit1.Text := IntToStr(I);
end;
/// ////End Demo