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

📄 mc_bgswd.pas

📁 这是用Delphi编写的小区物业管理系统
💻 PAS
字号:
unit MC_BGSWD;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  Db, DBTables, StdCtrls, DBCtrls, Mask, ExtCtrls, ComCtrls, Buttons,
  Word97, OleServer,CLipbrd, Word2000;

type
  TBGSWD = class(TForm)
    Table1: TTable;
    Table1BDEDesigner: TIntegerField;
    Table1BDEDesigner2: TStringField;
    Table1BDEDesigner3: TStringField;
    Table1BDEDesigner4: TDateTimeField;
    Table1BDEDesigner5: TMemoField;
    DataSource1: TDataSource;
    GroupBox1: TGroupBox;
    DBMemo1: TDBMemo;
    Panel1: TPanel;
    DBEdit2: TDBEdit;
    Label2: TLabel;
    DBEdit3: TDBEdit;
    Label3: TLabel;
    Label1: TLabel;
    DateTimePicker1: TDateTimePicker;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    BitBtn3: TBitBtn;
    BitBtn4: TBitBtn;
    DBNavigator1: TDBNavigator;
    Query1: TQuery;
    WordApplication1: TWordApplication;
    WordDocument1: TWordDocument;
    BitBtn5: TBitBtn;
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormShow(Sender: TObject);
    procedure BitBtn3Click(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure DBNavigator1Click(Sender: TObject; Button: TNavigateBtn);
    procedure BitBtn4Click(Sender: TObject);
    procedure DBEdit2KeyPress(Sender: TObject; var Key: Char);

    procedure BitBtn5Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  BGSWD: TBGSWD;

implementation

uses MC_WDLL, MC_MainForm;

{$R *.DFM}

procedure TBGSWD.FormShow(Sender: TObject);  //判断操作员操作权限
begin
If Table1.RecordCount <> 0 Then
begin
   DateTimePicker1.DateTime:=Table1.FieldByName('起草日期').AsDateTime;
end;
if MainForm.Query1.Locate('使用选项','办公室文档管理',[loCaseInsensitive]) then
begin
  if MainForm.Query1.FieldByName('读写').AsString='读' then
  begin
    BitBtn1.Enabled:=False;
    BitBtn2.Enabled:=False;
    BitBtn3.Enabled:=False;
  end;
end;

end;

procedure TBGSWD.BitBtn3Click(Sender: TObject);    //删除文档
begin
   If Table1.RecordCount <> 0 Then
   if MessageDLG('是否删除选中文档?' ,mtCustom,[mbYes,mbNo],0)=mrYes then Table1.Delete;
end;

procedure TBGSWD.BitBtn1Click(Sender: TObject);   //添加或保存操作
begin
  if BitBtn1.Caption='添加新文档[&I]' then  //添加新文档操作
  begin
    Table1.Append;    //添加一条新记录
    Query1.Close;
    Query1.Open;
    BitBtn1.Caption:='保存新文档[&S]';
    BitBtn2.Caption:='取消保存文档[&U]';
    Table1.FieldByName('文档编号').AsInteger:=Query1.Fields[0].AsInteger+1;
    Panel1.Enabled:=True;
    GroupBox1.Enabled:=True;
    DbNavigator1.Enabled:=False;
    BitBtn3.Enabled:=False;
    BitBtn4.Enabled:=False;
    DBEdit2.SetFocus;
  End
  Else   //保存操作
  begin
    if Length(Table1.FieldByName('文档标题').AsString)=0 then     //如果文档标题为空,提示
    begin
      ShowMessage('请输入文档标题.');
      DBEdit2.SetFocus;
    End
    Else   //保存文档添加或修改
    begin
      BitBtn1.Caption:='添加新文档[&I]';
      BitBtn2.Caption:='编辑文档[&E]';
      BitBtn3.Enabled:=True;
      BitBtn4.Enabled:=True;
      Panel1.Enabled:=False;
      GroupBox1.Enabled:=False;
      DbNavigator1.Enabled:=True;
      Table1.FieldByName('起草日期').AsDateTime:=DateTimePicker1.Date;
      Table1.Post;  //提交保存
    end;
  end;
end;

procedure TBGSWD.BitBtn2Click(Sender: TObject);   //编辑或取消文档
begin
  if BitBtn2.Caption='编辑文档[&E]' then     //编辑文档
  begin
   If Table1.RecordCount <> 0 Then   //如果数据不为空
   begin
   Table1.Edit;   //编辑文档
   BitBtn1.Caption:='保存新文档[&S]';
   BitBtn2.Caption:='取消保存文档[&U]';
   Panel1.Enabled:=True;
   GroupBox1.Enabled:=True;
   DbNavigator1.Enabled:=False;
   BitBtn3.Enabled:=False;
   BitBtn4.Enabled:=False;
   DBEdit2.SetFocus;
   end;
  End
  Else   //取消操作
  begin
   BitBtn1.Caption:='添加新文档[&I]';
   BitBtn2.Caption:='编辑文档[&E]';
   BitBtn3.Enabled:=True;
   BitBtn4.Enabled:=True;
   Panel1.Enabled:=False;
   GroupBox1.Enabled:=False;
   DbNavigator1.Enabled:=True;
   Table1.Cancel;
  end;
end;

procedure TBGSWD.DBNavigator1Click(Sender: TObject; Button: TNavigateBtn);
begin
If Table1.RecordCount <> 0 Then
begin
     DateTimePicker1.DateTime:=Table1.FieldByName('起草日期').AsDateTime;
end;
end;

procedure TBGSWD.BitBtn4Click(Sender: TObject);  //调入浏览文档窗口
begin
If Not Assigned(WDLL) Then
begin
     WDLL:=TWDLL.Create(Self);
     WDLL.ShowModal;
end;
end;

procedure TBGSWD.DBEdit2KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then PerForm(WM_NEXTDLGCTL,0,0);
end;

procedure TBGSWD.BitBtn5Click(Sender: TObject);    //导出文档到WORD
var TempLate,NewTemplate,ItemIndex: OLEVariant;
a,b:integer;
begin
Try
 WordApplication1.Quit;
 WordApplication1.Disconnect;
 NewTemplate:=True;
 WordApplication1.Connect;
 WordApplication1.Caption:=Table1.FieldByName('文档标题').AsString;
 WordApplication1.Visible:=True;
 WordDocument1.Range.InsertAfter(' '+#13);
 WordDocument1.Range.InsertAfter(Table1.FieldByname('文档标题').AsString+#13);
 WordDocument1.Range.InsertAfter(''+#13);
 For a:=0 to DBMemo1.Lines.Count-1 do
 begin
      WordDocument1.Range.InsertAfter((DBMemo1.Lines.Strings[a])+#13);
 end;
 WordDocument1.Range.InsertAfter(''+#13);
 WordDocument1.Range.InsertAfter(Table1.FieldByName('起草日期').AsString+#13);
 WordDocument1.Range.InsertAfter(''+#13);
 WordDocument1.Range.InsertAfter(Table1.FieldByName('起草人').AsString+#13);
Except
 ShowMessage('连接Word异常');
End;
end;
procedure TBGSWD.FormClose(Sender: TObject; var Action: TCloseAction);
begin
 BGSWD.Release;
 BGSWD:=Nil;
end;
end.

⌨️ 快捷键说明

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