请大家教我啊!!!!!!!!!!!!!!!!!!!!
解决方案 »
- Delphi 如何映射按键?
- 求像数据集一样循环遍历XML的方法
- of object怎么理解
- 快给一个Delphi中获取硬盘唯一序列号的源码!
- 我想了一天了还没搞定!高手救救我吧!如何获得Treeview中某一被选中的节点所在的层中共有多少个节点??详情请见正文!
- 我想做个延时怎么做?
- 关于Memo的显示
- 如何重画TStrngGrid的网格线?
- 如何用一个Button调用DateTimePicker
- 请问在Delphi里如何从一个窗体调用另一个窗体?
- 怎樣知道AdoQuery是否為關閉狀態?
- InfoPower for BCB 的哪个版本解决了中文的Bug ?我现在用 infopower 3000 的 wwDBRichEdit 输入中文依然出错,有没有解决办法?
unit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, OleCtnrs, DB, DBTables;type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
Table1: TTable;
OpenDialog1: TOpenDialog;
Button3: TButton;
Button4: TButton;
Label1: TLabel;
Label2: TLabel;
Button5: TButton;
Button6: TButton;
Button7: TButton;
SaveDialog1: TSaveDialog;
Label3: TLabel;
OleContainer1: TOleContainer;
Label4: TLabel;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button7Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}
//WordÎļþ´æÅÌ
procedure TForm1.Button1Click(Sender: TObject);
var MemSize: Integer;
Buffer: PChar;
MyFile: TFileStream;
Stream: TBlobStream;
begin
OpenDialog1.Filter:='WORDÎļþ|*.doc';
if OpenDialog1.Execute then begin
MyFile:=TFileStream.Create(OpenDialog1. FileName,fmOpenRead);
with table1 do
begin
Open;
insert;
table1.FieldByName('ÎļþÃû³Æ').asstring:=opendialog1.filename;//'Îļþ'+inttostr(table1.RecordCount+1);
Edit;
Stream := TBlobStream.Create(FieldByName('ÄÚÈÝ') as TBlobField, bmWrite);
MemSize := MyFile.Size;
Inc(MemSize);
Buffer := AllocMem(MemSize);
try
Stream.Seek(0, soFromBeginning);
MyFile.Read(Buffer^,MemSize);
Stream.Write(Buffer^,MemSize);
finally
MyFile.Free;
Stream.Free;
end;
try
Post;
except
raise;
end;
end;
olecontainer1.CreateObjectFromFile(OpenDialog1. FileName ,False);
olecontainer1.Run;
label1.caption:=inttostr(table1.RecordCount);
end;
end;
//´ÓÊý¾Ý¿âÖжÁÈ¡WordÎļþ´æÅÌ
procedure TForm1.Button2Click(Sender: TObject);
var
MemSize: Integer;
Buffer: PChar;
MyFile: TFileStream;
Stream: TBlobStream;
begin
//´´½¨Ò»¸öÁÙʱÎļþ
MyFile:=TFileStream.Create('c:\temp.tmp',fmCreate);
with table1 do
begin
Stream := TBlobStream.Create(FieldByName('ÄÚÈÝ') as TBlobField, bmRead);
MemSize := Stream.Size;
Inc(MemSize);
Buffer := AllocMem(MemSize);
try
Stream.Read(Buffer^,MemSize);
//´Ó±äÁ¿StreamÖжÁÈ¡ÄÚÈÝ£¬´æÈëÁÙʱÎļþ¶ÔÓ¦µÄ±äÁ¿MyFileÖÐ
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');
olecontainer1.CreateObjectFromFile('c:\temp.DOC',False);
label3.Caption:=table1.fieldbyname('ÎļþÃû³Æ').AsString;
olecontainer1.Run;
end;
end;//³ÌÐò³õʼ»¯²ÎÊýÉèÖÃ
procedure TForm1.FormActivate(Sender: TObject);
begin
table1.DatabaseName:=ExtractFilePath(Paramstr(0));
table1.TableName:='wj.db';
table1.open;
label1.caption:=inttostr(table1.RecordCount);
label3.Caption:='';
end;procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
table1.Close;
end;
//Êý¾Ý¿â¼Ç¼ÏÂÒÆ
procedure TForm1.Button3Click(Sender: TObject);
begin
table1.Next;
button2.Click;
end;
//Êý¾Ý¿â¼Ç¼ÉÏÒÆ
procedure TForm1.Button4Click(Sender: TObject);
begin
table1.RecNo:=table1.RecNo-1;;
button2.Click;
end;procedure TForm1.Button5Click(Sender: TObject);
begin
olecontainer1.Close;
end;
//½«Êý¾Ý¿âÎļþ±£´æ³öÀ´
procedure TForm1.Button7Click(Sender: TObject);
begin
saveDialog1.Filter:='WORDÎļþ|*.doc';
if label3.caption<>'' then
begin
savedialog1.FileName:=table1.fieldbyname('ÎļþÃû³Æ').AsString;
savedialog1.Execute;
copyfile('c:\temp.doc',pchar(savedialog1.FileName+'.doc'),true);
end
else
showmessage('δ´ÓÊý¾Ý¿âÖжÁÈ¡Îļþ!');
end;procedure TForm1.Button6Click(Sender: TObject);
begin
close;
end;end.