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

📄 peopleunit.pas

📁 学费管理系统,学校使用
💻 PAS
📖 第 1 页 / 共 2 页
字号:
unit peopleUnit;

interface

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

type
  TScholar=record
    Id:integer;
    Scholar:string;
  end;

  TDepartment=record
    id:integer;
    department:string;
  end;






  Tpeopleform = class(TForm)
    Panel1: TPanel;
    DBGrid1: TDBGrid;
    Label9: TLabel;
    Scholar_ComboBox: TComboBox;
    Label10: TLabel;
    Department_ComboBox: TComboBox;
    Departmentid_Edit: TEdit;
    Label13: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label12: TLabel;
    Length_ComboBox: TComboBox;
    Label4: TLabel;
    search_bitbtn: TBitBtn;
    clear_bitbtn: TBitBtn;
    close_bitbtn: TBitBtn;
    oper_adoquery: TADOQuery;
    DataSource1: TDataSource;
    Scholarid_edit: TEdit;
    ChargeYearID_edit: TEdit;
    ChargeRangeId_edit: TEdit;
    output_bitbtn: TBitBtn;
    list_adoquery: TADOQuery;
    ClassCode_Edit: TComboBox;
    name_Edit: TComboBox;
    CheckBox1: TCheckBox;
    Label6: TLabel;
    DateTimePicker1: TDateTimePicker;
    Label7: TLabel;
    DateTimePicker2: TDateTimePicker;
    procedure FormCreate(Sender: TObject);
    procedure Scholar_ComboBoxChange(Sender: TObject);
    procedure Department_ComboBoxChange(Sender: TObject);
    procedure clear_bitbtnClick(Sender: TObject);
    procedure DataSource1DataChange(Sender: TObject; Field: TField);
    procedure close_bitbtnClick(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormShow(Sender: TObject);
    procedure search_bitbtnClick(Sender: TObject);
    procedure ChargeRangeId_editKeyPress(Sender: TObject; var Key: Char);
    procedure ChargeYearID_editKeyPress(Sender: TObject; var Key: Char);
    procedure output_bitbtnClick(Sender: TObject);
    procedure ClassCode_EditChange(Sender: TObject);
  private
    { Private declarations }
    NewScholar:array of TScholar;
    NewDepartMent:array of TDepartment;
    NewOper:array of TOperator;
    procedure CloseWindow(var Msg:TMessage);message wm_user;
    procedure clearcontent;
  public
    { Public declarations }
  end;

var
  peopleform: Tpeopleform;

implementation

uses DMUnit;

{$R *.dfm}

procedure Tpeopleform.FormCreate(Sender: TObject);
var
  i:integer;
begin
  with oper_adoquery do
  begin

    close;
    sql.Clear;
    sql.Add('select * from Scholar order by id');
    open;
    scholar_combobox.Items.Add(' ');
    if not isempty then
    begin
      setlength(NewScholar,RecordCount);
      for i := 0 to RecordCount-1 do
      begin
        NewScholar[i].Id :=fieldbyname('id').AsInteger ;
        NewScholar[i].Scholar:=fieldbyname('Scholar').AsString ;
        scholar_combobox.Items.Add(fieldbyname('Scholar').AsString) ;
        Next;
      end;
    end;


  end;

end;

procedure Tpeopleform.Scholar_ComboBoxChange(Sender: TObject);
var
  i:integer;
begin
  department_combobox.ItemIndex:=-1;
  department_combobox.Items.Clear;
  departmentid_edit.Text :='';
  scholarid_Edit.Text:='';
  ClassCode_edit.Items.Clear;
  ClassCode_edit.Text :='';
  name_edit.Items.Clear;
  name_edit.Text :='';
  if trim(scholar_combobox.text)='' then exit;
  scholarid_Edit.Text :=inttostr(NewScholar[scholar_combobox.itemindex-1].id);
  with oper_adoquery do
  begin
    close;
    sql.Clear;
    sql.Add('select * from department where ScholarId=:ScholarId order by id');
    Parameters.ParamByName('ScholarId').Value :=scholarid_edit.Text ;
    open;
    if not isempty then
    begin
      setlength(NewDepartMent,RecordCount);
      department_combobox.Items.Add(' ') ;
      for i := 0 to RecordCount-1 do
      begin
        NewDepartMent[i].Id :=fieldbyname('id').AsInteger ;
        NewDepartMent[i].department :=fieldbyname('department').AsString ;
        department_combobox.Items.Add(fieldbyname('department').AsString) ;
        Next;
      end;
    end;
  end;
end;

procedure Tpeopleform.Department_ComboBoxChange(Sender: TObject);
var
  i:integer;
begin
  departmentid_edit.Text :='';
  ClassCode_edit.Items.Clear;
  ClassCode_edit.Text :='';
  name_edit.Items.Clear;
  name_edit.Text :='';
  if trim(Department_ComboBox.text)='' then exit;
  Departmentid_Edit.Text :=inttostr(Newdepartment[Department_ComboBox.itemindex-1].id);
  with oper_adoquery do
  begin
    close;
    sql.Clear;
    sql.Add('select distinct(classcode) from student where departmentid='+trim(Departmentid_Edit.Text));
    open;
    ClassCode_Edit.Items.Add(' ');
    if not isempty then
    begin
      for i := 0 to RecordCount-1 do
      begin
        ClassCode_Edit.Items.Add(fieldbyname('classcode').AsString );
        Next;
      end;
    end;
  end;
end;

procedure Tpeopleform.clear_bitbtnClick(Sender: TObject);
begin

  list_adoquery.Close;
  clearcontent;
  clear_bitbtn.Enabled :=false ;
  output_bitbtn.Enabled:=false ;
end;

procedure Tpeopleform.DataSource1DataChange(Sender: TObject; Field: TField);
begin
  clear_bitbtn.Enabled :=not list_adoquery.IsEmpty ;
  output_bitbtn.Enabled:=not list_adoquery.IsEmpty ;
end;

procedure Tpeopleform.CloseWindow(var Msg: TMessage);
begin
  FreeAndNil(peopleform);
end;

procedure Tpeopleform.close_bitbtnClick(Sender: TObject);
begin
  self.Close;
end;

procedure Tpeopleform.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  action:=cafree;
  postmessage(handle,wm_user,0,0);
end;

procedure Tpeopleform.clearcontent;

begin
  ChargeYearID_edit.Text :='';
  ChargeRangeId_edit.Text :='';
  Departmentid_Edit.Text :='';
  Department_ComboBox.ItemIndex:=-1;
  Scholarid_edit.Text :='';
  Scholar_ComboBox.Itemindex:=-1;
  name_Edit.Text :='';
  Length_ComboBox.ItemIndex:=-1;
  ClassCode_Edit.Text :='';
end;

procedure Tpeopleform.FormShow(Sender: TObject);
begin
  clearcontent;
end;

procedure Tpeopleform.search_bitbtnClick(Sender: TObject);
begin
  if (trim( ChargeYearID_edit.Text )='') and (trim(Departmentid_Edit.Text )='')
    and (trim(Scholarid_edit.Text )='') and (trim(name_Edit.Text )='')
      and (trim(Length_ComboBox.Text )='') and (trim(ClassCode_Edit.Text )='')
        and (trim(ChargeRangeId_edit.text)='') then
  begin
    MessageBox(application.handle,pchar('没有选择查询条件!'),'错误',MB_ICONWARNING+MB_OK);
    list_adoquery.close;
    clearcontent;
    exit;
  end;
  with list_adoquery do
  begin
    close;
    sql.clear;
    if trim(ClassCode_Edit.Text )<>'' then
      sql.Add('select c.studentname as ''姓名''')
    else if trim(Departmentid_Edit.Text )<>'' then
      sql.Add('select c.classcode as ''班级''')
    else
      sql.Add('select c.department as ''院系''');
    sql.Add(',欠费人数,交清人数,c.合计 from (');
    if trim(ClassCode_Edit.Text )<>'' then
      sql.Add('select studentname')
    else if trim(Departmentid_Edit.Text )<>'' then
      sql.Add('select classcode')
    else
      sql.Add('select department');
    sql.Add(',count(*) as ''合计'' from (');
    sql.Add('select studentid,chargerangeid,sum(quantum)-sum(derate)-(sum(fact)-sum(returnnum))  as cash');
    sql.Add('from income');
    sql.Add('group by studentid,chargerangeid) as a,student,department where a.studentid=student.id and student.departmentid=department.id');
    if trim( ChargeYearID_edit.Text )<>'' then
      sql.add(' and student.ChargeYearID='+trim( ChargeYearID_edit.Text ));
    if trim( ChargeRangeId_edit.Text )<>'' then
      sql.add(' and a.ChargeRangeId='+trim( ChargeRangeId_edit.Text ));
    if trim(Departmentid_Edit.Text )<>'' then
      sql.add(' and student.departmentid='+trim( Departmentid_Edit.Text ));
    if trim(Scholarid_edit.Text )<>'' then
      sql.add(' and student.Scholarid='+trim( Scholarid_edit.Text ));
    if trim(name_Edit.Text )<>'' then
      sql.add(' and student.studentname='''+trim( name_Edit.Text )+'''');
    if trim(Length_ComboBox.Text )<>'' then
      sql.add(' and student.length='+trim( Length_ComboBox.Text ));
    if trim(ClassCode_Edit.Text )<>'' then
      sql.add(' and student.classcode='''+trim( ClassCode_Edit.Text )+'''');
    if checkbox1.Checked then
    begin

⌨️ 快捷键说明

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