📄 mainunit1.~pas
字号:
unit mainUnit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Menus, ComCtrls, StdCtrls, Mask, DBCtrls, Grids, DBGrids,
DBActns, ActnList, ExtCtrls, XPMenu, dxCntner, dxEditor, dxExEdtr,
dxEdLib, dxDBELib, DosMove;
type
TForm1 = class(TForm)
MainMenu1: TMainMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N5: TMenuItem;
N6: TMenuItem;
N7: TMenuItem;
N8: TMenuItem;
N9: TMenuItem;
PageControl1: TPageControl;
TabSheet1: TTabSheet;
TabSheet2: TTabSheet;
GroupBox1: TGroupBox;
Label1: TLabel;
Label9: TLabel;
Label11: TLabel;
Label2: TLabel;
Label6: TLabel;
Label7: TLabel;
Label3: TLabel;
Label10: TLabel;
Label8: TLabel;
Label4: TLabel;
Label5: TLabel;
DBEdit9: TDBEdit;
DBEdit1: TDBEdit;
DBEdit6: TDBEdit;
DBEdit2: TDBEdit;
DBEdit10: TDBEdit;
DBEdit7: TDBEdit;
DBEdit3: TDBEdit;
DBEdit8: TDBEdit;
GroupBox2: TGroupBox;
DBGrid1: TDBGrid;
GroupBox3: TGroupBox;
GroupBox4: TGroupBox;
DBGrid2: TDBGrid;
Edit1: TEdit;
Label12: TLabel;
Button1: TButton;
Button2: TButton;
ActionList1: TActionList;
DataSetFirst1: TDataSetFirst;
DataSetPrior1: TDataSetPrior;
DataSetNext1: TDataSetNext;
DataSetLast1: TDataSetLast;
DataSetInsert1: TDataSetInsert;
DataSetDelete1: TDataSetDelete;
DataSetEdit1: TDataSetEdit;
DataSetPost1: TDataSetPost;
DataSetCancel1: TDataSetCancel;
DataSetRefresh1: TDataSetRefresh;
Button3: TButton;
Button4: TButton;
Button5: TButton;
Button6: TButton;
Button7: TButton;
DBMemo1: TDBMemo;
Button8: TButton;
ComboBox1: TComboBox;
Label13: TLabel;
DBComboBox1: TDBComboBox;
dxDBDateEdit1: TdxDBDateEdit;
StatusBar1: TStatusBar;
Timer1: TTimer;
y1: TMenuItem;
N4: TMenuItem;
N12: TMenuItem;
N13: TMenuItem;
N14: TMenuItem;
XPMenu1: TXPMenu;
Button9: TButton;
Button10: TButton;
Button11: TButton;
Button12: TButton;
Button13: TButton;
Button14: TButton;
N10: TMenuItem;
DosMove1: TDosMove;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure Button2Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure N9Click(Sender: TObject);
procedure N6Click(Sender: TObject);
procedure N7Click(Sender: TObject);
procedure N4Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure N3Click(Sender: TObject);
procedure DataSetDelete1Execute(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure N12Click(Sender: TObject);
procedure N13Click(Sender: TObject);
procedure N14Click(Sender: TObject);
procedure N10Click(Sender: TObject);
procedure DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
procedure DBGrid2DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
uses unit1,unit2,Unit3,unit4,unit5,unit6;
{$R *.dfm}
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
//退出确认
if MessageBox(0, '真的要退出吗?', '提示', MB_OKCANCEL + MB_ICONQUESTION) =
IDOK then
begin
action := cafree;
loginform3.Close;
end
else
Action := caNone;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
//将查询结果清除并清除关键字
datamodule1.adodataset1.Active:=false;
edit1.Text:='';
end;
procedure TForm1.Button1Click(Sender: TObject);
var
str:String;
n,t,m,tmp,mp:string;
begin
n:=edit1.Text;
t:='''';
m:='%';
mp:='';
tmp:='学号';
//先关闭数据库连接
datamodule1.ADODataSet1.Active:=false;
if combobox1.Text='学号' then tmp:= '学号'
else if combobox1.Text='姓名' then tmp:= '姓名'
else if combobox1.Text='性别' then tmp:= '性别'
else if combobox1.Text='家庭地址' then tmp:= '家庭地址' ;
mp:=tmp;
str:='select * from address where '+mp+' like'+t+m+n+m+t;
datamodule1.ADODataSet1.CommandText:=str;
datamodule1.ADODataSet1.Active:=true;
if datamodule1.ADODataSet1.RecordCount=0 then
MessageBox(0, '没有找到你所查找的记录!', '提示', MB_OK +
MB_ICONINFORMATION);
end;
procedure TForm1.N9Click(Sender: TObject);
begin
//”关于“窗口显示
form2.Show;
end;
procedure TForm1.N6Click(Sender: TObject);
begin
//设置报表文件位置
datamodule1.frreport1.LoadFromFile('report\Untitled.frf');
//显示报表设计窗口
datamodule1.frreport1.DesignReport;
end;
procedure TForm1.N7Click(Sender: TObject);
begin
//设置报表文件位置
datamodule1.frreport1.LoadFromFile('report\Untitled.frf');
//打印当前数据库
datamodule1.frreport1.ShowReport;
end;
procedure TForm1.N4Click(Sender: TObject);
begin
form6.ShowModal;
end;
procedure TForm1.N2Click(Sender: TObject);
begin
//导出数据
if MessageBox(0, '确定要备份数据?', '提示', MB_OKCANCEL +
MB_ICONQUESTION) = IDOK then
begin
CopyFile(Pchar('address.mdb'),'back\address.mdb',true);
sleep(1200);//wait
MessageBox(0, '系统数据备份完成!', '提示', MB_OK + MB_ICONINFORMATION);
end;
end;
procedure TForm1.N3Click(Sender: TObject);
begin
//导入数据
if MessageDlg('该操作将不保留备份后输入的数据,真的要恢复吗?', mtConfirmation,
[mbYes, mbNo], 0) = mrYes then
begin
//将备份的文件复制并复盖当前的数据库文件
CopyFile('back\address.mdb',Pchar('address.mdb'),false);
sleep(1200);
MessageBox(0, '恢复系统数据完成!请重新启动本软件!谢谢!', '提示', MB_OK +
MB_ICONINFORMATION);
end;
end;
procedure TForm1.DataSetDelete1Execute(Sender: TObject);
begin
//删除确认
if MessageDlg('真的要删除吗?', mtConfirmation,
[mbYes, mbNo], 0) = mrYes then
datamodule1.ADOTable1.Delete;
if datamodule1.ADOTable1.RecordCount <= 0 then
showmessage('数据库中记录已经全部删除!');
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
//权限判断,如果不是管理员则某些功能不可用
if datamodule1.ADODataSet2['part'] = '教师' then
begin
mainmenu1.Items[0].Items[0].Enabled:=false;
mainmenu1.Items[0].Items[2].Enabled:=false;
end
else if (datamodule1.ADODataSet2['part'] = '其它用户') then
begin
mainmenu1.Items[0].Items[0].Enabled:=false;
mainmenu1.Items[0].Items[2].Enabled:=false;
mainmenu1.Items[1].Items[0].Enabled:=false;
mainmenu1.Items[1].Items[1].Enabled:=false;
end;
//状态栏的信息
statusbar1.Panels[0].Text:= ' 用户名:' + datamodule1.ADODataSet2['user'];
statusbar1.Panels[1].Text:= ' 系统权限:' + datamodule1.ADODataSet2['part'];
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
statusbar1.Panels[2].Text:=' 当前日期:'+ datetostr(date);
statusbar1.Panels[3].Text:=' 当前时间:'+ timetostr(time);
end;
procedure TForm1.N12Click(Sender: TObject);
begin
changeform5.ShowModal;
end;
procedure TForm1.N13Click(Sender: TObject);
begin
form4.ShowModal;
end;
procedure TForm1.N14Click(Sender: TObject);
begin
close;
end;
procedure TForm1.N10Click(Sender: TObject);
begin
datamodule1.ADOTable1.Active:=false;
datamodule1.ADOTable1.Active:=true;
end;
procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
if gdselected in state then//如果当前区域是被选区域
begin
//设置被选区域颜色
tdbgrid(sender).Canvas.Brush.Color:=clinfobk;
//设置被选区域字体颜色
tdbgrid(sender).Canvas.Font.Color:=clfuchsia;
end
else //如果是当前区域不是被选择区域
begin
//如果是偶数行,则背景颜色为 clskyblue
if tdbgrid(sender).DataSource.DataSet.RecNo mod 2 =0 then
tdbgrid(sender).Canvas.Brush.Color:=clskyblue
else
//如果是奇数行,则背景颜色为 clinactivecaptiontext
tdbgrid(sender).Canvas.Brush.Color:=clWhite;
end;
//调用默认的绘图函数
tdbgrid(sender).DefaultDrawColumnCell(rect,datacol,column,state);
end;
procedure TForm1.DBGrid2DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
if gdselected in state then//如果当前区域是被选区域
begin
//设置被选区域颜色
tdbgrid(sender).Canvas.Brush.Color:=clinfobk;
//设置被选区域字体颜色
tdbgrid(sender).Canvas.Font.Color:=clfuchsia;
end
else //如果是当前区域不是被选择区域
begin
//如果是偶数行,则背景颜色为 clskyblue
if tdbgrid(sender).DataSource.DataSet.RecNo mod 2 =0 then
tdbgrid(sender).Canvas.Brush.Color:=clskyblue
else
//如果是奇数行,则背景颜色为 clinactivecaptiontext
tdbgrid(sender).Canvas.Brush.Color:=clWhite;
end;
//调用默认的绘图函数
tdbgrid(sender).DefaultDrawColumnCell(rect,datacol,column,state);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -