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

📄 unit1.pas

📁 本人原创(delphi程序设计提高与应用)源码。本实例利用ADO组件与Access数据库连接
💻 PAS
字号:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, DB, ADODB, StdCtrls, Grids, DBGrids, ExtCtrls, DBCtrls,Word2000;

type
  TForm1 = class(TForm)
    ADOConnection1: TADOConnection;
    ADOTable1: TADOTable;
    DBGrid1: TDBGrid;
    DataSource1: TDataSource;
    Button1: TButton;
    DBNavigator1: TDBNavigator;
    Button2: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation
uses
UnitWord, UnitExcel;
{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
a:array[0..MAX_PATH] OF char;
spath:string; //应用程序的路径
begin
Screen.Cursor:=crhourglass;   //置光标为工作状态
getcurrentdirectory(sizeof(a),a);  //取出应用程序的路径
spath:=strpas(a);
with FormWord do begin  //启用FormWord的方法
  Wordopen;          //连接Word应用程序,置为可视状态
  RunMacro('AppMinimize');  //运行宏命令,使Word窗口最小化
  DocOpen(spath+'\多媒体教室使用一览表.doc');  //打开预制的Word模版
  Gotobookmark('sx');   //将光标置于书签sx
  ADOTable1.First;      //将数据集的指针指向第一条记录
while not ADOTable1.Eof do begin   //将数据库中的数据填入报表
  Wtext(ADOTable1.FieldByName('ID').AsString); //填写ID字段中的数据
  MoveRight; //光标右移
  Wtext(ADOTable1.FieldByName('教室').AsString);MoveRight;
  Wtext(ADOTable1.FieldByName('课程名称').AsString);MoveRight;
  Wtext(ADOTable1.FieldByName('任课教师').AsString);MoveRight;
  Wtext(ADOTable1.FieldByName('班级').AsString);MoveRight;
  Wtext(ADOTable1.FieldByName('多媒体学时').AsString);MoveRight;
  RunMacro('Macro_J');  //运行宏命令,添加一行报表,并将光标指向该行
  ADOTable1.Next;      //将数据集的指针下移一条记录
end;
  ADOTable1.First;    //将数据集的指针指向第一条记录
  DocSaveAs('c:\多媒体教室使用一览表');  //将Word文档保存为指定的文件名
  {DocSaveAs('c:\多媒体教室使用一览表',wdFormatHTML); //将报表另存为html文档}
  Wordclose;          // 关闭Word,切断连接

end;
Screen.Cursor:=crdefault;   //光标恢复正常状态
end;

procedure TForm1.Button2Click(Sender: TObject);
var
n:integer;
begin
Screen.Cursor:=crhourglass;   //置光标为工作状态
with Formexcel do begin  //启用Formexcel的方法
  Excelopen;          //连接excel应用程序,置为可视状态
  NewXls;             //创建一个新的工作簿
  NewSheet('多媒体教室使用一览表'); // 添加一个名为“多媒体教室使用一览表”的工作表
  Wtext('顺序',1,1);     //填写表头
  Wtext('教室',1,2);
  Wtext('课程名称',1,3);
  Wtext('任课教师',1,4);
  Wtext('班级',1,5);
  Wtext('学时',1,6);
  ADOTable1.First;      //将数据集的指针指向第一条记录
  n:=1;                 //初始行设为1
while not ADOTable1.Eof do begin   //将数据库中的数据填入报表
  n:=n+1;               //行数加1
  Wtext(ADOTable1.FieldByName('ID').AsString,n,1); //填写ID字段中的数据写入第n行第1列单元格
  Wtext(ADOTable1.FieldByName('教室').AsString,n,2);
  Wtext(ADOTable1.FieldByName('课程名称').AsString,n,3);
  Wtext(ADOTable1.FieldByName('任课教师').AsString,n,4);
  Wtext(ADOTable1.FieldByName('班级').AsString,n,5);
  Wtext(ADOTable1.FieldByName('多媒体学时').AsString,n,6);
  ADOTable1.Next;      //将数据集的指针下移一条记录
end;
  ADOTable1.First;    //将数据集的指针指向第一条记录
  AutoCol;           //自动设置列宽
  XLSSaveAs('c:\多媒体教室使用一览表');  //将excel文档保存为指定的文件名
  ExcelClose;          // 关闭excel,切断连接

end;
Screen.Cursor:=crdefault;   //光标恢复正常状态
end;

end.

⌨️ 快捷键说明

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