📄 unit9.~pas
字号:
unit Unit9;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, DBGrids, DB, DBTables, StdCtrls, ExtCtrls,
ActnList, Mask, DBCtrls, AppEvnts, ADODB,inifiles;
type
TUnit9Form9 = class(TForm)
DataSource1: TDataSource;
Panel1: TPanel;
ListBox1: TListBox;
DBGrid1: TDBGrid;
GroupBox1: TGroupBox;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
DBEdit1: TDBEdit;
DBEdit2: TDBEdit;
DBEdit3: TDBEdit;
DBEdit4: TDBEdit;
Button1: TButton;
ADOQuery1: TADOQuery;
ApplicationEvents1: TApplicationEvents;
procedure FormCreate(Sender: TObject);
procedure DBEdit3Exit(Sender: TObject);
procedure DBEdit4Exit(Sender: TObject);
procedure ListBox1DblClick(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure DBGrid1TitleClick(Column: TColumn);
procedure ApplicationEvents1Message(var Msg: tagMSG;
var Handled: Boolean);
private
{ Private declarations }
public
{ Public declarations }
end;
function dyzhCL(): boolean;export;
var
BanJi: array[1..30] of string;
implementation
uses dbmodule;
{$R *.dfm}
var BanJiSltd: string;
procedure TUnit9Form9.FormCreate(Sender: TObject);
var
str,st: string;
i,count: byte;
IniFile:TInifile;
filename: string;
begin
count:= 0;
filename:= ExtractFilePath(paramstr(0))+'Serv.ini';
inifile:= TInifile.Create(filename);
str:= inifile.ReadString('专业班级统计','班级总数','0');
str:= inifile.ReadString('专业班级统计','班级','0');
for i:= 1 to length(str) do begin
if not IsDelimiter(#32, str, i) then
count:= count+ 1
else begin
st:= copy( str, i- count, count);
ListBox1.Items.Add(st);
count:= 0;
end;
end;
BanJiSltd:= listbox1.Items.Strings[0];
end;
function dyzhCL(): boolean;export;
var
form9: tUnit9Form9;
begin
form9:= tUnit9Form9.Create(application);
with form9 do begin
caption:= '德育综合得分信息录入';
visible:= true;
update;
try
//screen.Cursor:= crHourGlass;
with adoquery1 do begin
sql.Clear;
sql.Add('select 姓名,学号,德育得分,综合能力得分 from 学籍成绩 where 专业班级 = "'+ BanJiSltd+ '"');
open;
end;
finally
screen.Cursor:= crdefault;
end;
end;
end;
procedure TUnit9Form9.DBEdit3Exit(Sender: TObject);
var f:real;
begin
try
f:= strtofloat(dbedit3.Text);
if (f> 100) or (f< 0) then begin
messagedlg('德育得分输错了!'+#13+dbedit3.text+'不在0~100之内!',
mterror,[mbok],0);
dbedit3.SetFocus;
end;
except
messagedlg('请输入正确的得分!',mterror,[mbok],0);
dbedit3.SetFocus;
end;
end;
procedure TUnit9Form9.DBEdit4Exit(Sender: TObject);
var f:real;
begin
try
f:= strtofloat(dbedit4.Text);
if (f> 100) or (f< 0) then begin
messagedlg('综合得分输错了!'+#13+dbedit4.text+'不在0~100之内!',
mterror,[mbok],0);
dbedit4.SetFocus;
end;
except
messagedlg('请输入正确的得分!',mterror,[mbok],0);
dbedit4.SetFocus;
end;
end;
procedure TUnit9Form9.ListBox1DblClick(Sender: TObject);
begin
banjisltd:= listbox1.Items.Strings[listbox1.itemindex];
with adoquery1 do begin
close;
sql.Clear;
sql.Add('select 姓名,学号,德育得分,综合能力得分 from 学籍成绩 where 专业班级 = "'+ BanJiSltd+ '"');
open;
edit;
end;
update;
end;
procedure TUnit9Form9.Button1Click(Sender: TObject);
begin
with adoquery1 do begin
post;
next;
edit;
end;
dbedit3.setfocus;
end;
procedure TUnit9Form9.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
var userchoiceword:integer;
begin
userchoiceword:= messagedlg('您老真的要退出吗?请确认所填信息已经保存!',mtwarning,[mbyes,mbno],0);
If userchoiceword= mryes then Begin
adoquery1.cancel;
canclose:= true;
adoquery1.close;
end
else
canclose:= false;
end;
procedure TUnit9Form9.FormClose(Sender: TObject; var Action: TCloseAction);
begin
free;
end;
procedure TUnit9Form9.DBGrid1TitleClick(Column: TColumn);
var str: string;
begin
with adoquery1 do begin
str:= column.FieldName;
if sort= str+ ' ASC' then
sort:= str+ ' DESC'
else
sort:= str+ ' ASC';
end;
end;
procedure TUnit9Form9.ApplicationEvents1Message(var Msg: tagMSG;
var Handled: Boolean);
var hWnd: THandle; aName: array [0..255] of char;
begin
//给DBGrid加上鼠标滚轮
if Msg.message <> WM_MOUSEWHEEL then exit;
hWnd := WindowFromPoint(msg.pt);
if boolean(GetClassName(hWnd, aName, 256))and(aName='TDBGrid') then//如果第三方控件需要修改,比如用aName='TbsSkinDBGrid'
begin
if Short(HIWORD(Msg.wParam)) < 0 then
begin
PostMessage(hWnd, WM_KEYDOWN, VK_DOWN, 0);
PostMessage(hWnd, WM_KEYUP, VK_DOWN, 0)
end
else
begin
PostMessage(hWnd, WM_KEYDOWN, VK_UP, 0);
PostMessage(hWnd, WM_KEYUP, VK_UP, 0);
end;
Handled := true;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -