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

📄 mainunit1.~pas

📁 大家觉得不是垃圾就下了
💻 ~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 + -