Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

bacoln/msgpack-delphi

Repository files navigation

Msgpack for Delphi

It's like JSON but small and fast.

unit Owner: D10.Mofen, qdac.swish
contact:
 qq:185511468, 
 email:185511468@qq.com
welcome to report bug

Works with

  • Delphi 7 (tested)
  • Delphi 2007 (tested)
  • XE5, XE6, XE7, FMX (tested)

changes:

  • first release 2014年08月15日 13:05:13

  • add array support 2014年08月19日 12:18:47

  • add andriod support 2014年09月08日 00:45:27

  • fixed int32, int64 parse bug< integer, int64 parse zero> 2014年11月09日 22:35:27
  • add EncodeToFile/DecodeFromFile 2014年11月13日 12:30:58
  • fix asVariant = null (thanks for cyw(26890954)) 2014年11月14日 09:05:52

  • fix AsInteger = -1 bug (thanks for cyw(26890954)) 2014年11月14日 12:15:52

  • fix AsInteger = -127 bug check int64/integer/cardinal/word/shortint/smallint/byte assign, encode,decode, read 2014年11月14日 12:30:38

  • fix AsFloat = 2.507182 bug thanks fo [珠海]-芒果 1939331207 2014年11月21日 12:37:04

  • add AddArrayChild func 2015年03月25日 17:47:28

  • add remove/removeFromParent/Delete function 2015年08月29日 22:37:48

Code Example

var
 lvMsg, lvMsg2:TSimpleMsgPack;
 lvBytes:TBytes;
 s:string;
begin
 lvMsg := TSimpleMsgPack.Create;
 lvMsg.S['key.obj'] := '汉字,ascii';
 if dlgOpen.Execute then
 begin
 lvMsg.S['key.image.name'] := ExtractFileName(dlgOpen.FileName);
 
 // file binary data
 lvMsg.ForcePathObject('key.image.data').LoadBinaryFromFile(dlgOpen.FileName);
 end;
 
 //
 lvBytes := lvMsg.EncodeToBytes;
 lvMsg2 := TSimpleMsgPack.Create;
 lvMsg2.DecodeFromBytes(lvBytes);
 //
 Memo1.Lines.Add(lvMsg2.S['key.obj']);
 if lvMsg2.S['key.image.name'] <> '' then
 begin
 s := ExtractFilePath(ParamStr(0)) + lvMsg2.S['key.image.name'];
 Memo1.Lines.Add('file saved');
 Memo1.Lines.Add(s);
 lvMsg2.ForcePathObject('key.image.data').SaveBinaryToFile(s); 
 end;
 

About

MessagePack implementation for Pascal / msgpack.org[Pascal]

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

Contributors

Languages

  • Pascal 99.9%
  • Batchfile 0.1%

AltStyle によって変換されたページ (->オリジナル) /