You've already forked lazarus-ccr
Load/Save data from raw buffer
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2588 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
@ -819,8 +819,10 @@ type
|
||||
function Equal(const ACompareTo : TBaseRemotable) : Boolean;override;
|
||||
procedure LoadFromStream(AStream : TStream);
|
||||
procedure LoadFromFile(const AFileName : string);
|
||||
procedure LoadFromBuffer(const ABuffer; const ABufferLen : Integer);
|
||||
procedure SaveToStream(AStream : TStream);
|
||||
procedure SaveToFile(const AFileName : string);
|
||||
function SaveToBuffer(var ABuffer; const ABufferLen : Integer) : Integer;
|
||||
property BinaryData : TByteDynArray read FBinaryData write FBinaryData;
|
||||
property EncodedString : string read GetEncodedString write SetEncodedString;
|
||||
end;
|
||||
@ -6933,6 +6935,16 @@ begin
|
||||
BinaryData := LoadBufferFromStream(AStream);
|
||||
end;
|
||||
|
||||
procedure TAbstractEncodedStringExtRemotable.LoadFromBuffer(
|
||||
const ABuffer;
|
||||
const ABufferLen: Integer
|
||||
);
|
||||
begin
|
||||
SetLength(FBinaryData,ABufferLen);
|
||||
if (ABufferLen > 0) then
|
||||
Move(ABuffer,FBinaryData[0],ABufferLen);
|
||||
end;
|
||||
|
||||
procedure TAbstractEncodedStringExtRemotable.LoadFromFile(const AFileName: string);
|
||||
begin
|
||||
BinaryData := LoadBufferFromFile(AFileName);
|
||||
@ -6944,6 +6956,21 @@ begin
|
||||
AStream.Write(FBinaryData[0],Length(FBinaryData));
|
||||
end;
|
||||
|
||||
function TAbstractEncodedStringExtRemotable.SaveToBuffer(
|
||||
var ABuffer;
|
||||
const ABufferLen: Integer
|
||||
) : Integer;
|
||||
var
|
||||
c : Integer;
|
||||
begin
|
||||
c := Length(FBinaryData);
|
||||
if (c > ABufferLen) then
|
||||
c := ABufferLen;
|
||||
if (c > 0) then
|
||||
Move(FBinaryData[0],ABuffer,c);
|
||||
Result := c;
|
||||
end;
|
||||
|
||||
procedure TAbstractEncodedStringExtRemotable.SaveToFile(const AFileName: string);
|
||||
var
|
||||
locStream : TFileStream;
|
||||
|
Reference in New Issue
Block a user