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

📄 unit1.pas

📁 DELPHI实现试题库出卷系统Word文档考卷的输出内含DELPHI实现源码
💻 PAS
字号:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Menus, Word97, OleServer, Word2000, ComCtrls, DB, ADODB,
  StdCtrls, Buttons, Grids, DBGrids;

type
  TForm1 = class(TForm)
    MainMenu1: TMainMenu;
    comeout: TMenuItem;
    manage: TMenuItem;
    WordApplication1: TWordApplication;
    exitsystem: TMenuItem;
    StatusBar1: TStatusBar;
    WordDocument1: TWordDocument;
    closedialog: TBitBtn;
    WordFont1: TWordFont;
    ADOQuery1: TADOQuery;
    savedialog: TMenuItem;
    opendialog: TMenuItem;
    ADOQuery2: TADOQuery;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    BitBtn1: TBitBtn;
    DateTimePicker1: TDateTimePicker;
    richedit1: TRichEdit;
    richedit2: TRichEdit;
    OpenDialog1: TOpenDialog;
    ADOQuery1test_id: TWideStringField;
    ADOQuery1type_id: TWideStringField;
    ADOQuery1test: TMemoField;
    ADOQuery1answer: TMemoField;
    ADOQuery1zhishidian_id: TWideStringField;
    ADOQuery1nd_id: TWideStringField;
    ADOQuery2type_id: TWideStringField;
    procedure exitsystemClick(Sender: TObject);
    procedure closedialogClick(Sender: TObject);
    procedure savedialogClick(Sender: TObject);
    procedure opendialogClick(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation
uses datamod;
{$R *.dfm}
procedure TForm1.exitsystemClick(Sender: TObject);
begin
close;
end;

procedure TForm1.closedialogClick(Sender: TObject);
var SaveChanges, OriginalFormat, RouteDocument:olevariant;
begin
  SaveChanges:=wdSaveChanges;
  OriginalFormat:=wdOriginalDocumentFormat;
  RouteDocument:=false;
  WordApplication1.Documents.Close(SaveChanges, OriginalFormat, RouteDocument) ;
end;

procedure TForm1.opendialogClick(Sender: TObject);
var ItemIndex,FileName, ConfirmConversions, wReadOnly, AddToRecentFiles, PasswordDocument,passwordtemplate,  WRevert, WritePasswordDocument,WritePasswordtemplate,  WFormat, WEncoding, WVisible:Olevariant;
begin
  if not OpenDialog1.Execute then abort;
  Filename:=Opendialog1.FileName ;
  ConfirmConversions :=true;
  WReadOnly:=false;
  AddToRecentFiles:=true;
  PasswordDocument:='';
  passwordtemplate:='';
  WRevert:=False;
  WritePasswordDocument:='';
  WritePasswordtemplate:='';
  WFormat:=0;
  WEncoding:=EmptyParam;
  WVisible:=true;
  ItemIndex:=1;
try
    WordApplication1.Connect ;
  except
    Application.MessageBox('不能打开WORD文档!确认是否安装WORD。','提示:',MB_OK);
    abort;
  end;
  wordapplication1.Visible :=true;
  Wordapplication1.Documents.Open(FileName, ConfirmConversions, WReadOnly, AddToRecentFiles, PasswordDocument,passwordtemplate,  WRevert, WritePasswordDocument,WritePasswordtemplate,  WFormat, WEncoding, WVisible);
  worddocument1.ConnectTo(wordapplication1.Documents.Item(itemindex));
end;

procedure TForm1.savedialogClick(Sender: TObject);
var NoPrompt, OriginalFormat:olevariant;
begin
  NoPrompt:=false;
  OriginalFormat:=0;
  Wordapplication1.Documents.Save(NoPrompt,OriginalFormat);
end;


procedure TForm1.BitBtn1Click(Sender: TObject);
 var Template,NewTemplate,itemindex,DocumentType,visible:OleVariant;
    NumRows, NumColumns, DefaultTableBehavior, AutoFitBehavior:olevariant;
    sstart,send,paraindex:olevariant;
    i:integer ;
    j:integer;
    txindex:integer;
    shitiindex:integer;
begin
 template:=emptyparam;
 newtemplate:=false;
 visible:=false;
 documenttype:=0;
 itemindex:=1;
 sstart:=0;
 Send:=0;
 NumRows:=2;
 NumColumns:=3;
 DefaultTableBehavior:=0;
 AutoFitBehavior:=0;
 txindex:=0;
 shitiindex:=0;
 paraindex:=0;
 try
   wordapplication1.Connect;
 except
   application.MessageBox('不能新建WORD文档!确认是否安装WORD。','提示:',mb_ok);
   abort;
 end;
  if trim(richedit1.Text)='' then
  showmessage('请输入插入的内容!' )
  else
    begin
    wordapplication1.Visible:=false;
    wordapplication1.Documents.Add(Template,newtemplate,documenttype,visible);
    //worddocument1.Sections.Item(1).footers.Item(1).Range.Text  :='第一页';
    worddocument1.Range.Insertafter(trim(richedit1.Text)+#13);
    worddocument1.Range.Insertafter(trim(richedit2.Text)+#13);
   // worddocument1.Range.Insertafter(datetimepicker1.)
    //worddocument1.Range.ParagraphFormat.Alignment:=wdalignparagraphcenter;
    WordDocument1.Tables.add(worddocument1.Range(sstart,send), NumRows, NumColumns, DefaultTableBehavior, AutoFitBehavior);
    worddocument1.Range.Font.Size:=14;
 ADOQuery2.Close;
 ADOQuery2.SQL.Clear;
 ADOQuery2.SQL.Add('select distinct type_id from test ');
 ADOQuery2.Open;
 for i:=0 to adoquery2.RecordCount-1 do
 begin
  txindex:=txindex+1;
  //WordDocument1.Range.InsertAfter(inttostr(txindex)+'、'+Adoquery2.FieldValues['shitilxname'] );
  //WordDocument1.Paragraphs.Add(paraindex);
  ADOQuery1.Close;
  ADOQuery1.SQL.Clear;
  ADOQuery1.SQL.Add('select * from test where type_id='''+adoquery2.FieldValues['type_id'] +'''');
  ADOQuery1.Open;
  shitiindex:=0;
  for j:=0 to adoquery1.RecordCount-1 do
  begin
     shitiindex:=shitiindex+1;
     WordDocument1.Range.InsertAfter(inttostr(shitiindex)+'、'+Adoquery1.FieldValues['test']+#13 );
     adoquery1.Next;
  end;
  adoquery2.Next;
 end;
 wordapplication1.Visible:=true;
    end;
end;

end.



⌨️ 快捷键说明

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