现在的位置: 首页 > 综合 > 正文

delphi 流Stream 和 Variant 的转换函数

2012年04月28日 ⁄ 综合 ⁄ 共 612字 ⁄ 字号 评论关闭
作者: 陆岛工作室

Variant 转换成 Stream 的函数

procedure VariantToStream (const v :olevariant; Stream : TMemoryStream); 
var 
  p : pointer; 
begin 
  Stream.Position :
= 0
  Stream.Size :
= VarArrayHighBound (v, 1- VarArrayLowBound(v, 1+ 1
  p :
= VarArrayLock (v); 
  Stream.Write (p^, Stream.Size); 
  VarArrayUnlock (v); 
  Stream.Position :
= 0
end

Stream 转换成 Variant  的函数

procedure StreamToVariant (Stream : TMemoryStream; var v : OleVariant); 
var 
  p : pointer; 
begin 
  v :
= VarArrayCreate ([0, Stream.Size - 1], varByte); 
  p :
= VarArrayLock (v); 
  Stream.Position :
= 0
  Stream.Read (p^, Stream.Size); 
  VarArrayUnlock (v); 
end

抱歉!评论已关闭.