在delphi中的一个函数,如下所示,怎么转换成平台中可用的?
function TImportExportForm.SaveAsMyFile(FileName: String): Boolean;
var
AFileStream: TFileStream;
AStream: TStream;
AStr: Array[0..49] of Char;
ASize: Integer;
begin
Result := False;
try
AFileStream := TFileStream.Create(FileName, fmCreate);
AStream := TMemoryStream.Create;
try
//写文件头
StrPCopy(AStr, 'hdsoft'); ///在平台中这个就不好处理,因为参数只能是string;
AFileStream.WriteBuffer(AStr, 6); ///在平台中不知道如何处理也是参数的问题,转换成tobject 也不行
//生成数据文件
TmpData.SaveToStream(AStream); ///tmpdata 是一个clientdataset
//写文件长度
ASize := AStream.Size; /// 数据文件的长度,以便在读文件的时候获取文件长度
AStream.Position := 0;
AFileStream.WriteBuffer(ASize, SizeOf(ASize)); //平台中不好处理,也是参数的问题
//写入文件内容
AFileStream.CopyFrom(AStream, ASize);
Result := True;
except
end;
finally
AStream.Free;
AFileStream.Free;
end;
end; |