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

📄 unit6.pas

📁 宿舍管理系统
💻 PAS
字号:
unit Unit6;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Buttons, ExtCtrls, Grids, DBGrids, DB, ADODB;

type
  Tf_wsqk = class(TForm)
    gb_2: TGroupBox;
    DBGrid2: TDBGrid;
    gb_1: TGroupBox;
    Shape1: TShape;
    Bevel1: TBevel;
    DBGrid1: TDBGrid;
    Panel1: TPanel;
    b_qd: TBitBtn;
    b_qx: TBitBtn;
    b_sc: TBitBtn;
    b_xz: TBitBtn;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    e_qsm: TEdit;
    e_df: TEdit;
    e_pfsj: TEdit;
    e_pfry: TEdit;
    b_xz1: TBitBtn;
    b_sc1: TBitBtn;
    b_qd1: TBitBtn;
    b_qx1: TBitBtn;
    Bevel2: TBevel;
    Shape2: TShape;
    Edit5: TEdit;
    Edit6: TEdit;
    Edit7: TEdit;
    Edit8: TEdit;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    Edit9: TEdit;
    ADOConnection1: TADOConnection;
    ADOQuery1: TADOQuery;
    ADOQuery2: TADOQuery;
    DataSource1: TDataSource;
    DataSource2: TDataSource;
    ADOQuery1jsm: TWideStringField;
    ADOQuery1wspf: TIntegerField;
    ADOQuery1pfsj: TDateTimeField;
    ADOQuery1pfry: TWideStringField;
    ADOQuery2jsm: TWideStringField;
    ADOQuery2byyd: TIntegerField;
    ADOQuery2yf: TDateTimeField;
    ADOQuery2gdyd: TIntegerField;
    ADOQuery2cdus: TIntegerField;
    procedure  s_save;
    procedure  s_show;
    procedure  s_clear(var bb:boolean);
    procedure  s_save1;
    procedure  s_show1;
    procedure  s_clear1(var bb:boolean);
    procedure b_xzClick(Sender: TObject);
    procedure b_xz1Click(Sender: TObject);
    procedure b_qxClick(Sender: TObject);
    procedure b_qx1Click(Sender: TObject);
    procedure b_scClick(Sender: TObject);
    procedure b_sc1Click(Sender: TObject);
    procedure DBGrid1CellClick(Column: TColumn);
    procedure DBGrid2CellClick(Column: TColumn);
    procedure FormCreate(Sender: TObject);
    procedure b_qdClick(Sender: TObject);
    procedure b_qd1Click(Sender: TObject);
    procedure DBGrid1DrawDataCell(Sender: TObject; const Rect: TRect;
      Field: TField; State: TGridDrawState);
  private
    { Private declarations }

  public

    { Public declarations }
  end;

var
  f_wsqk: Tf_wsqk;
   bsf:string;
   bsf1:string;
implementation

{$R *.dfm}

procedure tf_wsqk.s_save;
begin
  with  f_wsqk do
        begin
          adoquery1.Edit;
          adoquery1.FieldByName('jsm').AsString:=trim(e_qsm.Text);
          adoquery1.FieldByName('wspf').AsString:=trim(e_df.Text);
          adoquery1.FieldByName('pfsj').AsString :=trim(e_pfsj.Text);
          adoquery1.FieldByName('pfry').AsString :=trim(e_pfry.Text);
          adoquery1.Post;
        end;
end;

procedure  tf_wsqk.s_show;
begin
    f_wsqk.ADOQuery1.Close;
    f_wsqk.ADOQuery1.SQL.Clear;
    f_wsqk.ADOQuery1.SQL.Add('select * from wsb');
    f_wsqk.ADOQuery1.Open;
 end;
procedure tf_wsqk.s_clear(var bb:boolean);
var
i:integer;
begin
     with f_wsqk do
        begin
           b_xz.Enabled:=true;
           b_sc.Enabled:=true;
           b_qd.Enabled:=false;
           b_qx.Enabled:=false;
           e_qsm.Text:='';
           e_df.Text:='';
           e_pfsj.text:='';
           e_pfry.Text:='';
         for i:=0 to gb_1.controlcount-1 do
            begin
            if (gb_1.Controls[i].ClassType=tedit) then
                begin
                   if bb =false then
                       gb_1.Controls[i].Enabled :=false
                   else
                      gb_1.Controls[i].Enabled:=true;
               end;
          end;
     end;
 end;

