📄 jxjhc.pas
字号:
unit jxjhc;
interface
uses
Windows, Messages, SysUtils, StrUtils,Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, DB, ADODB, DBTables, Grids, DBGrids, DBCtrls;
type
Tfrmjxjhc = class(TForm)
Label10: TLabel;
Label11: TLabel;
Label12: TLabel;
Panel1: TPanel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
Cb_xnxq: TComboBox;
E_jkxs: TEdit;
E_syxs: TEdit;
E_xf: TEdit;
E_jkzxs: TEdit;
E_syzxs: TEdit;
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Q_xnxqh: TQuery;
Q_kyy_xnxq: TQuery;
DBNavigator1: TDBNavigator;
Button5: TButton;
Label13: TLabel;
procedure FormCreate(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Cb_xnxqChange(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Cb_xnxqKeyPress(Sender: TObject; var Key: Char);
procedure E_jkxsKeyPress(Sender: TObject; var Key: Char);
procedure E_jkzxsKeyPress(Sender: TObject; var Key: Char);
procedure E_syxsKeyPress(Sender: TObject; var Key: Char);
procedure E_xfKeyPress(Sender: TObject; var Key: Char);
procedure E_syzxsKeyPress(Sender: TObject; var Key: Char);
procedure DBNavigator1Click(Sender: TObject; Button: TNavigateBtn);
procedure Button5Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frmjxjhc: Tfrmjxjhc;
kyy,v_zy,v_xnxqh,rxnf:string;
v_kyy,Prxnf:boolean;
nKyy:integer;
implementation
uses jxjh, zhxx;
{$R *.dfm}
procedure Recordrefresh(zt:TObject) ;
var
i,j:integer;
begin
//初始化变量v_kyy,是增加还是修改记录
i:=0;
j:=0;
with frmjxjhc do
begin
// if dm.Query1.active then dm.Query1.active:=false;
// dm.Query1.active:=true;
if not dm.Query1.eof then
begin
rxnf:=Frmjxjhgl.DBcombox1.Text;
label1.caption:= rxnf;
//显示专业
label2.caption:=dm.query1['SYS_ZY__ZYM']+' ';
//显示课程
label3.caption :=dm.query1['sys_kc__kcm']+' ';
//显示主表关键字
kyy:=dm.query1['JW_JXJHb__KYY'];
//label13.Caption :=v_kyy;
// dm.T_jxjhc.close;
// dm.t_jxjhc.open;
if (dm.Q_jxjhc.active) and (dm.Q_jxjhc.RecordCount>0) then
begin
// nRec:=dm.Q_jxjhc['jw_jxjhc__bh'];
if dm.Q_jxjhc['SYS_XNXQ__XNXQWZ']<>null then
begin
cb_xnxq.text:=dm.Q_jxjhc['SYS_XNXQ__XNXQWZ'];
q_xnxqh.Close;
q_xnxqh.Params[0].asstring:=cb_xnxq.text;
q_xnxqh.Open;
v_xnxqh :=q_xnxqh['sys_xnxq__xnxqh'];
//查询当前的下拉列表有索引
with dm.table_xnxq do
begin
first;
while not eof do
begin
if fieldbyname('SYS_XNXQ__XNXQWZ').AsString =cb_xnxq.text then
i:=j
else
j:=j+1;
next;
end;
Cb_xnxq.ItemIndex:=i;
end;
end;
//label12.caption:=dm.q_jxjhc['SYS_XNXQ__XNXQH'];
if dm.q_jxjhc['JW_JXJHC__JKZXS']=null
then e_jkxs.Text:=''
else e_jkxs.Text :=inttostr(dm.q_jxjhc['JW_JXJHC__JKZXS']);
if dm.q_jxjhc['JW_JXJHC__JKoXS']=null
then e_jkzxs.Text:=''
else e_jkzxs.Text:=inttostr(dm.q_jxjhc['JW_JXJHC__JKOXS']);
if dm.q_jxjhc['JW_JXJHC__SYZXS']=null
then e_syxs.Text :=''
else e_syxs.Text :=inttostr(dm.q_jxjhc['JW_JXJHC__SYZXS']);
if dm.q_jxjhc['JW_JXJHC__SYoXS']=null
then e_syzxs.Text :=''
else e_syzxs.text:=inttostr(dm.q_jxjhc['JW_JXJHC__SYoXS']);
if dm.q_jxjhc['JW_JXJHC__xf']=null
then e_xf.text:=''
else e_xf.Text:=floattostr(dm.q_jxjhc['JW_JXJHC__XF']);
end
else
begin
//nREc:=0;
// cb_xnxq.ItemIndex:=0;
e_jkxs.Text:='';
e_jkzxs.Text:='';
e_syxs.Text :='';
e_syzxs.Text :='';
e_xf.text:='';
end;
end ;
end;
end;
procedure Tfrmjxjhc.FormCreate(Sender: TObject);
var
M,N:INTEGER;
f_xq:boolean;
begin
//cb-xnxq代码
N:=0;
M:=0;
f_xq:=false;
with dm.table_xnxq do
begin
close;
open;
CB_xnxq.clear;
while not eof do
begin
CB_xnxq.items.add(fieldbyname('SYS_XNXQ__XNXQWZ').asstring);
if (not f_xq) and (LeftStr(dm.table_xnxq.FieldValues['SYS_XNXQ__XNXQH'],4)=Frmjxjhgl.DBcombox1.Text) then
begin
M:=N;
v_xnxqh :=dm.table_xnxq['sys_xnxq__xnxqh'];
f_xq:=true;
end
ELSE
N:=N+1;
next;
end;
CB_xnxq.ItemIndex:=M;
end;
end;
procedure Tfrmjxjhc.FormShow(Sender: TObject);
begin
v_kyy:=false;
Prxnf:=false;
Recordrefresh(Frmjxjhc);
end;
procedure Tfrmjxjhc.Button2Click(Sender: TObject);
begin
v_kyy:=true;
button2.Enabled:=false;
button3.Enabled:=false;
if DM.Q_jxjhc.active=true then
begin
DM.Q_jxjhc.Last;
Recordrefresh(Frmjxjhc);
Cb_xnxq.ItemIndex:=Cb_xnxq.ItemIndex+1;
Cb_xnxq.OnChange(Cb_xnxq.Items);
end;
end;
procedure Tfrmjxjhc.Button4Click(Sender: TObject);
begin
v_kyy:=false;
button2.Enabled:=true;
button3.Enabled:=true;
Recordrefresh(Frmjxjhc);
end;
procedure Tfrmjxjhc.Button1Click(Sender: TObject);
begin
button2.Enabled:=true;
button3.Enabled:=true;
if (CB_xnxq.Text='') or (e_jkxs.Text='') or (Prxnf=true) then
begin
showMessage('讲课、学期不能为空或学期时间不合理,重新输入');
exit;
end;
if (dm.Query1.Active=true) and (dm.Query1.RecordCount<>0) then
kyy:=dm.query1['JW_JXJHb__KYY']
else
v_kyy:=true;
//检查教学计划子表是否已录入过
dm.t_jxjhc.close;
dm.t_jxjhc.open;
dm.t_jxjhc.IndexFieldNames:='JW_JXJHC__KYY;JW_JXJHC__XNXQH';
If not dm.t_jxjhc.FindKey([kyy,v_xnxqh]) then
begin
v_kyy:=true;
dm.t_jxjhc.Append;
end
else
begin
if application.messagebox('是否修改记录?','操作确认',mb_okcancel)=idok then
v_kyy:=false
else
close;
end;
dm.t_jxjhc.Edit;
dm.t_jxjhc.FieldByName('JW_JXJHC__kyy').Asstring:=kyy ;
dm.t_jxjhc.FieldByName('JW_JXJHC__xnxqh').AsString:=v_xnxqh;
dm.t_jxjhc.FieldByName('JW_JXJHC__jkzxs').AssTRING:=E_jkxs.Text;
if E_jkzxs.Text<>'' then
dm.t_jxjhc.FieldByName('JW_JXJHC__JKOXS').AsString:=E_JKZXS.Text
else dm.t_jxjhc.FieldByName('JW_JXJHC__JKOXS').AsInteger :=2;
if E_SYXS.Text<>'' then
dm.t_jxjhc.FieldByName('JW_JXJHC__SYZXS').AsString:=E_SYXS.Text
else dm.t_jxjhc.FieldByName('JW_JXJHC__SYZXS').asinteger:=0;
if E_SYZXS.Text<>'' then
dm.t_jxjhc.FieldByName('JW_JXJHC__syOXS').AsString:=E_SYZXS.Text
else dm.t_jxjhc.FieldByName('JW_JXJHC__syOXS').AsVariant:=null;
if E_xF.Text<>'' then
dm.t_jxjhc.FieldByName('JW_JXJHC__XF').AsString:=E_XF.Text
else
dm.t_jxjhc.FieldByName('JW_JXJHC__XF').asinteger:=1;
dm.t_jxjhc.Post;
dm.t_jxjhc.Refresh ;
showmessage('教学计划子表处理完毕!');
button2.Enabled:=true;
button3.Enabled :=true;
if v_kyy then
begin
Recordrefresh(Frmjxjhc);
Cb_xnxq.ItemIndex:=Cb_xnxq.ItemIndex+1;
Cb_xnxq.OnChange(Cb_xnxq.Items);
DM.Q_jxjhc.close;
DM.Q_jxjhc.open;
end
else
close;
end;
procedure Tfrmjxjhc.Cb_xnxqChange(Sender: TObject);
begin
q_xnxqh.Close;
q_xnxqh.Params[0].asstring:=cb_xnxq.text;
q_xnxqh.Open;
v_xnxqh :=q_xnxqh['sys_xnxq__xnxqh'];
if (strtoint(copy(v_xnxqh,1,4))-strtoint(rxnf))<0 then
begin
showmessage('学年学期号不对?');
Prxnf:=true;
end
else
Prxnf:=false;
// label4.Caption:=v_xnxqh;
end;
procedure Tfrmjxjhc.Button3Click(Sender: TObject);
begin
if application.messagebox('确认删除该记录吗?','操作确认',mb_okcancel)=idok
then
begin
//删除从表
if dm.t_jxjhc.Active then dm.t_jxjhc.Active:=false;
dm.t_jxjhc.Active:=true;
// dm.t_jxjhc.Edit;
dm.t_jxjhc.IndexFieldNames:='jw_jxjhc__kyy;jw_jxjhc__xnxqh';
nkyy:=strtoint(kyy);
if not dm.t_jxjhc.FindKey([nkyy,v_xnxqh]) then
// if not dm.t_jxjhc.Locate('jw_jxjhc__bh',nRec,[locaseinsensitive])
// then
begin
showmessage('你要删除该记录不存在?');
exit ;
end
else
begin
showmessage('删除该记录了?');
dm.t_jxjhc.Delete;
//dm.Q_jxjhc.refresh;;
close;
end;
// dm.q_jxjhc.close;
end;
end;
procedure Tfrmjxjhc.Cb_xnxqKeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 Then
e_jkxs.SetFocus ;
end;
procedure Tfrmjxjhc.E_jkxsKeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 Then
e_jkzxs.SetFocus ;
end;
procedure Tfrmjxjhc.E_jkzxsKeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 Then
e_syxs.SetFocus ;
end;
procedure Tfrmjxjhc.E_syxsKeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 Then
e_syzxs.SetFocus ;
end;
procedure Tfrmjxjhc.E_xfKeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 Then
button1.SetFocus ;
end;
procedure Tfrmjxjhc.E_syzxsKeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 Then
E_XF.SetFocus ;
end;
procedure Tfrmjxjhc.DBNavigator1Click(Sender: TObject; Button: TNavigateBtn);
begin
Recordrefresh(Frmjxjhc);
end;
procedure Tfrmjxjhc.Button5Click(Sender: TObject);
begin
close;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -