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

📄 gygl.pas

📁 欢迎大家相互学习。delphi系统 四个文件夹分别对应书中的四个实例
💻 PAS
字号:
unit gygl;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Grids, DBGrids, StdCtrls, ExtCtrls, Menus, FMTBcd,
  Borland.Vcl.SqlExpr, System.ComponentModel, Borland.Vcl.Db,
  Borland.Vcl.DBTables;

type
  Tgygl_Form = class(TForm)
    GroupBox1: TGroupBox;
    cmdok: TButton;
    cmdclose: TButton;
    xm_LEdit: TLabeledEdit;
    DBGrid1: TDBGrid;
    DataSource1: TDataSource;
    PopupMenu1: TPopupMenu;
    N1: TMenuItem;
    N2: TMenuItem;
    Query1: TQuery;
    procedure cmdokClick(Sender: TObject);
    procedure N1Click(Sender: TObject);
    procedure DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
      DataCol: Integer; Column: TColumn; State: TGridDrawState);
    procedure N2Click(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
    modi:boolean;
  end;

var
  gygl_Form: Tgygl_Form;

implementation

uses main, modigy;

{$R *.dfm}

procedure Tgygl_Form.cmdokClick(Sender: TObject);
var
    xm,sqlstr:string;
begin
    xm:=trim(xm_ledit.Text);
    if length(xm)<1 then
    begin
        sqlstr:='select a.*,b.zymc as zymc,c.xbmc as xbmc from [xsb] a';
        sqlstr:=sqlstr+' INNER JOIN  [zydm] b ON a.zydm = b.zydm ';
        sqlstr:=sqlstr+' INNER JOIN [xbdm] c ON a.xbdm = c.xbdm  ';
    end
    else
    begin
        xm:='%'+xm+'%';
        sqlstr:='select a.*,b.zymc as zymc,c.xbmc as xbmc from [xsb] a';
        sqlstr:=sqlstr+' INNER JOIN  [zydm] b ON a.zydm = b.zydm ';
        sqlstr:=sqlstr+' INNER JOIN [xbdm] c ON a.xbdm = c.xbdm  ';
        sqlstr:=sqlstr+' where(a.xm like '''+xm+''')';
    end;
    Query1.Close;
    Query1.SQL.Clear;
    Query1.SQL.Add(sqlstr);
    Query1.Open;
    if Query1.RecordCount > 0 then
    begin
        N1.Enabled:=true;
        N2.Enabled:=true;
    end
    else
    begin
        N1.Enabled:=false;
        N2.Enabled:=false;
    end;
end;

procedure Tgygl_Form.N1Click(Sender: TObject);
begin
    if Query1.FieldByName('zt').AsInteger=1 then
    begin
        modi:=false;
        Application.CreateForm(Tmodigy_form, modigy_Form);
        modigy_form.ShowModal;
    end
    else
    if Query1.FieldByName('zt').AsInteger=0 then
    begin
        ShowMessage('该同学同学还没有报到,请选择其他同学!');
        exit;
    end
    else
    begin
        ShowMessage('该同学已经安排公寓,请选择其他同学!');
        exit;
    end;
end;

procedure Tgygl_Form.DBGrid1DrawColumnCell(Sender: TObject;
  const Rect: TRect; DataCol: Integer; Column: TColumn;
  State: TGridDrawState);
begin
    if gdSelected in State then Exit;
    case Query1.FieldByName('zt').AsInteger of
    0:(Sender as TDBGrid).Canvas.Brush.Color:=clwindow;
    1:(Sender as TDBGrid).Canvas.Brush.Color :=clyellow;
    2:(Sender as TDBGrid).Canvas.Brush.Color :=clblue;
    3:(Sender as TDBGrid).Canvas.Brush.Color :=clred;
    end;
    DBGrid1.DefaultDrawColumnCell(Rect,DataCol,Column,State);
end;

procedure Tgygl_Form.N2Click(Sender: TObject);
begin
    if Query1.FieldByName('zt').AsInteger=1 then
    begin
        modi:=true;
        Application.CreateForm(Tmodigy_form, modigy_Form);
        modigy_form.ShowModal;
    end
    else
    begin
        ShowMessage('该同学已经安排公寓,选择其他同学!');
        exit;
    end;
end;

procedure Tgygl_Form.FormClose(Sender: TObject; var Action: TCloseAction);
begin
    Action:=caFree;
    main_form.N31.Enabled:=true;
end;

procedure Tgygl_Form.FormCreate(Sender: TObject);
begin
    Query1.sessionName:=main_Form.Database1.SessionName;
    Query1.DatabaseName:=main_Form.Database1.DatabaseName;
end;

end.

⌨️ 快捷键说明

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