DELPHI盒子
!实时搜索: 盒子论坛 | 注册用户 | 修改信息 | 退出
检举帖 | 全文检索 | 关闭广告 | 捐赠
技术论坛
 用户名
 密  码
自动登陆(30天有效)
忘了密码
≡技术区≡
DELPHI技术
lazarus/fpc/Free Pascal
移动应用开发
Web应用开发
数据库专区
报表专区
网络通讯
开源项目
论坛精华贴
≡发布区≡
发布代码
发布控件
文档资料
经典工具
≡事务区≡
网站意见
盒子之家
招聘应聘
信息交换
论坛信息
最新加入: hcwong1993
今日帖子: 39
在线用户: 9
导航: 论坛 -> DELPHI技术 斑竹:liumazi,sephil  
作者:
男 ytmwfnyv (ytmwfnyv) ★☆☆☆☆ -
普通会员
2003/12/28 13:13:16
标题:
怎么样将文本文档或Word的内容放到备注型字段里,详细解一下,谢谢。有急用!!!!! 浏览:1472
加入我的收藏
楼主: 怎么样将文本文档或Word的内容放到备注型字段里,详细解一下,谢谢。有急用!!!!!
----------------------------------------------
菜鸟
作者:
男 bios (阿贡) ★☆☆☆☆ -
盒子中级会员
2003/12/28 16:23:05
1楼: procedure TForm1.Button2Click(Sender: TObject);
var
  MemSize: Integer;
  Buffer: PChar;
  MyFile: TFileStream;
  Stream: TBlobStream;
  Doc_ole:ToleContainer;
  test:string;
begin
  od1.Filter:='WORD文档(*.DOC)|*.DOC';{从对话窗选择文件}
    MyFile:=TFileStream.Create('e:\a.doc',fmOpenRead);
    MyFile.Seek(0, soFromBeginning);
    with table1 do   {‘table1’为含BLOB字段的表名}
    begin
      First;
      Edit;
      Stream := TBlobStream.Create(FieldByName('Memo2')as TBlobField, bmWrite);

      {‘Doc’为BLOB字段名}
      MemSize := MyFile.Size;
      Inc(MemSize); {Make room for thebuffer's null terminator.}
      Buffer := AllocMem(MemSize);{Allocate the memory.}
      try
        Stream.Seek(0, soFromBeginning); {Seek 0 bytes from the stream's end point}
        MyFile.Read(Buffer^,MemSize);

        test:=strpas(Buffer);
        Stream.Write(Buffer^,MemSize);
      finally
        MyFile.Free;
        Stream.Free;
      end;
           try
             Post;
           except
             on E: EDatabaseError do
           Application.HandleException(E);
         else
          raise;
           end;
     end;
end;

 

procedure TForm1.Button3Click(Sender: TObject);
var
  MemSize: Integer;
  Buffer: PChar;
  MyFile: TFileStream;
  Stream: TBlobStream;
  Doc_ole:ToleContainer;
  test:string;
begin
    if FileExists('e:\temp.doc') then
             DeleteFile('e:\temp.doc');
    MyFile:=TFileStream.Create('e:\temp.doc',fmCreate);
    with table1 do
    begin
      First;
      Stream := TBlobStream.Create(FieldByName('Memo2') as TBlobField, bmRead);
      Stream.Seek(0, soFromBeginning);
      MemSize := Stream.Size;
      Inc(MemSize);{Make room for the buffer's null terminator.}
      Buffer := AllocMem(MemSize);{Allocate the memory.}
      try
        MyFile.Seek(0, soFromBeginning);
        Stream.Read(Buffer^,MemSize);
        test:=strpas(Buffer);
        MyFile.Write(Buffer^,MemSize);
      finally
        MyFile.Free;
        Stream.Free;
      end;
    end;

    shellexecute(application.handle,'open',pchar('e:\temp.doc'),nil,nil,SW_SHOWNORMAL);
end;

----------------------------------------------
按此在新窗口浏览图片
按此在新窗口浏览图片
信息
登陆以后才能回复
Copyright © 2CCC.Com 盒子论坛 v3.0.1 版权所有 页面执行70.3125毫秒 RSS