📄 u_setnewclasses.pas
字号:
unit U_SetNewClasses;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Buttons, ExtCtrls, Spin;
type
TFm_SetNewClasses = class(TForm)
Btn_Ok: TButton;
Btn_Cancel: TButton;
Bevel1: TBevel;
Label1: TLabel;
Label2: TLabel;
SpEd_Classes: TSpinEdit;
procedure Ed_ClassesKeyPress(Sender: TObject; var Key: Char);
procedure Ed_ClassesKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
private
public
end;
function Show_SetNewClasses: Boolean;
implementation
uses Dbtables, IniFiles, U_GlobalVar, U_GlobalProc;
{$R *.DFM}
function Show_SetNewClasses: Boolean;
var
Fm_SetNewClasses: TFm_SetNewClasses;
DQuery: TQuery;
i: integer;
begin
Result := False;
Fm_SetNewClasses := TFm_SetNewClasses.Create(Application);
with Fm_SetNewClasses do
try
SpEd_Classes.Value := SI_Classes[0];
if ShowModal = mrOk then
begin
with TIniFile.Create(S_SysPath + '\' + StudentIniFile) do
try
SI_Classes[0] := SpEd_Classes.Value;
WriteInteger('系统参数', GradeNames[0] + '年级', SI_Classes[0]);
finally
Free;
end;
DQuery := TQuery.Create(Application);
with DQuery do
try
DataBaseName := DataDBase;
// 年级
SQL.Text := 'UPDATE nj SET si_xsbjshu = ' + IntToStr(SI_Classes[0]) +
' WHERE s_njhao = ''' + IntToStr(W_CurYear) +
'-' + IntToStr(W_CurYear + 1) + '''';
ExecSQL;
// 删除原班级
SQL.Text := 'DELETE FROM bj WHERE s_bjhao LIKE ''' + S_SchoolCode +
IntToStr(W_CurYear) + '%''';
ExecSQL;
// 添加班级
SQL.Text := 'INSERT INTO bj VALUES(:ps_bjhao, :ps_bjmcheng, 1, ' +
''''', 0)';
for i := 0 to SI_Classes[0] - 1 do
begin
ParamByName('ps_bjhao').AsString := S_SchoolCode + IntToStr(W_CurYear) +
IntFormatStr(i + 1, 2);
ParamByName('ps_bjmcheng').AsString := GradeNames[0] + GradeNames[i] + '班';
Prepare;
ExecSQL;
end;
Result := True;
finally
Free;
end;
end;
finally
Free;
end;
end;
procedure TFm_SetNewClasses.Ed_ClassesKeyPress(Sender: TObject; var Key: Char);
begin
if not (Key in ['0'..'9', #8]) then
begin
Key := #0;
Exit;
end;
end;
procedure TFm_SetNewClasses.Ed_ClassesKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Key = VK_RETURN then
begin
if Shift = [] then
SelectNext(ActiveControl, True, True)
else if ssShift in Shift then
SelectNext(ActiveControl, False, True);
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -