⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 uword.pas

📁 青年文明号管理系统
💻 PAS
字号:
unit Uword;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, OleCtnrs, ToolWin, ComCtrls, dxExEdtr, ExtCtrls, dxCntner, dxTL,
  dxDBCtrl, dxDBGrid, Menus, ImgList,db,DBTables;
procedure ShowOle(doc:TOleContainer;Fieldname:string);
type
  TWord = class(TForm)
   Doc_ole: TOleContainer;
    MainMenu1: TMainMenu;
    N1: TMenuItem;
    N2: TMenuItem;
    CoolBar1: TCoolBar;
    ImageList1: TImageList;
    N3: TMenuItem;
    ToolBar2: TToolBar;
    ToolButton4: TToolButton;
    ToolButton1: TToolButton;
    ToolButton2: TToolButton;
    ToolButton3: TToolButton;
    ToolButton5: TToolButton;
    ToolButton6: TToolButton;
    OpenDialog1: TOpenDialog;
    ToolButton7: TToolButton;
    SB: TStatusBar;
    procedure FormShow(Sender: TObject);
    procedure ToolButton1Click(Sender: TObject);
    procedure N3Click(Sender: TObject);
    procedure ToolButton4Click(Sender: TObject);
    procedure ToolButton2Click(Sender: TObject);
    procedure ToolButton5Click(Sender: TObject);
    procedure ToolButton7Click(Sender: TObject);

  private
    { Private declarations }

  public
    { Public declarations }

  end;

var
  Word: TWord;

implementation

uses Udm, u_vardef;

{$R *.dfm}
procedure ShowOle(doc:TOleContainer;Fieldname:string);
var
b:tblobfield;
vsql:string;
vDwbh:string;
begin
//以文件形式保存在本地
  if dm.v_sbb.RecordCount=0 then exit;
  vDwbh:=dm.v_sbb['dwbh'];
  Fname:=gdir()+'\doc\'+vDwbh+Fieldname;
  doc.Close;
  if FileExists(Fname) then
     doc.CreateObjectFromFile(Fname,false)
  else
     doc.CreateObjectFromFile(gdir()+'\temp.doc',false);
  doc.Run;
  doc.DoVerb(1);


{  Fname:=gdir()+'\tmp.doc';
  vsql:='select dwbh,'+Fieldname +' from t_sbb where dwbh='''+dm.v_sbb['dwbh']+'''';
  dm.tmp.SQL.Clear;
  dm.tmp.SQL.Text:=vsql;
  dm.tmp.Open;
  tblobfield(dm.tmp.FieldByName(Fieldname)).SaveToFile(Fname);
  if getfilelong(fname)=0 then //如果数据库中无则生成空文件
     doc.CreateObjectFromFile(gdir()+'\temp.doc',false)
  else
     doc.CreateObjectFromFile(Fname,false);
  doc.Run;
  doc.DoVerb(1);}
end;

procedure TWord.FormShow(Sender: TObject);
var
b:tblobfield;
ms:tmemorystream;
vsql:string;
Fname:string;
begin////////读取doc
  {Fname:=gdir()+'\tmp.doc';
  ms:=tmemorystream.Create;
  ms.Clear;
  vsql:='select dwbh,ldxz from t_sbb where dwbh='''+dm.v_sbb['dwbh']+'''';
  dm.tmp.SQL.Text:=vsql;
  dm.tmp.Open;
  tblobfield(dm.tmp.FieldByName('ldxz')).SaveToFile(Fname);
  //tblobfield(dm.tmp.FieldByName('doc')).SaveToStream(ms);
  Doc_ole.CreateObjectFromFile(Fname,false);
  Doc_ole.Run;}

end;


procedure TWord.ToolButton1Click(Sender: TObject);
begin
showmessage('保存');
end;

procedure TWord.N3Click(Sender: TObject);
begin
close;
end;

procedure TWord.ToolButton4Click(Sender: TObject);
var
b:tblobfield;
ms:tmemorystream;
vsql:string;
begin
try
  doc_ole.SaveAsDocument(Fname);
  showmSG('保存成功');
except
on e:exception do
  showmessage(e.Message);
end;

{ //showmessage('保存');
 ms:=tmemorystream.Create;
 //b:=tblobfield.Create(b);
 //Doc_ole.SaveAsDocument('d:\xfh\temp.doc');
  //Doc_ole.SaveToStream(ms);
 // b.LoadFromStream(ms);
 fname:=gdir()+'\temp.doc';
  Doc_ole.SaveAsDocument(fname);
  //b.LoadFromFile('d:\xfh\temp.doc');
  vsql:='select dwbh,ldxz from t_sbb where dwbh='''+dm.v_sbb['dwbh']+'''';
  dm.tmp.SQL.Text:=vsql;
  dm.tmp.Open;
  dm.tmp.Edit;
  tblobfield(dm.tmp.FieldByName('ldxz')).LoadFromFile(fname);
// dm.tmp.Parameters.ParamByName('doc').Assign(b);
try
  dm.tmp.Post;
  showmessage('保存成功');
except
on e:exception do
  showmessage(e.Message);
end;
  //dm.tmp.ExecSQL; }


end;

procedure TWord.ToolButton2Click(Sender: TObject);
begin
close;
end;

procedure TWord.ToolButton5Click(Sender: TObject);
begin
  OpenDialog1.Filter:='WORD文档(*.DOC)|*.DOC';{从对话窗选择文件}
  if OpenDialog1.Execute then begin
    Doc_ole.CreateObjectFromFile
(   OpenDialog1.FileName,False);
    Doc_ole.Run;{Doc_ole为ToleContainer构件名}
    Doc_ole.DoVerb(1);
  end;
end;

procedure TWord.ToolButton7Click(Sender: TObject);
{var
b:tblobfield;
vsql:string;
Fname:string;}
begin         {
  if dm.v_sbb.RecordCount=0 then exit;
  Fname:=gdir()+'\tmp.doc';
  vsql:='select dwbh,ldxz from t_sbb where dwbh='''+dm.v_sbb['dwbh']+'''';
  dm.tmp.SQL.Text:=vsql;
  dm.tmp.Open;
  tblobfield(dm.tmp.FieldByName('ldxz')).SaveToFile(Fname);
  if getfilelong(fname)=0 then //如果数据库中无则生成空文件
     Doc_ole.CreateObjectFromFile(gdir()+'\temp.doc',false)
  else
     Doc_ole.CreateObjectFromFile(Fname,false);
  Doc_ole.Run;
  Doc_ole.DoVerb(1);}
  word.Caption:='文档编辑->'+vtitle;
  ShowOle(Doc_ole,olename);
  word.WindowState:=wsNormal;
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -