📄 u_studentmangeaction.pas
字号:
end;
procedure TFm_StudentMangeAction.FGridKeyDown(Sender: TObject;
var Key: Word; Shift: TShiftState);
begin
GridKeyDown(Sender, Key, Shift);
end;
procedure TFm_StudentMangeAction.FmQryGetText(Sender: TField;
var Text: string; DisplayText: Boolean);
begin
DataSetGetText(FGrid, Sender, Text, DisplayText);
end;
procedure TFm_StudentMangeAction.FmQrySetText(Sender: TField;
const Text: string);
begin
DataSetSetText(FGrid, Sender, Text);
end;
procedure TFm_StudentMangeAction.GdQryGetText(Sender: TField;
var Text: string; DisplayText: Boolean);
begin
DataSetGetText(GGrid, Sender, Text, DisplayText);
end;
procedure TFm_StudentMangeAction.GdQrySetText(Sender: TField;
const Text: string);
begin
DataSetSetText(GGrid, Sender, Text);
end;
procedure TFm_StudentMangeAction.HtQryGetText(Sender: TField;
var Text: string; DisplayText: Boolean);
begin
DataSetGetText(HGrid, Sender, Text, DisplayText);
end;
procedure TFm_StudentMangeAction.HtQrySetText(Sender: TField;
const Text: string);
begin
DataSetSetText(HGrid, Sender, Text);
end;
procedure TFm_StudentMangeAction.Btn_FAddClick(Sender: TObject);
var
tmOrder: integer;
begin
tmOrder := 1;
try
with Qry_Family do
begin
DisableControls;
Last;
if not IsEmpty then
tmOrder := FieldByName('i_sxhao').AsInteger + 1;
Append;
FieldByName('s_xhao').AsString := Ed_XHao01.Text + Ed_XHao02.Text;
FieldByName('i_sxhao').AsInteger := tmOrder;
FGrid.Options := FGrid.Options + [tgEditing];
FGrid.SetFocus;
end;
finally
Qry_Family.EnableControls;
end;
Btn_FCancel.Enabled := True;
end;
procedure TFm_StudentMangeAction.Qry_FamilyBeforePost(DataSet: TDataSet);
begin
with DataSet do
if Trim(FieldByName('s_xming').AsString) = '' then
begin
if (State = dsInsert) or ((State = dsEdit) and
(not U_GlobalProc.Show_ConfirmMess(
'姓名被修改为空值,是否存盘?'))) then
begin
Cancel;
if IsEmpty then
FGrid.Options := FGrid.Options - [tgEditing];
Abort;
end;
end;
end;
procedure TFm_StudentMangeAction.Qry_FamilyAfterPost(DataSet: TDataSet);
begin //
if not Qry_Family.IsEmpty then
begin
Btn_FEdit.Enabled := True;
Btn_FDelete.Enabled := True;
end
else
FGrid.Options := FGrid.Options - [tgEditing];
end;
procedure TFm_StudentMangeAction.Btn_FEditClick(Sender: TObject);
begin
if Qry_Family.IsEmpty then
begin
Btn_FAdd.Click;
Exit;
end;
Qry_Family.Edit;
FGrid.SetFocus;
Btn_FCancel.Enabled := True;
end;
procedure TFm_StudentMangeAction.Btn_FDeleteClick(Sender: TObject);
begin //
if Qry_Family.IsEmpty then
Exit;
if U_GlobalProc.Show_ConfirmMess('你真的要删除 ' + Qry_Family.FieldByName('s_xming').AsString +
' 吗?') then
Qry_Family.Delete;
if Qry_Family.IsEmpty then
begin
Btn_FEdit.Enabled := False;
Btn_FDelete.Enabled := False;
FGrid.Options := FGrid.Options - [tgEditing];
end;
end;
procedure TFm_StudentMangeAction.Btn_FCancelClick(Sender: TObject);
begin
Qry_Family.Cancel;
Btn_FCancel.Enabled := False;
end;
procedure TFm_StudentMangeAction.Btn_FOkClick(Sender: TObject);
begin
if Qry_Family.State in [dsInsert, dsEdit] then
Qry_Family.Post;
Btn_FCancel.Enabled := False;
end;
procedure TFm_StudentMangeAction.Btn_GEditClick(Sender: TObject);
begin //
if not Qry_Grades.IsEmpty then
begin
Qry_Grades.Edit;
GGrid.SetFocus;
end;
end;
procedure TFm_StudentMangeAction.Btn_GOkClick(Sender: TObject);
begin
if Qry_Grades.State in [dsInsert, dsEdit] then
Qry_Grades.Post;
end;
procedure TFm_StudentMangeAction.Btn_GCancelClick(Sender: TObject);
begin
Qry_Grades.Cancel;
end;
procedure TFm_StudentMangeAction.Qry_HealthBeforePost(DataSet: TDataSet);
begin //
end;
procedure TFm_StudentMangeAction.Qry_HealthAfterPost(DataSet: TDataSet);
begin //
if not Qry_Health.IsEmpty then
Btn_HEdit.Enabled := True
else
HGrid.Options := HGrid.Options - [tgEditing];
end;
procedure TFm_StudentMangeAction.Btn_HOkClick(Sender: TObject);
begin
if Qry_Health.State in [dsEdit, dsInsert] then
Qry_Health.Post;
if not Qry_Health.IsEmpty then
Btn_HAdd.Visible := False;
end;
procedure TFm_StudentMangeAction.Btn_HCancelClick(Sender: TObject);
begin
if Qry_Health.State in [dsEdit, dsInsert] then
Qry_Health.Cancel;
end;
procedure TFm_StudentMangeAction.Ed_XMingExit(Sender: TObject);
begin
if Ed_XHao02.Focused or Btn_Cancel.Focused or
Btn_Help.Focused then
Exit;
with Sender as TEdit do
begin
if Trim(Text) = '' then
begin
ErrFlag := True;
MessageBeep(0);
U_GlobalProc.Show_ErrorMess('学生姓名不能为空。');
PgCtrl_Info.ActivePageIndex := 0;
Ed_XMing.SetFocus;
Exit;
end;
end;
end;
procedure TFm_StudentMangeAction.Btn_SaveClick(Sender: TObject);
var
tmS: string;
begin //
if EdState = 1 then // 增加
with Qry_Grades do
begin
tmS := Ed_XHao01.Text + Ed_XHao02.Text;
First;
while not Eof do
begin
Edit;
FieldByName('s_xhao').AsString := tmS;
Post;
Next;
end;
end;
// 检测学号
Ed_XHao02Exit(Ed_XHao02);
if ErrFlag then
Exit;
// 检测姓名
Ed_XMingExit(Ed_XMing);
if ErrFlag then
Exit;
// 检测性别
CmbBox_XBieExit(CmbBox_XBie);
if ErrFlag then
Exit;
// 检测民族
CmbBox_MZuExit(CmbBox_MZu);
if ErrFlag then
Exit;
// 检测班级号
CmbBox_BJiExit(CmbBox_BJi);
if ErrFlag then
Exit;
ModalResult := mrOk;
end;
procedure TFm_StudentMangeAction.Ed_XMingKeyPress(Sender: TObject;
var Key: Char);
begin
if Key = #13 then
Key := #0;
end;
procedure TFm_StudentMangeAction.DtPicker_CSRQiKeyPress(Sender: TObject;
var Key: Char);
begin
if Key = #13 then
Key := #0;
end;
procedure TFm_StudentMangeAction.Qry_GradesS_KMHAOGetText(Sender: TField;
var Text: String; DisplayText: Boolean);
begin //
DataSetGetText(GGrid, Sender, Text, DisplayText);
end;
procedure TFm_StudentMangeAction.Qry_GradesS_KMHAOSetText(Sender: TField;
const Text: String);
var
aList: TStrings;
i: integer;
begin
aList := nil;
for i := 0 to GGrid.Columns.Count - 1 do
begin
if GGrid.Columns[i].FieldName = Sender.FieldName then
begin
aList := GGrid.Columns[i].PickList;
Break;
end;
end;
if Assigned(aList) then
begin
for i := 0 to aList.Count - 1 do
if Text = aList.Strings[i] then
begin
Sender.AsString := IntFormatStr(Integer(aList.Objects[i]), 4);
break;
end;
end;
end;
procedure TFm_StudentMangeAction.GGridDblClick(Sender: TObject);
var
aColumn: THColumn;
aGrid: THDBGrid;
aDataSet: TDataSet;
tmI: integer;
begin
aGrid := Sender as THDBGrid;
aDataSet := aGrid.DataSource.DataSet;
aColumn := aGrid.Columns[aGrid.Col - aGrid.IndicatorOffset];
if aColumn.PickList.Count > 0 then
begin
if not (aDataSet.State in [dsEdit, dsInsert]) then
aDataSet.Edit;
tmI := aDataSet.FieldByName(aColumn.FieldName).AsInteger;
tmI := aColumn.PickList.IndexOfObject(Pointer(tmI));
Inc(tmI);
if tmI > aColumn.Picklist.Count then
tmI := 1;
aDataSet.FieldByName(aColumn.FieldName).AsString :=
IntFormatStr(Integer(aColumn.PickList.Objects[tmI]), 4);
end;
end;
procedure TFm_StudentMangeAction.GGridKeyDown(Sender: TObject;
var Key: Word; Shift: TShiftState);
begin//
if (Key = VK_SPACE) and (Shift = []) then
GGridDblClick(Sender);
end;
procedure TFm_StudentMangeAction.Btn_HAddClick(Sender: TObject);
begin
with Qry_Health do
try
DisableControls;
AppendRecord([Ed_XHao01.Text + Ed_XHao02.Text, S_CurTermCode]);
HGrid.Options := HGrid.Options + [tgEditing];
HGrid.SetFocus;
finally
EnableControls;
end;
Btn_HAdd.Enabled := False;
end;
procedure TFm_StudentMangeAction.Btn_HEditClick(Sender: TObject);
begin//
Qry_Health.Edit;
HGrid.Col := 3;
end;
procedure TFm_StudentMangeAction.Qry_FamilyD_CSRQIGetText(Sender: TField;
var Text: String; DisplayText: Boolean);
begin //
if Sender.AsFloat < 10959 then
Text := ''
else
Text := FormatDateTime('ddddd', Sender.AsDateTime);
end;
procedure TFm_StudentMangeAction.FormCreate(Sender: TObject);
begin
RegisterDibGraphic('BMP', 'Bitmap file', TBitmapGraphic);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -