?? unitcountcj.~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 + -