- 浏览: 179655 次
- 来自: ...
文章分类
最新评论
-
fsword:
同事拿着试了一下,说是把第五步放到第二步之前就可以了
在windows下安装ruby1.9.2,rails3.0.3和DevKit--转 -
dothwinds:
[flash=200,200][/flash][url][/u ...
打包ruby or rails成exe(英文)
用image字段保存这些文档。
var
word_stream: TMemoryStream;
filename: string;
begin
if odgDoc.Execute
then//odgDoc:OpenDialog
begin
filename :=
ExtractFileName(odgDoc.FileName);
word_stream :=
TMemoryStream.Create;
word_stream.LoadFromFile(odgDoc.FileName);
word_stream.Position := 0;
cdsPACT.Append
cdsPACT.FieldByName('DocName').Value := filename;
TBlobField(cdsPACT.FieldByName('PactText')).LoadFromStream(word_stream);
cdsPACT.Post;
word_stream.Free;
end;
end;
----
目前,Delphi被越来越多的人选中作为MIS系统开发中的前台工具。在以Delphi为前台,一些大型数据库为后台的MIS系统中,图形的处理不可避
免;即从以Delphi开发的前台界面输入图形,并保存到相应的数据库字段中。在这种形式的图形处理中,BMP文件的处理比较简单,因为Delphi本身
有Image和DBImage构件,用这些构件与数据库中可以保存图形的大型字段BLOB比较容易地进行数据交换。以这种方式进行图形处理已应用在许多
MIS软件中,包括处理人员照片的人事档案系统等。
----
但是,BMP文件一般都比较大。而且有时要录入的是自己在计算机上画的简图,并伴随大量文字说明。这种情况用Win95中的画图板等处理BMP文件的工具
处理就比较困难。一般应用人员都喜欢用WORD画图和写说明文字,然后保存到数据库中。
----
经过一段时间的摸索,我们解决了这个问题,并经过完善,在应用中运行较好。程序如下:
procedure
TsampleForm.OpenDOCClick(Sender: TObject);
var
MemSize:
Integer;
Buffer: PChar;
Myfile: TFileStream;
Stream: TBlobStream;
begin
OpenDialog1.Filter:='WORD文档(*.DOC)|*.DOC';{从对话窗选择文件}
if
OpenDialog1.Execute then
begin
Myfile:=TFileStream.Create(OpenDialog1.FileName,fmOpenRead);
with table1 do {‘table1’为含BLOB字段的表名}
begin
Open;
Edit;
Stream
:= TBlobStream.Create(FieldByName('Doc') as TBlobField,
bmWrite);{‘Doc’为BLOB字段名}
MemSize := MyFile.Size;
Inc(MemSize); {Make room for the buffer'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);
Stream.Write(Buffer^,MemSize);
finally
MyFile.Free;
Stream.Free;
end;
try
Post;
except
on E: EDatabaseError do
if HandelException(E)< >0 then
exit
else
raise;
end;
end;
Doc_ole.CreateObjectFromFile(OpenDialog1.FileName,False);
Doc_ole.Run;{Doc_ole为ToleContainer构件名}
end;
end;
---- 以上为向数据库中写入的程序,应用中从对话窗取出文件在ToleContainer构件中显示的同时存入数据库。
procedure TsampleForm.GetDocClick(Sender: TObject);
var
MemSize: Integer;
Buffer: PChar;
Myfile:
TFileStream;
Stream: TBlobStream;
begin
Myfile:=TFileStream.Create('c:\temp.tmp',fmCreate);
with
Query1 do
begin
Stream :=
TBlobStream.Create(FieldByName('Doc') as TBlobField, bmRead);
MemSize := Stream.Size;
Inc(MemSize); {Make room for the buffer's null terminator.}
Buffer := AllocMem(MemSize); {Allocate the
memory.}
try
Stream.Read(Buffer^,MemSize);
MyFile.Write(Buffer^,MemSize);
finally
MyFile.Free;
Stream.Free;
end;
end;
if
FileExists('c:\temp.DOC') then
DeleteFile('c:\temp.DOC');
if FileExists('c:\temp.tmp') then
begin
RenameFile('c:\temp.tmp', 'c:\temp.DOC');
Doc_ole.CreateObjectFromFile('c:\temp.DOC',False);
Doc_ole.Run;
end;
end;
---- 以上程序为从数据库从将WORD文档取出,并放在temp.doc的临时文件上并在ToleContainer构件中显示。
---- 在程序的其他部份应准确控制表记录指针,使WORD文档的存取发生在正确的记录位置。
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/lee576/archive/2008/02/22/2113578.aspx
发表评论
-
将C++ 转为 Pascal/Delphi -- 转
2011-07-23 00:39 3028将C++ 转为 Pascal/Delphi ===== ... -
Delphi编程注意事项--转
2011-07-23 00:35 1317Delphi编程注意事项 任何单元必须有对应测试 ... -
Delphi循环语句对应的汇编语句序列-- 转
2011-07-23 00:33 1296count: 终值, start:起始值正向: ... -
Delphi7快捷键--转
2011-07-21 23:43 1857分类 快捷键 解释 ... -
Delphi写数据至WORD--转
2011-07-21 22:27 34311.所需的三个控件: ChooseWA: ... -
delphi 7实现word文档的分页读取
2011-07-21 22:03 1879问题仔细描述,如果 ... -
Delphi中的数据添加到Word模板的相应位置--转
2011-07-21 22:01 1672就跟将数据导入Excel一样,在运行Delph ... -
delphi控制 word的几种方法--转
2011-07-21 21:49 2476对几种方法的难易程度的判别 a.通过Delphi的控件TOl ... -
Delphi控制Word的报表例子介绍--转
2011-07-21 21:46 2744说明:WordApp是Server下的TWordAppl ... -
delphi 为word文档增加一个段落样式--转
2011-07-21 21:44 1956下为程序中的一段,解决了为文档增加一个段落样式。这个段落样式的 ... -
delphi操作word -- 转
2011-04-25 17:14 1427转自 http://xxzqb.blog.163.com/ ... -
delphi常见属性事件说明
2010-07-20 21:54 1376DELPHI常见属性说明:align 设置组件对齐(同 ... -
C,Delphi,PHP 基础语法对比[转载]
2010-07-20 20:40 1029说明 C(区分大小写) ... -
DELPHI控件安装与删除
2010-07-19 22:49 2448DELPHI控件安装与删除控件安装 基本安装 1、对于单个控件 ... -
『Delphi』File not found的解决办法
2010-07-19 22:48 2739当程序启动,提示Fatal Erro:File not fou ... -
Delphi StringGrid控件的属性及使用说明[转载]
2010-07-19 21:01 5922Delphi StringGrid控件的属 ...
相关推荐
总之,通过Delphi结合数据库组件和适当的文件处理技术,可以轻松地将Word、Excel和图片等非结构化数据存储到数据库中。在实际项目中,务必根据项目需求选择合适的数据库组件和第三方库,以实现高效、稳定的数据存储...
在IT领域,数据库管理和数据导出是至关重要的任务,尤其对于开发者来说,能够灵活地将数据库中的信息转换成各种常用格式(如Word、Excel、TXT、XML和DBF)是提高工作效率的重要手段。本实例程序"Delphi实现emExpore...
《Delphi技术在考试系统中的应用:连接Word与Excel实现高效出卷》 Delphi,作为一款强大的面向对象的编程语言,一直以来都是开发者们青睐的工具,尤其在开发桌面应用程序时,其高效的性能和丰富的组件库使其独具...
10. **数据库与图片结合**:“图片存取+存储过程”可能是指在数据库中存储和检索图片数据,通常通过BLOB字段实现。学习如何通过存储过程与数据库交互,以及如何将图片数据转化为二进制流存储和还原,是数据库应用的...
4. 对象链接和嵌入(OLE):OLE技术允许在单个应用程序中使用多种组件,如创建和编辑Word文档、Excel表格等。通过Delphi,开发者可以创建支持OLE的自定义控件,实现不同应用程序之间的数据共享和交互。 5. 动态链接...
Access数据库实用教程...对于标签中提到的C、Borland C++ Builder (BCB)、Delphi和VC++等其他编程语言,虽然不是本教程的直接内容,但理解数据库原理和操作对使用这些编程语言进行数据库应用程序开发也是非常有益的。
5. **支持打印报表导出为图片、Excel/Word等格式文本**:在预览模式下,用户可以选择将报表导出为常见的文件格式,如JPEG、PNG等图片格式,或Excel、Word等办公文档格式,方便数据的进一步处理和分享。 王学利在...
4. **事件驱动编程**:在Delphi中,如何使用事件处理程序与Office应用程序进行实时交互,例如响应Excel单元格的改变或Word文档的保存事件。 5. **多线程处理**:在OA系统中,可能会涉及并发操作,学习如何在Delphi...
VFP支持OLE(Object Linking and Embedding)、ActiveX控件、DLL动态链接库以及外部库资源等功能,使得VFP能够直接调用其他应用程序和数据资源,例如基于Windows的应用软件如VB、Excel、Word和Delphi等,从而极大地...
### ASP连接多种数据库服务器的方法及关键问题 ...以上内容概括了ASP连接多种数据库服务器的方法及其关键问题,从数据库的选择到具体的连接实现,涵盖了多种技术和工具,为开发者提供了丰富的参考资料和技术指导。
2. 文档管理:文档管理模块允许用户创建、存储、编辑和分享各种类型的办公文档,可能支持多种格式,如Word、Excel、PDF等,并具备版本控制和权限管理。 3. 任务与日程管理:此功能帮助用户规划和跟踪日常工作,设置...
本教程将深入探讨ADO在操作数据库、Excel和Word中的应用,并提供相关代码和类库。 一、ADO基本概念 1. Connection对象:连接到数据库的核心对象,负责建立和断开与数据源的连接。 2. Command对象:执行SQL语句或...
- 数据集成:可以方便地与Excel、Word等其他Office组件进行数据交换。 #### 三、系统功能模块设计 根据文档描述,该图书管理系统主要包含以下几个功能模块: 1. **图书管理**:包括图书的添加、删除、修改和查询...
EMS(可能代表“Enterprise Management Solutions”或类似含义)QueryExport是这个库的核心部分,它提供了在BCB(CodeGear C++ Builder)和DELPHI编程环境中便捷地将数据库中的数据导出到常见Office文档格式的功能。...
综上所述,这个压缩包可能包含的是一套使用Delphi和ASP.NET技术构建的固定资产管理系统,其中可能涉及到了网络通信、数据库操作、用户界面设计和与Word的集成。文件名“acc_excel”可能暗示了与Access数据库或Excel...
0222 把Excel中的数据保存到数据库中 147 0223 怎样弹出ConnectionString设置页 148 0224 利用ADO获取DELETE后所影响的记录数 148 7.3 业务实现数据处理技术 149 0225 随机产生中奖号码 149 0226 使用...
0222 把Excel中的数据保存到数据库中 147 0223 怎样弹出ConnectionString设置页 148 0224 利用ADO获取DELETE后所影响的记录数 148 7.3 业务实现数据处理技术 149 0225 随机产生中奖号码 149 0226 使用...
4. **数据存储**:抓取到的邮件信息可能会被存储在数据库中,以便于后续分析或操作。这可能涉及到数据库设计,如使用SQL Server或SQLite。 5. **用户界面**:Delphi以其丰富的组件库著称,所以该系统可能有一个直观...
10. 数据库对象导出:在Access中,可以将数据库对象导出到其他数据库、Excel、Word,但不能导出到当前数据库内的其他表。 11. Java主类main方法:Java应用的主类需包含`main`方法,其返回类型是`void`。 12. 8位二...