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

📄 umain.pas

📁 准考证管理系统的设计与实现
💻 PAS
📖 第 1 页 / 共 2 页
字号:
unit Umain;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ComCtrls, StdCtrls, DB, ADODB, Grids, DBGrids, ExtCtrls,
  DBCtrls, Mask, ExtDlgs, ComObj;

type
  TForm1 = class(TForm)
    ADOConnection1: TADOConnection;
    PageControl1: TPageControl;
    Label1: TLabel;
    TabSheet1: TTabSheet;
    TabSheet2: TTabSheet;
    TabSheet3: TTabSheet;
    TabSheet4: TTabSheet;
    TabSheet5: TTabSheet;
    TabSheet6: TTabSheet;
    TabSheet7: TTabSheet;
    TabSheet8: TTabSheet;
    bntexit: TButton;
    ADOTable1: TADOTable;
    DataSource1: TDataSource;
    DBGrid1: TDBGrid;
    Panel1: TPanel;
    Panelbnt: TPanel;
    Labphoto: TLabel;
    Label2: TLabel;
    bntDC: TButton;
    bntout: TButton;
    bntphoto: TButton;
    bntaddphoto: TButton;
    bntdelphoto: TButton;
    ADOTable1DSDesigner: TAutoIncField;
    ADOTable1DSDesigner2: TWideStringField;
    ADOTable1DSDesigner3: TWideStringField;
    ADOTable1DSDesigner4: TWideStringField;
    ADOTable1DSDesigner5: TWideStringField;
    ADOTable1DSDesigner6: TWideStringField;
    ADOTable1DSDesigner7: TWideStringField;
    ADOTable1DSDesigner8: TWideStringField;
    ADOTable1DSDesigner9: TWideStringField;
    ADOTable1DSDesigner10: TWideStringField;
    ADOTable1DSDesigner11: TWideStringField;
    ADOTable1DSDesigner12: TWideStringField;
    ADOTable1DSDesigner13: TWideStringField;
    Panel2: TPanel;
    Label3: TLabel;
    DBEdit1: TDBEdit;
    Label4: TLabel;
    DBEdit2: TDBEdit;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    DBComboBoxsex: TDBComboBox;
    DBComboBoxyx: TDBComboBox;
    DBComboBoxclass: TDBComboBox;
    bntfirst: TButton;
    bntprior: TButton;
    bntnext: TButton;
    bntlast: TButton;
    bntadd: TButton;
    bntdel: TButton;
    bntsave: TButton;
    OpenPictureDialog1: TOpenPictureDialog;
    Image1: TImage;
    Label26: TLabel;
    Label25: TLabel;
    editfirstpart: TEdit;
    edittowpart: TEdit;
    bntautozkz: TButton;
    bntzkzhfirst: TButton;
    bntzkzhpiort: TButton;
    bntzkzhnext: TButton;
    bntzkzhlast: TButton;
    DBGrid2: TDBGrid;
    ADOTable2: TADOTable;
    DataSource2: TDataSource;
    DBGrid3: TDBGrid;
    GroupBox1: TGroupBox;
    Label8: TLabel;
    DBEdit3: TDBEdit;
    Label9: TLabel;
    DBEdit4: TDBEdit;
    Label10: TLabel;
    DBEdit5: TDBEdit;
    GroupBox2: TGroupBox;
    ADOTable2DSDesigner2: TWideStringField;
    ADOTable2DSDesigner3: TWideStringField;
    ADOTable2DSDesigner4: TIntegerField;
    ADOTable3: TADOTable;
    DataSource3: TDataSource;
    bntkcfirst: TButton;
    bntkcpoirt: TButton;
    bntkcnext: TButton;
    bntkclast: TButton;
    bntkcinsert: TButton;
    bntkcsave: TButton;
    bntkcdel: TButton;
    Button1: TButton;
    Button2: TButton;
    ADOTable3DSDesigner: TIntegerField;
    ADOTable3DSDesigner2: TWideStringField;
    Label11: TLabel;
    DBEdit6: TDBEdit;
    Label12: TLabel;
    DBEdit7: TDBEdit;
    DBGrid4: TDBGrid;
    DBGrid5: TDBGrid;
    ADOTable2DSDesigner: TAutoIncField;
    ADOTable2DSDesigner5: TWideStringField;
    ADOTable2DSDesigner6: TWideStringField;
    ADOTable2DSDesigner7: TWideStringField;
    Button3: TButton;
    ADOTable3DSDesigner3: TWideStringField;
    Label13: TLabel;
    DBComboBox1: TDBComboBox;
    ADOTable4: TADOTable;
    DataSource4: TDataSource;
    ADOTable4DSDesigner: TAutoIncField;
    ADOTable4DSDesigner2: TMemoField;
    Label14: TLabel;
    DBMemo1: TDBMemo;
    bntksxz: TButton;
    TabSheet10: TTabSheet;
    Label15: TLabel;
    Label16: TLabel;
    Label18: TLabel;
    Label17: TLabel;
    DBGrid6: TDBGrid;
    GroupBox3: TGroupBox;
    GroupBox4: TGroupBox;
    Button4: TButton;
    Button5: TButton;
    Button6: TButton;
    Button7: TButton;
    Label19: TLabel;
    DBEdit8: TDBEdit;
    Label20: TLabel;
    DBEdit9: TDBEdit;
    Label21: TLabel;
    DBEdit10: TDBEdit;
    Label22: TLabel;
    DBEdit11: TDBEdit;
    Label23: TLabel;
    DBEdit12: TDBEdit;
    Label24: TLabel;
    DBEdit13: TDBEdit;
    Label27: TLabel;
    DBEdit14: TDBEdit;
    Label28: TLabel;
    DBEdit15: TDBEdit;
    Label29: TLabel;
    DBEdit16: TDBEdit;
    Label30: TLabel;
    DBEdit17: TDBEdit;
    Label31: TLabel;
    DBEdit18: TDBEdit;
    Label32: TLabel;
    Image2: TImage;
    Button8: TButton;
    Button9: TButton;
    Button10: TButton;
    Button11: TButton;
    Label33: TLabel;
    Label34: TLabel;
    Label35: TLabel;
    Edit1: TEdit;
    GroupBox5: TGroupBox;
    ADOTable5: TADOTable;
    DataSource5: TDataSource;
    DBGrid7: TDBGrid;
    OpenDialog1: TOpenDialog;
    bntopenexcel: TButton;
    Button12: TButton;
    GroupBox6: TGroupBox;
    bntopenaccess: TButton;
    DBGrid9: TDBGrid;
    Edit2: TEdit;
    Edit3: TEdit;
    DBGrid8: TDBGrid;
    DataSource6: TDataSource;
    ListBox1: TListBox;
    Label36: TLabel;
    ADOConnection2: TADOConnection;
    ADOTable6: TADOTable;
    bntinputaccess: TButton;
    Edit4: TEdit;
    Edit5: TEdit;
    Edit6: TEdit;
    Edit7: TEdit;
    Button13: TButton;
    Button14: TButton;
    Button15: TButton;
    btnPrintZhuanKaoZheng: TButton;
    sgZhuanKaoZheng: TSaveDialog;
    procedure bntexitClick(Sender: TObject);
    procedure bntfirstClick(Sender: TObject);
    procedure bntpriorClick(Sender: TObject);
    procedure bntnextClick(Sender: TObject);
    procedure bntlastClick(Sender: TObject);
    procedure bntaddClick(Sender: TObject);
    procedure bntdelClick(Sender: TObject);
    procedure bntsaveClick(Sender: TObject);
    procedure bntDCClick(Sender: TObject);
    procedure bntoutClick(Sender: TObject);
    procedure bntaddphotoClick(Sender: TObject);
    procedure bntdelphotoClick(Sender: TObject);
    procedure bntphotoClick(Sender: TObject);
    procedure ADOTable1AfterScroll(DataSet: TDataSet);
    procedure bntautozkzClick(Sender: TObject);
    procedure bntkcfirstClick(Sender: TObject);
    procedure bntkcpoirtClick(Sender: TObject);
    procedure bntkcnextClick(Sender: TObject);
    procedure bntkclastClick(Sender: TObject);
    procedure bntkcinsertClick(Sender: TObject);
    procedure bntkcdelClick(Sender: TObject);
    procedure bntkcsaveClick(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure bntksxzClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure Button8Click(Sender: TObject);
    procedure Button9Click(Sender: TObject);
    procedure Button10Click(Sender: TObject);
    procedure Button11Click(Sender: TObject);
    procedure bntopenexcelClick(Sender: TObject);
    procedure Button12Click(Sender: TObject);
    procedure bntopenaccessClick(Sender: TObject);
    procedure bntinputaccessClick(Sender: TObject);
    procedure Button13Click(Sender: TObject);
    procedure Button14Click(Sender: TObject);
    procedure Button15Click(Sender: TObject);
    procedure btnPrintZhuanKaoZhengClick(Sender: TObject);
 //   procedure ShowPhoto(filephoto:string);
  private
   hWndC : THandle;
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
const WM_CAP_START = WM_USER;
const WM_CAP_STOP = WM_CAP_START + 68;
const WM_CAP_DRIVER_CONNECT = WM_CAP_START + 10;
const WM_CAP_DRIVER_DISCONNECT = WM_CAP_START + 11;
const WM_CAP_SAVEDIB = WM_CAP_START + 25;
const WM_CAP_GRAB_FRAME = WM_CAP_START + 60;
const WM_CAP_SEQUENCE = WM_CAP_START + 62;
const WM_CAP_FILE_SET_CAPTURE_FILEA = WM_CAP_START + 20;
const WM_CAP_SEQUENCE_NOFILE =WM_CAP_START+ 63;
const WM_CAP_SET_OVERLAY =WM_CAP_START+ 51;
const WM_CAP_SET_PREVIEW =WM_CAP_START+ 50;
const WM_CAP_SET_CALLBACK_VIDEOSTREAM = WM_CAP_START +6;
const WM_CAP_SET_CALLBACK_ERROR=WM_CAP_START +2;
const WM_CAP_SET_CALLBACK_STATUSA= WM_CAP_START +3;
const WM_CAP_SET_CALLBACK_FRAME= WM_CAP_START +5;
const WM_CAP_SET_SCALE=WM_CAP_START+ 53;
const WM_CAP_SET_PREVIEWRATE=WM_CAP_START+ 52;

function capCreateCaptureWindowA(lpszWindowName : PCHAR;
dwStyle : longint;x : integer;y : integer;nWidth : integer;
nHeight : integer;ParentWin : HWND;nId : integer): HWND;
STDCALL EXTERNAL 'AVICAP32.DLL';

implementation

{$R *.dfm}
procedure TForm1.bntexitClick(Sender: TObject);
begin
close;
end;

procedure TForm1.bntfirstClick(Sender: TObject);
begin
adotable1.First;
end;

procedure TForm1.bntpriorClick(Sender: TObject);
begin
if not adotable1.Bof then
adotable1.Prior;
end;

procedure TForm1.bntnextClick(Sender: TObject);
begin
if not adotable1.Eof then
adotable1.Next;
end;

procedure TForm1.bntlastClick(Sender: TObject);
begin
adotable1.Last;
end;

procedure TForm1.bntaddClick(Sender: TObject);
begin
adotable1.Insert;
end;

procedure TForm1.bntdelClick(Sender: TObject);
begin
adotable1.Delete;
end;

procedure TForm1.bntsaveClick(Sender: TObject);
begin
if adotable1.State in [dsinsert,dsedit] then
   adotable1.Post;
end;

procedure TForm1.bntDCClick(Sender: TObject);
begin
  hWndC := capCreateCaptureWindowA('My Own Capture Window',WS_CHILD or WS_VISIBLE ,0,0,Panel1.Width,Panel1.Height,Panel1.Handle,0);
  if hWndC <> 0 then
  begin
    SendMessage(hWndC, WM_CAP_SET_CALLBACK_VIDEOSTREAM, 0, 0);
    SendMessage(hWndC, WM_CAP_SET_CALLBACK_ERROR, 0, 0);
    SendMessage(hWndC, WM_CAP_SET_CALLBACK_STATUSA, 0, 0);
    SendMessage(hWndC, WM_CAP_DRIVER_CONNECT, 0, 0);
    SendMessage(hWndC, WM_CAP_SET_SCALE, 1, 0);
    SendMessage(hWndC, WM_CAP_SET_PREVIEWRATE, 66, 0);
    SendMessage(hWndC, WM_CAP_SET_OVERLAY, 1, 0);
    SendMessage(hWndC, WM_CAP_SET_PREVIEW, 1, 0);
  end;

end;

procedure TForm1.bntoutClick(Sender: TObject);
begin
if hWndC <> 0 then
  begin
    SendMessage(hWndC, WM_CAP_DRIVER_DISCONNECT, 0, 0);
    SendMessage(hWndC,WM_CLOSE,0,0);
    hWndC := 0;
  end
end;

procedure TForm1.bntaddphotoClick(Sender: TObject);
var
filename:string;
classname:string;
begin
if OpenPictureDialog1.Execute then
  begin
    filename:=ADOTable1.FieldByName('学号').AsString+ADOTable1.FieldByName('姓名').AsString+'.bmp';
    ClassName:=ADOTable1.FieldByName('班级').AsString;
    if not DirectoryExists(ClassName) then
     begin
     CreateDirectory(PChar(ExtractFilePath(ParamStr(0))+'\photo\'+classname),nil);
     end;
       ADOTable1.Edit;
       //PChar(ExtractFilePath(ParamStr(0))) 获得当前的路径
       //PChar(ExtractFilePath(ParamStr(0))+'\photo\'+classname)+'\'+FileName 指定存放的目录
       copyfile(PChar(openpicturedialog1.FileName),PChar(PChar(ExtractFilePath(ParamStr(0))+'\photo\'+classname)+'\'+FileName),True);
       ADOTable1['相片']:=FileName;
       adotable1.Post;
 end;
    
end;

procedure TForm1.bntdelphotoClick(Sender: TObject);
var
filename:string;
classname:string;
begin
filename:=adotable1.fieldbyname('相片').AsString;
classname:=adotable1.fieldbyname('班级').AsString;
DeleteFile(PChar(PChar(ExtractFilePath(ParamStr(0))+'\photo\'+classname)+'\'+FileName));
adotable1.Edit;
adotable1.FieldByName('相片').AsString:='';
adotable1.Post;
end;

procedure TForm1.bntphotoClick(Sender: TObject);
var
filename,classname,photodir:String;
begin
 if hWndC <> 0 then
   begin
   //保存时的目标文件名

⌨️ 快捷键说明

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