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

📄 unitcountcj.~pas

📁 用Delphi和access开发的成绩管理系统
💻 ~PAS
字号:
unit UnitCountCJ;

interface

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

type
  TFormCountCJ = class(TForm)
    GroupBox1: TGroupBox;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    ADOQuery1: TADOQuery;
    DataSource1: TDataSource;
    DBGrid1: TDBGrid;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    Label10: TLabel;
    Label11: TLabel;
    Label12: TLabel;
    Label13: TLabel;
    Label14: TLabel;
    Label15: TLabel;
    Label16: TLabel;
    Label17: TLabel;
    Label18: TLabel;
    Label19: TLabel;
    Label20: TLabel;
    Label21: TLabel;
    Label22: TLabel;
    Label23: TLabel;
    Label24: TLabel;
    Label25: TLabel;
    Label26: TLabel;
    Label27: TLabel;
    Label28: TLabel;
    Label29: TLabel;
    Bevel1: TBevel;
    Label30: TLabel;
    Label31: TLabel;
    GroupBox2: TGroupBox;
    Label1: TLabel;
    Edit1: TEdit;
    Edit2: TEdit;
    Label2: TLabel;
    Label3: TLabel;
    Edit3: TEdit;
    GroupBox3: TGroupBox;
    Label32: TLabel;
    Label33: TLabel;
    Edit4: TEdit;
    Edit5: TEdit;
    Label34: TLabel;
    Label35: TLabel;
    Label36: TLabel;
    Label37: TLabel;
    Label38: TLabel;
    Label39: TLabel;
    Label40: TLabel;
    Label41: TLabel;
    procedure Edit1KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure Edit2KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure Edit3KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure FormShow(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure Edit4KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure Edit5KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure Label40MouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    procedure Label41MouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    procedure Label40Click(Sender: TObject);
    procedure Label41Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  FormCountCJ: TFormCountCJ;

implementation

{$R *.DFM}

procedure TFormCountCJ.Edit1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if key=13 then
  if edit1.Text='' then
     edit1.SetFocus
  else
     edit2.SetFocus;
end;

procedure TFormCountCJ.Edit2KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
var
  pingshi,qimo,num:real;
begin
  pingshi:=strtofloat(edit4.text) / 100;
  qimo:=strtofloat(edit5.text) / 100;
  num:=pingshi+qimo;
  if key=13 then
  begin
     if num<> 1 then
     begin
      showmessage('比例设置有误!');
      edit4.SetFocus;
      exit;
     end;
     edit3.text:=floattostr((strtofloat(edit1.text)* pingshi)+(strtofloat(edit2.text)* qimo));
     edit3.SetFocus;
     if strtofloat(edit3.text)<60 then
       edit3.Color:=clred
     else
       edit3.Color:=clBtnFace;
  end;
end;
procedure TFormCountCJ.Edit3KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
   if key=13 then
   begin
     adoquery1.Append;
     adoquery1.FieldByName('zongpin').asfloat:=strtofloat(edit2.text);   //save期末
     adoquery1.Post;
     edit1.Text:='';
     edit2.Text:='';
     edit3.Text:='';
     edit3.Color:=clBtnFace;
     edit1.SetFocus;
   end;
end;
procedure TFormCountCJ.FormShow(Sender: TObject);
begin
   edit1.SetFocus;
   adoquery1.close;
   adoquery1.SQL.Clear;
   adoquery1.ConnectionString:= 'driver={Microsoft Access Driver (*.mdb)};password=;DBQ=countcj.mdb';
   adoquery1.SQL.Add('select * from cj');
   adoquery1.Open;
end;

procedure TFormCountCJ.BitBtn1Click(Sender: TObject);
begin
     if MessageDlg('初始化将删除现有的数据,为录入下一个班级做准备,确认要进行吗?',mtConfirmation, [mbYes, mbNo], 0) = mrno then exit;
   adoquery1.close;
   adoquery1.SQL.Clear;
   adoquery1.ConnectionString:= 'driver={Microsoft Access Driver (*.mdb)};password=;DBQ=countcj.mdb';
   adoquery1.SQL.Add('select * from cj');
   adoquery1.Open;
  adoquery1.First;
  while not adoquery1.Eof do
      adoquery1.Delete;
  adoquery1.Next;
  label31.Caption:='0';
  label11.Caption:='0';
  label12.Caption:='0';
  label13.Caption:='0';
  label14.Caption:='0';
  label15.Caption:='0';
  label10.Caption:='0';
  label20.Caption:='0';
  label21.Caption:='0';
  label22.Caption:='0';
  label23.Caption:='0';
  label25.Caption:='0';
end;

procedure TFormCountCJ.BitBtn2Click(Sender: TObject);
var
  allcount,bujige:integer;
  allfen,avgfen,zuigaofen,zuidifen:real;
begin
   allfen:=0;
   adoquery1.close;
   adoquery1.SQL.Clear;
   adoquery1.ConnectionString:= 'driver={Microsoft Access Driver (*.mdb)};password=;DBQ=countcj.mdb';
   adoquery1.SQL.Add('select * from cj ');
   adoquery1.Open;
   if  adoquery1.RecordCount=0 then exit;
   allcount:=adoquery1.Recordcount;
   label31.Caption:=inttostr(adoquery1.Recordcount);
   adoquery1.First;
   while not adoquery1.Eof do
   begin
     allfen:=allfen+adoquery1.fieldbyname('zongpin').asfloat;
     adoquery1.next;
   end;
   avgfen:=allfen / allcount;
   label13.Caption:=format('%3.1f',[avgfen]);
    adoquery1.First;

   adoquery1.close;
   adoquery1.SQL.Clear;
   adoquery1.ConnectionString:= 'driver={Microsoft Access Driver (*.mdb)};password=;DBQ=countcj.mdb';
   adoquery1.SQL.Add('select * from cj where zongpin>=60');
   adoquery1.Open; 
   label11.Caption:=inttostr(adoquery1.Recordcount)+'   '+format('%6.1f',[adoquery1.Recordcount * 100 / allcount ] )+'%';

   bujige:=allcount-adoquery1.Recordcount;
   label12.Caption:=inttostr(bujige)+'   '+format('%6.1f',[bujige * 100 / allcount ] )+'%';


   adoquery1.close;
   adoquery1.SQL.Clear;
   adoquery1.ConnectionString:= 'driver={Microsoft Access Driver (*.mdb)};password=;DBQ=countcj.mdb';
   adoquery1.SQL.Add('select max(zongpin) as zuigao  from cj ');
   adoquery1.Open;
   label14.Caption:=adoquery1.fieldbyname('zuigao').asstring;


   adoquery1.close;
   adoquery1.SQL.Clear;
   adoquery1.ConnectionString:= 'driver={Microsoft Access Driver (*.mdb)};password=;DBQ=countcj.mdb';
   adoquery1.SQL.Add('select min(zongpin) as zuidi from cj ');
   adoquery1.Open;
   label15.Caption:=adoquery1.fieldbyname('zuidi').asstring;

    adoquery1.close;
   adoquery1.SQL.Clear;
   adoquery1.ConnectionString:= 'driver={Microsoft Access Driver (*.mdb)};password=;DBQ=countcj.mdb';
   adoquery1.SQL.Add('select * from cj where (zongpin<30)');
   adoquery1.Open;
   label39.Caption:=inttostr(adoquery1.Recordcount)+'   '+format('%6.1f',[adoquery1.Recordcount * 100 / allcount ] )+'%';

   adoquery1.close;
   adoquery1.SQL.Clear;
   adoquery1.ConnectionString:= 'driver={Microsoft Access Driver (*.mdb)};password=;DBQ=countcj.mdb';
   adoquery1.SQL.Add('select * from cj where (zongpin>=30) and (zongpin<40)');
   adoquery1.Open;
   label37.Caption:=inttostr(adoquery1.Recordcount)+'   '+format('%6.1f',[adoquery1.Recordcount * 100 / allcount ] )+'%';

   adoquery1.close;
   adoquery1.SQL.Clear;
   adoquery1.ConnectionString:= 'driver={Microsoft Access Driver (*.mdb)};password=;DBQ=countcj.mdb';
   adoquery1.SQL.Add('select * from cj where (zongpin>=40) and (zongpin<50)');
   adoquery1.Open;
   label10.Caption:=inttostr(adoquery1.Recordcount)+'   '+format('%6.1f',[adoquery1.Recordcount * 100 / allcount ] )+'%';


   adoquery1.close;
   adoquery1.SQL.Clear;
   adoquery1.ConnectionString:= 'driver={Microsoft Access Driver (*.mdb)};password=;DBQ=countcj.mdb';
   adoquery1.SQL.Add('select * from cj where (zongpin>=50) and (zongpin<60)');
   adoquery1.Open;
   label20.Caption:=inttostr(adoquery1.Recordcount)+'   '+format('%6.1f',[adoquery1.Recordcount * 100 / allcount ] )+'%';


   adoquery1.close;
   adoquery1.SQL.Clear;
   adoquery1.ConnectionString:= 'driver={Microsoft Access Driver (*.mdb)};password=;DBQ=countcj.mdb';
   adoquery1.SQL.Add('select * from cj where (zongpin>=60) and (zongpin<70)');
   adoquery1.Open;
   label21.Caption:=inttostr(adoquery1.Recordcount)+'   '+format('%6.1f',[adoquery1.Recordcount * 100 / allcount ] )+'%';


   adoquery1.close;
   adoquery1.SQL.Clear;
   adoquery1.ConnectionString:= 'driver={Microsoft Access Driver (*.mdb)};password=;DBQ=countcj.mdb';
   adoquery1.SQL.Add('select * from cj where (zongpin>=70) and (zongpin<80)');
   adoquery1.Open;
   label22.Caption:=inttostr(adoquery1.Recordcount)+'   '+format('%6.1f',[adoquery1.Recordcount * 100 / allcount ] )+'%';

   adoquery1.close;
   adoquery1.SQL.Clear;
   adoquery1.ConnectionString:= 'driver={Microsoft Access Driver (*.mdb)};password=;DBQ=countcj.mdb';
   adoquery1.SQL.Add('select * from cj where (zongpin>=80) and (zongpin<90)');
   adoquery1.Open;
   label23.Caption:=inttostr(adoquery1.Recordcount)+'   '+format('%6.1f',[adoquery1.Recordcount * 100 / allcount ] )+'%';


   adoquery1.close;
   adoquery1.SQL.Clear;
   adoquery1.ConnectionString:= 'driver={Microsoft Access Driver (*.mdb)};password=;DBQ=countcj.mdb';
   adoquery1.SQL.Add('select * from cj where (zongpin>=90) and (zongpin<=100)');
   adoquery1.Open;   
   label25.Caption:=inttostr(adoquery1.Recordcount)+'   '+format('%6.1f',[adoquery1.Recordcount * 100 / allcount ] )+'%';


   adoquery1.close;
   adoquery1.SQL.Clear;
   adoquery1.ConnectionString:= 'driver={Microsoft Access Driver (*.mdb)};password=;DBQ=countcj.mdb';
   adoquery1.SQL.Add('select * from cj ');
   adoquery1.Open;
   adoquery1.First;
end;

procedure TFormCountCJ.Edit4KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if key=13 then edit5.SetFocus;
end;

procedure TFormCountCJ.Edit5KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if key=13 then edit1.SetFocus;
end;

procedure TFormCountCJ.Label40MouseMove(Sender: TObject;
  Shift: TShiftState; X, Y: Integer);
begin
label40.Cursor:=crhandpoint;
end;

procedure TFormCountCJ.Label41MouseMove(Sender: TObject;
  Shift: TShiftState; X, Y: Integer);
begin
label41.Cursor:=crhandpoint;
end;

procedure TFormCountCJ.Label40Click(Sender: TObject);
begin
shellexecute(handle,nil,'http://www.bytsoft.com',nil,nil,sw_normal);
end;

procedure TFormCountCJ.Label41Click(Sender: TObject);
begin
shellexecute(handle,nil,'http://www.bytsoft.com',nil,nil,sw_normal);
end;

end.

⌨️ 快捷键说明

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