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;
|
function Equal(const ACompareTo : TBaseRemotable) : Boolean;override;
|
||||||
procedure LoadFromStream(AStream : TStream);
|
procedure LoadFromStream(AStream : TStream);
|
||||||
procedure LoadFromFile(const AFileName : string);
|
procedure LoadFromFile(const AFileName : string);
|
||||||
|
procedure LoadFromBuffer(const ABuffer; const ABufferLen : Integer);
|
||||||
procedure SaveToStream(AStream : TStream);
|
procedure SaveToStream(AStream : TStream);
|
||||||
procedure SaveToFile(const AFileName : string);
|
procedure SaveToFile(const AFileName : string);
|
||||||
|
function SaveToBuffer(var ABuffer; const ABufferLen : Integer) : Integer;
|
||||||
property BinaryData : TByteDynArray read FBinaryData write FBinaryData;
|
property BinaryData : TByteDynArray read FBinaryData write FBinaryData;
|
||||||
property EncodedString : string read GetEncodedString write SetEncodedString;
|
property EncodedString : string read GetEncodedString write SetEncodedString;
|
||||||
end;
|
end;
|
||||||
@ -6933,6 +6935,16 @@ begin
|
|||||||
BinaryData := LoadBufferFromStream(AStream);
|
BinaryData := LoadBufferFromStream(AStream);
|
||||||
end;
|
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);
|
procedure TAbstractEncodedStringExtRemotable.LoadFromFile(const AFileName: string);
|
||||||
begin
|
begin
|
||||||
BinaryData := LoadBufferFromFile(AFileName);
|
BinaryData := LoadBufferFromFile(AFileName);
|
||||||
@ -6944,6 +6956,21 @@ begin
|
|||||||
AStream.Write(FBinaryData[0],Length(FBinaryData));
|
AStream.Write(FBinaryData[0],Length(FBinaryData));
|
||||||
end;
|
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);
|
procedure TAbstractEncodedStringExtRemotable.SaveToFile(const AFileName: string);
|
||||||
var
|
var
|
||||||
locStream : TFileStream;
|
locStream : TFileStream;
|
||||||
|
Reference in New Issue
Block a user