📄 u_studentmangeaction.pas
字号:
Edit;
// 学号
FieldByName('s_xhao').AsString := Ed_XHao01.Text + Ed_XHao02.Text;
FieldByName('s_xming').AsString := Ed_XMing.Text;
FieldByName('si_xbie').AsInteger := Integer(CmbBox_XBie.Items.Objects[CmbBox_XBie.ItemIndex]);
FieldByName('si_mzu').AsInteger := Integer(CmbBox_MZu.Items.Objects[CmbBox_MZu.ItemIndex]);
FieldByName('d_csrqi').AsDateTime := DtEdit_CSRQi.Date;
FieldByName('s_zpwjian').AsString := 'S' + Ed_XHao01.Text + Ed_XHao02.Text + '.BMP';
FieldByName('s_jguan').AsString := Ed_JGuan.Text;
FieldByName('s_xxzzhi').AsString := Ed_JTZZhi.Text;
FieldByName('s_lxfshi').AsString := Ed_Lxfshi.Text;
if DtEdit_RDSJian.Date < 10959 then
FieldByName('D_RDSJIAN').AsString := ''
else
FieldByName('D_RDSJIAN').AsDateTime := DtEdit_RDSJian.Date;
if DtEdit_RTSJian.Date < 10959 then
FieldByName('D_RTSJIAN').AsString := ''
else
FieldByName('D_RTSJIAN').AsDateTime := DtEdit_RTSJian.Date;
if DtEdit_RXSJian.Date < 10959 then
FieldByName('D_RXSJIAN').AsString := ''
else
FieldByName('D_RXSJIAN').AsDateTime := DtEdit_RXSJian.Date;
FieldByName('S_BYXXIAO').AsString := Ed_BYXXiao.Text;
FieldByName('S_BJHAO').AsString :=
IntFormatStr(Integer(CmbBox_BJi.Items.Objects[CmbBox_BJi.ItemIndex]), 9);
Post;
//ApplyUpdates;
end;
Qry_Family.ApplyUpdates;
Qry_Grades.ApplyUpdates;
Qry_Health.ApplyUpdates;
Result := True;
end;
finally
Free;
end;
end;
{procedure TFm_StudentMangeAction.CMChangeControl(var Mess: TMessage);
begin
if Mess.WParam = 0 then
SelectNext(ActiveControl, True, True)
else
SelectNext(ActiveControl, False, True);
end;}
{function TFm_StudentMangeAction.GetDSelStart(Sender: TObject): integer;
var
Bmp: TBitmap;
DC: HDC;
V01, V02, V03: integer;
begin
Bmp := TBitmap.Create;
Bmp.PixelFormat := pf24bit;
Bmp.Width := (Sender as TDateTimePicker).Width;
Bmp.Height := (Sender as TDateTimePicker).Height;
DC := GetDC((Sender as TDateTimePicker).Handle);
BitBlt(Bmp.Canvas.Handle, 0, 0, Bmp.Width, Bmp.Height,
DC, 0, 0, SRCCOPY);
ReleaseDC((Sender as TDateTimePicker).Handle, DC);
Bmp.Canvas.Font := (Sender as TDateTimePicker).Font;
V01 := Bmp.Canvas.Pixels[Bmp.Canvas.TextWidth('9') * 7 div 2, 3];
V02 := Bmp.Canvas.Pixels[Bmp.Canvas.TextWidth('9') * 15 div 2, 3];
V03 := Bmp.Canvas.Pixels[Bmp.Canvas.TextWidth('9') * 23 div 2, 3];
if V02 = V03 then // 年
Result := 1
else if V01 = V03 then // 月
Result := 2
else if V01 = V02 then // 日
Result := 3
else
Result := 0;
end;}
procedure TFm_StudentMangeAction.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (Key = VK_ESCAPE) and (Shift = []) and
(Btn_Prev.Focused or Btn_Next.Focused or
Btn_Save.Focused or Btn_Cancel.Focused) then
ModalResult := mrCancel;
if SclBox_ZPian.Focused then
begin
if Key = VK_SPACE then
EnImg_ZPianDblClick(EnImg_ZPian)
else if Key = VK_RETURN then
SelectNext(ActiveControl, True, True);
end;
end;
procedure TFm_StudentMangeAction.PgCtrl_InfoChange(Sender: TObject);
begin
if PgCtrl_Info.ActivePageIndex = 0 then
begin
Btn_Prev.Enabled := False;
Btn_Next.Enabled := True;
end
else if PgCtrl_Info.ActivePageIndex = PgCtrl_Info.PageCount - 1 then
begin
Btn_Next.Enabled := False;
Btn_Prev.Enabled := True;
end
else
begin
Btn_Next.Enabled := True;
Btn_Prev.Enabled := True;
end;
end;
procedure TFm_StudentMangeAction.Ed_XHao02KeyPress(Sender: TObject;
var Key: Char);
begin
if not (Key in ['0'..'9', #8, #13]) then
Key := #7;
if Key = #13 then
Key := #0;
end;
procedure TFm_StudentMangeAction.Ed_XHao02KeyDown(Sender: TObject;
var Key: Word; Shift: TShiftState);
var
tmEdit: TEdit;
begin
tmEdit := Sender as TEdit;
if (Key = VK_RETURN) or (Key = VK_DOWN) then
SelectNext(ActiveControl, True, True)
else if Key = VK_UP then
SelectNext(ActiveControl, False, True);
if (Key = VK_Left) and (Shift = []) and
(tmEdit.SelLength = 0) and (tmEdit.SelStart = 0) then
SelectNext(ActiveControl, False, True);
if (Key = VK_RIGHT) and (Shift = []) and
(tmEdit.SelLength = 0) and (tmEdit.SelStart = Length(tmEdit.Text)) then
SelectNext(ActiveControl, True, True);
end;
procedure TFm_StudentMangeAction.EnImg_ZPianDblClick(Sender: TObject);
var
tmS: string;
begin // 输入照片
tmS := S_DataPath + '\BMP\S' + Ed_XHao01.Text + Ed_XHao02.Text + '.BMP';
if Show_Capture(tmS) then
EnImg_ZPian.FileName := tmS
else
U_GlobalProc.Show_ErrorMess('采集照片失败。');
end;
procedure TFm_StudentMangeAction.Ed_XHao02Exit(Sender: TObject);
var
aQuery: TQuery;
tmS: string;
begin
ErrFlag := False;
if (Btn_Cancel.Focused or Btn_Help.Focused) then
Exit;
if Trim(Ed_XHao02.Text) = '' then
begin
ErrFlag := True;
MessageBeep(0);
U_GlobalProc.Show_ErrorMess('学号不能为空。');
PgCtrl_Info.ActivePageIndex := 0;
Ed_XHao02.SetFocus;
Exit;
end;
tmS := IntFormatStr(StrToInt(Ed_XHao02.Text), 4);
aQuery := TQuery.Create(Application);
with aQuery do
try
DatabaseName := DataDBase;
SQL.Text := 'SELECT s_xming FROM xsjbxx WHERE s_xhao = ''' +
Ed_XHao01.Text + tmS + '''';
Open;
if EdState = 1 then
begin
if not IsEmpty then
begin
ErrFlag := True;
MessageBeep(0);
U_GlobalProc.Show_ErrorMess('学号重复:该学号已经被学生 ' +
FieldByName('s_xming').AsString + ' 使用。');
PgCtrl_Info.ActivePageIndex := 0;
Ed_XHao02.SetFocus;
Exit;
end;
end;
finally
Close;
Free;
end;
Ed_XHao02.Text := tmS;
end;
procedure TFm_StudentMangeAction.CmbBox_XBieKeyPress(Sender: TObject;
var Key: Char);
var
tCmbBox: TComboBox;
i: integer;
begin
tCmbBox := (Sender as TComboBox);
if Key = #27 then
begin
if tCmbBox.DroppedDown then
tCmbBox.DroppedDown := False
else
tCmbBox.ItemIndex := -1;
end;
if Key = #32 then
begin
if tCmbBox.ItemIndex < (tCmbBox.Items.Count - 1) then
tCmbBox.ItemIndex := tCmbBox.ItemIndex + 1
else
tCmbBox.ItemIndex := 0;
Key := #0;
Exit;
end;
if Key in ['1'..'9'] then
begin
i := StrToInt(Key) - 1;
if i < tCmbBox.Items.Count then
tCmbBox.ItemIndex := i
else
MessageBeep(0);
Key := #0;
Exit;
end;
if not ((Key = #13) and (tCmbBox.DroppedDown)) then
Key := #0;
end;
procedure TFm_StudentMangeAction.CmbBox_XBieKeyDown(Sender: TObject;
var Key: Word; Shift: TShiftState);
begin
if (Key = VK_RETURN) and (not (Sender as TComboBox).DroppedDown) then
begin
Key := 0;
SelectNext(ActiveControl, True, True);
end;
if (Key = VK_UP) and (not (Sender as TComboBox).DroppedDown) then
begin
Key := 0;
SelectNext(ActiveControl, False, True);
end;
if (Key = VK_DOWN) and (not (Sender as TComboBox).DroppedDown) then
begin
Key := 0;
(Sender as TComboBox).DroppedDown := TRUE;
end;
if (key = VK_LEFT) or (Key = VK_RIGHT) then
begin
if Key = VK_LEFT then
SelectNext(ActiveControl, False, True)
else
SelectNext(ActiveControl, True, True);
Key := 0;
end;
end;
procedure TFm_StudentMangeAction.DtPicker_CSRQiKeyDown(Sender: TObject;
var Key: Word; Shift: TShiftState);
{var
SStart: integer;}
begin
if (Key = VK_RETURN) then
begin
if (Shift = [ssShift]) then
SelectNext(ActiveControl, False, True)
//Key := VK_LEFT
else if (Shift = []) then
SelectNext(ActiveControl, True, True);
Key := 0;
end;
//Key := VK_RIGHT;
{if Key in [VK_LEFT, VK_Right] then
begin
SStart := GetDSelStart(Sender);
if (SStart = 1) and (Key = VK_LEFT) then
begin
SelectNext(ActiveControl, False, True);
//PostMessage(Self.Handle, cm_ChangeControl, 1, 0);
Key := 0;
end else if (SStart = 3) and (Key = VK_RIGHT) then
SelectNext(ActiveControl, True, True);
//PostMessage(Self.Handle, cm_ChangeControl, 0, 0);
end;}
end;
procedure TFm_StudentMangeAction.CmbBox_BJiExit(Sender: TObject);
begin
if Btn_Save.Focused and ((Sender as TComboBox).ItemIndex = -1) then
begin
ErrFlag := True;
PgCtrl_Info.ActivePageIndex := 0;
U_GlobalProc.Show_ErrorMess('班级号不能为空。');
(Sender as TComboBox).SetFocus;
end;
end;
procedure TFm_StudentMangeAction.Ts_BaseInfoExit(Sender: TObject);
begin //
end;
procedure TFm_StudentMangeAction.CmbBox_MZuExit(Sender: TObject);
begin
if Ed_XHao02.Focused or Ed_XMing.Focused or CmbBox_XBie.Focused or
Btn_Cancel.Focused or Btn_Help.Focused then
Exit;
if (Sender as TComboBox).ItemIndex = -1 then
begin
ErrFlag := True;
U_GlobalProc.Show_ErrorMess('民族不能为空。');
PgCtrl_Info.ActivePageIndex := 0;
(Sender as TComboBox).SetFocus;
end;
end;
procedure TFm_StudentMangeAction.CmbBox_XBieExit(Sender: TObject);
begin
if Ed_XHao02.Focused or Ed_XMing.Focused or
Btn_Cancel.Focused or Btn_Help.Focused then
Exit;
if (Sender as TComboBox).ItemIndex = -1 then
begin
PgCtrl_Info.ActivePageIndex := 0;
U_GlobalProc.Show_ErrorMess('性别不能为空。');
(Sender as TComboBox).SetFocus;
end;
end;
procedure TFm_StudentMangeAction.SclBox_ZPianEnter(Sender: TObject);
begin //
Label_ZPian.BringToFront;
end;
procedure TFm_StudentMangeAction.SclBox_ZPianExit(Sender: TObject);
begin
Label_ZPian.SendToBack;
end;
procedure TFm_StudentMangeAction.Btn_NextClick(Sender: TObject);
begin //
PgCtrl_Info.SelectNextPage(True);
end;
procedure TFm_StudentMangeAction.Btn_PrevClick(Sender: TObject);
begin
PgCtrl_Info.SelectNextPage(False);
end;
procedure TFm_StudentMangeAction.FGridDblClick(Sender: TObject);
begin
GridDblClick(Sender);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -