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

📄 addgradeunit.pas

📁 教学管理系统源代码
💻 PAS
字号:
unit addgradeUnit;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Mask, ExtCtrls, Grids, DBGrids, Menus, Buttons;

type
  TaddgradeForm = class(TForm)
    Panel1: TPanel;
    Panel2: TPanel;
    ComboBox1: TComboBox;
    ComboBox2: TComboBox;
    ComboBox3: TComboBox;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Bevel1: TBevel;
    Panel3: TPanel;
    MaskEdit1: TMaskEdit;
    MaskEdit2: TMaskEdit;
    MaskEdit3: TMaskEdit;
    MaskEdit4: TMaskEdit;
    MaskEdit5: TMaskEdit;
    MaskEdit6: TMaskEdit;
    MaskEdit7: TMaskEdit;
    MaskEdit8: TMaskEdit;
    MaskEdit9: TMaskEdit;
    MaskEdit10: TMaskEdit;
    Edit1: TComboBox;
    Edit2: TComboBox;
    Edit3: TComboBox;
    Edit4: TComboBox;
    Edit5: TComboBox;
    Edit6: TComboBox;
    Edit7: TComboBox;
    Edit8: TComboBox;
    Edit9: TComboBox;
    Edit10: TComboBox;
    MaskEdit11: TMaskEdit;
    MaskEdit12: TMaskEdit;
    MaskEdit13: TMaskEdit;
    MaskEdit14: TMaskEdit;
    MaskEdit15: TMaskEdit;
    MaskEdit16: TMaskEdit;
    MaskEdit17: TMaskEdit;
    MaskEdit18: TMaskEdit;
    MaskEdit19: TMaskEdit;
    MaskEdit20: TMaskEdit;
    Edit11: TComboBox;
    Edit12: TComboBox;
    Edit13: TComboBox;
    Edit14: TComboBox;
    Edit15: TComboBox;
    Edit16: TComboBox;
    Edit17: TComboBox;
    Edit18: TComboBox;
    Edit19: TComboBox;
    Edit20: TComboBox;
    MaskEdit21: TMaskEdit;
    MaskEdit22: TMaskEdit;
    MaskEdit23: TMaskEdit;
    MaskEdit24: TMaskEdit;
    MaskEdit25: TMaskEdit;
    MaskEdit26: TMaskEdit;
    MaskEdit27: TMaskEdit;
    MaskEdit28: TMaskEdit;
    MaskEdit29: TMaskEdit;
    MaskEdit30: TMaskEdit;
    Edit21: TComboBox;
    Edit22: TComboBox;
    Edit23: TComboBox;
    Edit24: TComboBox;
    Edit25: TComboBox;
    Edit26: TComboBox;
    Edit27: TComboBox;
    Edit28: TComboBox;
    Edit29: TComboBox;
    Edit30: TComboBox;
    MaskEdit31: TMaskEdit;
    MaskEdit32: TMaskEdit;
    MaskEdit33: TMaskEdit;
    MaskEdit34: TMaskEdit;
    MaskEdit35: TMaskEdit;
    MaskEdit36: TMaskEdit;
    MaskEdit37: TMaskEdit;
    MaskEdit38: TMaskEdit;
    MaskEdit39: TMaskEdit;
    MaskEdit40: TMaskEdit;
    Edit31: TComboBox;
    Edit32: TComboBox;
    Edit33: TComboBox;
    Edit34: TComboBox;
    Edit35: TComboBox;
    Edit36: TComboBox;
    Edit37: TComboBox;
    Edit38: TComboBox;
    Edit39: TComboBox;
    Edit40: TComboBox;
    Panel4: TPanel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    Label10: TLabel;
    Label11: TLabel;
    Label12: TLabel;
    Bevel2: TBevel;
    Bevel3: TBevel;
    Bevel4: TBevel;
    Bevel5: TBevel;
    PopupMenu1: TPopupMenu;
    N1: TMenuItem;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    BitBtn3: TBitBtn;
    BitBtn4: TBitBtn;
    ComboBox4: TComboBox;
    Label13: TLabel;
    ComboBox5: TComboBox;
    Label14: TLabel;
    Bevel6: TBevel;
    procedure FormCreate(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
  
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  addgradeForm: TaddgradeForm;

implementation

uses datamoduleUnit;

{$R *.dfm}

procedure TaddgradeForm.FormCreate(Sender: TObject);
var year,month,day:word;
     n:integer;
     thisyear:integer;
begin
  DecodeDate(now, Year, Month, Day);
  thisyear:=round(year);
for n:=1 to 20 do
   begin
    combobox1.Items.Add(inttostr(thisyear));
    thisyear:=thisyear-1;
   end;
 combobox1.ItemIndex:=0;

 with datamodule1.tablecourse do
       begin
         open;
            while  not eof  do
              begin
                  combobox3.Items.Add( FieldByName('cname').AsString);
                  next;
              end;
       close;
       end;
  with datamodule1.tableteacher do
       begin
         open;
            while  not eof  do
              begin
                  combobox4.Items.Add( FieldByName('tname').AsString);
                  next;
              end;
       close;
       end;
datamodule1.tablegrade.Open;
combobox5.ItemIndex:=0;

end;






procedure TaddgradeForm.BitBtn1Click(Sender: TObject);
var len:integer;
     n:integer;
     temp:string;
begin
len:=length(trim(maskedit1.Text));
if  trim(maskedit1.text)='' then
  begin
    messagebox (Handle,'只有输入第一个学号后,才能自动加一!!','警告',mb_ok) ;
    exit;
  end;
for  n:=0 to panel3.ControlCount-1 do
  begin
      with panel3 do
       begin
       if panel3.Controls[n] is tmaskedit then
          begin
          temp:=inttostr(strtoint(trim(maskedit1.Text))+tmaskedit(controls[n]).tag);
           while length(temp)<len do
               temp:='0'+temp;
          tmaskedit(controls[n]).Text:=temp;
          end;
       end;
  end;



end;

procedure TaddgradeForm.BitBtn2Click(Sender: TObject);
var i,j:integer;
    addcount,updatecount:integer;
    temp:string;
begin
addcount:=0;
updatecount:=0;
if (combobox1.Text='')or (combobox2.Text='')or (combobox3.Text='')or (combobox4.Text='')then
begin
 messagebox (handle,'年份、学期、课程名称、教师为必填字段!','警告',mb_ok) ;
 exit;
end;
 with panel3 do
  begin
   for i:=0 to ControlCount-1 do
     begin
       if (Controls[i] is tmaskedit)and (trim(tmaskedit(controls[i]).Text)<>'') then
           begin
            for j:=0 to ControlCount-1 do
               begin
                if (Controls[j] is tcombobox)and (controls[j].tag=Controls[i].Tag)
                  and (trim(tcombobox(controls[j]).Text)<>'')
                  and (datamodule1.mystrtofloat(trim(tcombobox(controls[j]).Text))<>-1) then
                  with datamodule1.tablegrade do
                      begin
                        if not Locate('sno;cname;type;year;term',
                        VarArrayOf([tmaskedit(controls[i]).Text,combobox3.Text,
                        combobox5.Text,combobox1.text,combobox2.text]),[]) then
                         begin
                           Insert;
                           fieldbyname('sno').AsString:=tmaskedit(controls[i]).Text;
                           fieldbyname('cname').AsString:=combobox3.Text;
                           fieldbyname('tname').AsString:=combobox4.Text;
                           fieldbyname('grade').AsString:=tcombobox(controls[j]).Text;
                           fieldbyname('year').AsString:=combobox1.Text;
                           fieldbyname('term').AsString:=combobox2.Text;
                           fieldbyname('type').AsString:=combobox5.Text;
                           post;
                           addcount:=addcount+1;
                           tcombobox(controls[j]).Text:='';
                         end
                         else
                          begin
                           temp:=tmaskedit(controls[i]).Text+' '+combobox3.Text+' '+
                           combobox5.Text+' 的记录已经存在,是否更新原来的记录?';
                           if messagebox (handle,pchar(temp),'警告',MB_OKCANCEL)=IDOK  then
                           begin
                           datamodule1.tablegrade.Edit;
                           fieldbyname('sno').AsString:=tmaskedit(controls[i]).Text;
                           fieldbyname('cname').AsString:=combobox3.Text;
                           fieldbyname('tname').AsString:=combobox4.Text;
                           fieldbyname('grade').AsString:=tcombobox(controls[j]).Text;
                           fieldbyname('year').AsString:=combobox1.Text;
                           fieldbyname('term').AsString:=combobox2.Text;
                           fieldbyname('type').AsString:=combobox5.Text;
                           UpdateRecord;
                           post;
                           updatecount:=updatecount+1;
                           tcombobox(controls[j]).Text:='';
                           end;
                           end;
                        end;
               end;
           end;
    end;
 temp:=format('共有 %d 条记录被添加; %d 条记录被更新!',[addcount,updatecount]);
 messagebox (handle,pchar(temp),'反馈信息',MB_OK);
 end;
end;

procedure TaddgradeForm.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
datamodule1.tablegrade.Close;
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -