DELPHI+WORD+ADO=合同管理系统(100分)

  • 主题发起人 主题发起人 lunni
  • 开始时间 开始时间
L

lunni

Unregistered / Unconfirmed
GUEST, unregistred user!
本人想在程序中通过TWordApplication和TWordApplication调用word进行编辑,然后通过
TFileStream把文件内容读出来,通过TBlobStream写到数据库里面去。也可以通过
TBlobStream把内容从数据库里读出来,通过TFileStream写到文件里面去。
如何做啊
 
我也想这样做,txt我做过
doc的我就没有做过了,你的想法应该是正确的
关注!
 
合同管理没有必要这么复杂,而且速度慢和安全性不高,网络管理能力较差。
建议使用DELPHI+SQL SERVER (或ACCESS)。
我写过这个软件。
 
用delphi控制word进行邮件合并。这样数据同样可写进数据库,只要进行一次邮件合并

就可生成新的合同文件。
 
也就是使用文件流把数据存入数据库中的步骤.
完全可以做到你说的情况.关于流的运用,论坛中特别多.你查一查.
 
to xuejian

可否看一下你的软件。我想参考一下。我的
EMAIL:aaww@yeah.net
 
to lunni,xuejian:
如果方便,把软件也给我看一下,只是看一下.
如果要分,好说.
 
我可以给你BlobStream读写的函数
//Field:字段名
//sFileName:要保存的文件名
procedure SetBlob(Field: TField; sFileName: string);
function BlobContent2String(const FileName: string): string;
begin
if FileExists(FileName) then
begin
with TFileStream.Create(FileName,fmShareDenyNone) do
try
SetLength(Result,Size);
Read(Pointer(Result)^,Size);
finally
Free;
end;
end
else
begin
Exit;
end;
end;
begin
if Field.DataSet.State in [dsInsert, dsEdit] then
begin
Field.AsString := BlobContent2String(sFileName);
end;
end;
//ExtName:文件扩展名,因为我要用ole打开注册的文件
function GetBlob(Field: TField; ExtName: string): string;
var
sFileName: string;
Bs: TADOBlobStream;
begin
//GetSysTemp:取得系统临时文件路经
sFileName := GetSysTemp+'tmp'+ExtName;
Bs := TADOBlobStream.Create(Field as TBlobField,bmRead);
try
Bs.SaveToFile(sFileName);
Result := sFileName;
finally
Bs.Free;
end;
end;
 
接受答案了.
 
后退
顶部