📄 addgradeunit.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 + -