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

📄 statunit.pas

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

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;






  Tstatform = 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;
    Label1: TLabel;
    chargeitem_combobox: TComboBox;
    Label4: TLabel;
    Label5: TLabel;
    search_bitbtn: TBitBtn;
    clear_bitbtn: TBitBtn;
    close_bitbtn: TBitBtn;
    oper_adoquery: TADOQuery;
    DataSource1: TDataSource;
    Scholarid_edit: TEdit;
    ChargeYearID_edit: TEdit;
    ChargeRangeId_edit: TEdit;
    oper_combobox: TComboBox;
    oper_edit: TEdit;
    output_bitbtn: TBitBtn;
    list_adoquery: TADOQuery;
    Label6: TLabel;
    DateTimePicker1: TDateTimePicker;
    Label7: TLabel;
    DateTimePicker2: TDateTimePicker;
    CheckBox1: TCheckBox;
    ClassCode_Edit: TComboBox;
    name_Edit: TComboBox;
    procedure FormCreate(Sender: TObject);
    procedure Scholar_ComboBoxChange(Sender: TObject);
    procedure Department_ComboBoxChange(Sender: TObject);
    procedure oper_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
  statform: Tstatform;

implementation

uses DMUnit;

{$R *.dfm}

procedure Tstatform.FormCreate(Sender: TObject);
var
  i:integer;
begin
  with oper_adoquery do
  begin
  {  close;
    sql.Clear;
    sql.Add('select * from department order by id');
    open;
    department_combobox.Items.Add(' ');
    if not isempty then
    begin
      setlength(Newdepartment,RecordCount);
      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;    }

    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;

    close;
    sql.Clear;
    sql.Add('select * from operator where code<>''admin''');
    open;
    oper_combobox.Items.Add(' ');
    if not isempty then
    begin
      setlength(newoper,RecordCount);
      for i := 0 to RecordCount-1 do
      begin
        newoper[i].code  :=fieldbyname('code').asstring ;
        newoper[i].name :=fieldbyname('name').AsString ;
        oper_combobox.Items.Add(fieldbyname('name').AsString) ;
        Next;
      end;
    end;

   { close;
    sql.Clear;
    sql.Add('select distinct(classcode) from student');
    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 Tstatform.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;{
  scholarid_Edit.Text :='';
  if trim(scholar_combobox.text)='' then exit;
  scholarid_Edit.Text :=inttostr(NewScholar[scholar_combobox.itemindex-1].id);    }
end;

procedure Tstatform.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;
{  Departmentid_Edit.Text :='';
  if trim(Department_ComboBox.Text) ='' then exit;
  Departmentid_Edit.Text :=inttostr(Newdepartment[Department_ComboBox.itemindex-1].id);  }
end;

procedure Tstatform.oper_comboboxChange(Sender: TObject);
begin
  Oper_Edit.Text :='';
  if trim(oper_combobox.text)='' then exit;
  Oper_Edit.Text :=NewOper[oper_combobox.itemindex-1].code;
end;

procedure Tstatform.clear_bitbtnClick(Sender: TObject);
begin

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

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

procedure Tstatform.CloseWindow(var Msg: TMessage);
begin
  FreeAndNil(statform);
end;

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

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

procedure Tstatform.clearcontent;

begin
  ChargeYearID_edit.Text :='';
  ChargeRangeId_edit.Text :='';
  chargeitem_combobox.ItemIndex:=-1;
  Departmentid_Edit.Text :='';
  Department_ComboBox.ItemIndex:=-1;
  Scholarid_edit.Text :='';
  Scholar_ComboBox.Itemindex:=-1;
  name_Edit.Text :='';
  Length_ComboBox.ItemIndex:=-1;
  ClassCode_Edit.Text :='';
  oper_combobox.ItemIndex:=-1;
  oper_edit.Text :='';
  checkbox1.Checked :=false;
  datetimepicker1.Date:=date;
  datetimepicker2.Date:=date;
end;

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

procedure Tstatform.search_bitbtnClick(Sender: TObject);
var
  editnum,decrease,returnnum,sumreturn,sumdecrease:String;
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 )='')

⌨️ 快捷键说明

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