📄 umain.pas
字号:
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 + -