⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jxjhc.pas

📁 本科的毕业设计
💻 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 + -