procedure tf_wsqk.s_save1;
begin
  with  f_wsqk do
        begin
          adoquery2.Edit;
          adoquery2.FieldByName('jsm').AsString:=trim(edit5.Text);
          adoquery2.FieldByName('byyd').AsString:=trim(edit6.Text);
          adoquery2.FieldByName('yf').AsString :=trim(edit7.Text);
          adoquery2.FieldByName('gdyd').AsString :=trim(edit8.Text);
          adoquery2.FieldByName('cdus').AsString :=trim(edit9.Text);
          adoquery2.Post;
        end;
end;

procedure  tf_wsqk.s_show1;
begin
    f_wsqk.ADOQuery2.Close;
    f_wsqk.ADOQuery2.SQL.Clear;
    f_wsqk.ADOQuery2.SQL.Add('select * from ydb');
    f_wsqk.ADOQuery2.Open;
 end;
procedure tf_wsqk.s_clear1(var bb:boolean);
var
i:integer;
begin
     with f_wsqk do
        begin
           b_xz1.Enabled:=true;
           b_sc1.Enabled:=true;
           b_qd1.Enabled:=false;
           b_qx1.Enabled:=false;
           edit5.Text:='';
           edit6.Text:='';
           edit7.text:='';
           edit8.Text:='';
           edit9.text:='';
         for i:=0 to gb_2.controlcount-1 do
            begin
            if (gb_2.Controls[i].ClassType=tedit) then
                begin
                   if bb =false then
                       gb_2.Controls[i].Enabled :=false
                   else
                      gb_2.Controls[i].Enabled:=true;
               end;
          end;
     end;
 end;
procedure Tf_wsqk.b_xzClick(Sender: TObject);
var
bb:boolean;
begin
  bsf:='xz';
  bb:=true;
  s_clear(bb);
  e_qsm.SetFocus;
  b_xz.Enabled:=false;
  b_sc.Enabled :=false;
  b_qd.Enabled:=true;
  b_qx.Enabled :=true;
end;
procedure Tf_wsqk.b_xz1Click(Sender: TObject);
 var
bb:boolean;
begin
  bsf1:='xz1';
  bb:=true;
  s_clear1(bb);
  edit5.SetFocus;
  b_xz1.Enabled:=false;
  b_sc1.Enabled :=false;
  b_qd1.Enabled:=true;
  b_qx1.Enabled :=true;
end;
procedure Tf_wsqk.b_qxClick(Sender: TObject);
var
ss:boolean;
begin
ss:=false;
s_clear(ss);
end;
procedure Tf_wsqk.b_qx1Click(Sender: TObject);
var
ss:boolean;
begin
ss:=false;
s_clear1(ss);
end;
procedure Tf_wsqk.b_scClick(Sender: TObject);
var
bb:boolean;
begin
if trim(e_qsm.Text)<>'' then
  begin
  if application.MessageBox('你确定删除吗?', '提示', 4+32)=6 then
     begin
       adoquery1.Delete ;
       s_show;
       bb:=false;
       s_clear(bb);
     end
  else
   exit;
  end
 else
  showmessage('请选择删除记录');
  end;
procedure Tf_wsqk.b_sc1Click(Sender: TObject);
var
bb:boolean;
begin
if trim(edit5.Text)<>'' then
  begin
  if application.MessageBox('你确定删除吗?', '提示', 4+32)=6 then
     begin
       adoquery2.Delete ;
       s_show;
       bb:=false;
       s_clear(bb);
     end
  else
   exit;
  end
 else
  showmessage('请选择删除记录');
  end;
procedure Tf_wsqk.DBGrid1CellClick(Column: TColumn);
var
vv:boolean;
begin
if adoquery1.RecordCount>0 then
 begin
   vv:=false;
   s_clear(vv);
   e_qsm.Text:=trim(adoquery1.fieldbyname('jsm').AsString );
   e_df.Text:=trim(adoquery1.fieldbyname('wspf').AsString);
   e_pfsj.Text:=trim(adoquery1.fieldbyname('pfsj').AsString);
   e_pfry.Text:=trim(adoquery1.fieldbyname('pfry').AsString );
  end;
 end;
procedure Tf_wsqk.DBGrid2CellClick(Column: TColumn);
var
vv:boolean;
begin
if adoquery2.RecordCount>0 then
 begin
   vv:=false;
   s_clear1(vv);
   edit5.Text:=trim(adoquery2.fieldbyname('jsm').AsString );
   edit6.Text:=trim(adoquery2.fieldbyname('byyd').AsString);
   edit7.Text:=trim(adoquery2.fieldbyname('yf').AsString);
   edit8.Text:=trim(adoquery2.fieldbyname('gdyd').AsString );
   edit9.Text:=trim(adoquery2.fieldbyname('cdus').AsString );
  end;
 end;
procedure Tf_wsqk.FormCreate(Sender: TObject);
 var
ss,bb:boolean;

begin
s_show;
s_show1;
ss:=false;
s_clear(ss);
bb:=false;
s_clear1(bb);
end;
procedure Tf_wsqk.b_qdClick(Sender: TObject);
var
ss:boolean;
begin
  if trim(e_qsm.Text)='' then
     begin
       showmessage('请输入寝室名!');
       e_qsm.SetFocus;
       exit;
     end;

     if bsf <>'xg'  then
       begin
          adoquery1.Close;
          adoquery1.SQL.Clear;
          adoquery1.SQL.Add('select * from wsb where jsm = ' +char(39)+trim(e_qsm.Text)+char(39));
          adoquery1.Open;
      end;
   if adoquery1.recordcount<0 then
    begin
     showmessage('请输入值');
     exit;
   end;
     if trim(e_df.Text)='' then
       begin
         showmessage('请输入得分记录!');
         e_df.SetFocus;
         exit;
       end;
   if trim(e_pfsj.Text)='' then
       begin
        showmessage('请输入评分时间!');
        e_pfsj.SetFocus;
        exit;
       end;
   if trim(e_pfry.Text)= ''then
      begin
        showmessage('请输入评分人员!');
        e_pfry.SetFocus;
        exit;
      end;
   if MessageDlg('记录是否保存吗 ?',mtConfirmation, [mbYes, mbNo], 0) = mrYes then
     begin
         s_save;
         adoquery1.Close;
         adoquery1.SQL.Clear;
         adoquery1.SQL.add('select * from wsb');
         adoquery1.Open;
         ss:=false;
         s_clear(ss);
     end
    else
    exit;
 end;
procedure Tf_wsqk.b_qd1Click(Sender: TObject);
var
ss:boolean;
begin
  if trim(edit5.Text)='' then
     begin
       showmessage('请输入寝室名!');
       edit5.SetFocus;
       exit;
     end;

     if bsf1 <>'xg1'  then
       begin
          adoquery2.Close;
          adoquery2.SQL.Clear;
          adoquery2.SQL.Add('select * from ydb where jsm = ' +char(39)+trim(edit5.Text)+char(39));
          adoquery2.Open;
      end;
   if adoquery2.recordcount<0 then
    begin
     showmessage('请输入值');
     exit;
   end;
     if trim(edit6.Text)='' then
       begin
         showmessage('请输入本月用电!');
         edit6.SetFocus;
         exit;
       end;
   if trim(edit7.Text)='' then
       begin
        showmessage('请输入月份!');
        e_pfsj.SetFocus;
        exit;
       end;
   if trim(edit8.Text)=''then
      begin
        showmessage('请输入规定用电!');
        e_pfry.SetFocus;
        exit;
      end;
   if trim(edit9.Text)=''then
      begin
        showmessage('请输入超支用电!');
        e_pfry.SetFocus;
        exit;
      end;
   if MessageDlg('记录是否保存吗 ?',mtConfirmation, [mbYes, mbNo], 0) = mrYes then
     begin
         s_save1;
         adoquery2.Close;
         adoquery2.SQL.Clear;
         adoquery2.SQL.add('select * from ydb');
         adoquery2.Open;
         ss:=false;
         s_clear1(ss);
     end
    else
    exit;
 end;
procedure Tf_wsqk.DBGrid1DrawDataCell(Sender: TObject; const Rect: TRect;
  Field: TField; State: TGridDrawState);
begin
 if gdSelected in state then

      SetBkColor(dbgrid1.canvas.handle,clred)

      else

      setbkcolor(dbgrid1.canvas.handle,clwhite);

      dbgrid1.Canvas.TextRect(rect,0,0,field.AsString);

      dbgrid1.Canvas.Textout(rect.Left,rect.Top,field.AsString);


end;

end.




⌨️ 快捷键说明

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