📄 input.pas
字号:
unit Input;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, jpeg, ExtCtrls, ComCtrls, Buttons,db, XPMenu;
type
TInputForm = class(TForm)
StatusBar1: TStatusBar;
GroupBox1: TGroupBox;
GroupBox3: TGroupBox;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label7: TLabel;
Label9: TLabel;
Label10: TLabel;
Label11: TLabel;
X1: TEdit;
X2: TEdit;
X3: TComboBox;
X18: TEdit;
X11: TEdit;
Label13: TLabel;
X20: TMemo;
CheckBox1: TCheckBox;
Button1: TButton;
Button2: TButton;
Label14: TLabel;
X5: TEdit;
Label15: TLabel;
X4: TEdit;
Label16: TLabel;
X9: TEdit;
Label17: TLabel;
X10: TEdit;
Label18: TLabel;
Label19: TLabel;
Label20: TLabel;
X13: TEdit;
X12: TEdit;
X14: TEdit;
Label21: TLabel;
X15: TEdit;
Label22: TLabel;
X19: TEdit;
Label23: TLabel;
X6: TEdit;
X16: TEdit;
x7: TEdit;
x8: TEdit;
Label6: TLabel;
X21: TEdit;
x17: TComboBox;
procedure Button1Click(Sender: TObject);
procedure CheckBox1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
InputForm: TInputForm;
implementation
uses md;//classroom,md;
{$R *.dfm}
//当录入一条记录时。对应的寝室实住人数自动增加
procedure ChangeRenNum(s:string);
begin
end;
//isempty函数是判断相应的字段是否为空,判断传递过来的对象是否与已知对象相同
//相同再判断是不是空的
function IsEmpty1(Sender:Tobject):boolean;
begin
if (sender is Tedit) then //判断是否为Tedit控件
if trim((sender as Tedit).Text)='' then
begin
showmessage('请输入数据');
result:=false;
(sender as tedit).SetFocus;
exit;
end;
if (sender is Tcombobox) then //判断是否为Tcombobox
if trim((sender as Tcombobox).Text)='' then
begin
result:=false;
showmessage('请输入数据');
(sender as Tcombobox).SetFocus;
exit;
end;
if (sender is Tmemo) then //判断是否为Tmemo
if trim((sender as Tmemo).Text)='' then
begin
result:=false;
showmessage('请输入数据');
(sender as Tmemo).SetFocus;
exit;
end;
if (sender is TDatetimePicker) then //判断是否为TDateTimePicker
if trim(datetimetostr((sender as TDateTimePicker).DateTime))='' then
begin
result:=false;
showmessage('请输入数据');
(sender as TDateTimePicker).SetFocus;
exit;
end;
result:=true;
end;
//checkCom 过程是当修改是判断当前记录的值。在combobox中的位置。以及移到相应的值上面
procedure checkcom(Sender:TObject;str:string);
var
i:integer;
begin
for i:=0 to (sender as Tcombobox).Items.Count-1 do
begin
(sender as Tcombobox).ItemIndex:=i;
if (sender as Tcombobox).Text=str then
exit;
end;
end;
procedure TInputForm.Button1Click(Sender: TObject);
begin
with datamd.ADOQuerystudent do
begin
close;
sql.Clear;
sql.Add('select * from student');
open; //打开数据库,以便做相就应操作
if (not checkbox1.Checked) and IsEmpty1(x1) and isempty1(x2) and
isempty1(x3) and isempty1(x4) and isempty1(x5) and isempty1(x6) and isempty1(x17) and isempty1(x18)
and isempty1(x7) and isempty1(x8) and isempty1(x9) and isempty1(x10) and isempty1(x11)and isempty1(x19)
and isempty1(x12) and isempty1(x13) and isempty1(x14) and isempty1(x15) and isempty1(x16) and isempty1(x20) and isempty1(x21)
then
if locate('学号',trim(X1.Text),[lopartialkey]) then
begin
showmessage('该记录已经存在');
cancel;
end
else
begin
append;
fieldbyname('学号').AsString:=Trim(X1.Text);
fieldbyname('姓名').AsString:=trim(x2.Text);
fieldbyname('性别').AsString:=trim(x3.Text);
fieldbyname('身份证号').AsString:=trim(x4.Text);
fieldbyname('贷款编号').AsString:=trim(x5.Text);
fieldbyname('贷款金额').AsString:=trim(x6.Text);
fieldbyname('入学年月').AsString:=trim(x7.Text);
fieldbyname('出生年月').AsString:=trim(x8.Text);
fieldbyname('省市').AsString:=trim(x9.Text);
fieldbyname('地县').AsString:=trim(x10.Text);
fieldbyname('地址').AsString:=trim(x11.Text);
fieldbyname('邮编').AsString:=trim(x12.Text);
fieldbyname('家庭电话').AsString:=trim(x13.Text);
fieldbyname('寝室电话').AsString:=trim(x14.Text);
fieldbyname('移动电话').AsString:=trim(x15.Text);
fieldbyname('专业').AsString:=trim(x16.Text);
fieldbyname('学院').AsString:=trim(x17.Text);
fieldbyname('班级').AsString:=trim(x18.Text);
fieldbyname('奖惩情况').AsString:=trim(x19.Text);
fieldbyname('备注信息').AsString:=trim(x20.Text);
fieldbyname('贷款项目').asString:=trim(x21.Text);
try
if messagedlg('请确认输入的数据无误,然后写入数据库!',mtconfirmation,[mbYes,mbNO],0)=mryes then
begin
post;
InputForm.Close;
end
else
begin
showmessage('操作已取消,请重新输入');
cancel;
exit;
end;
except
on EdatabaseError do
end;
end;
if checkbox1.Checked then
begin
if locate('学号',trim(X1.Text),[lopartialkey]) then
begin
showmessage('该记录已经存在');
cancel;
end
else
begin
edit;
fieldbyname('学号').AsString:=Trim(X1.Text);
fieldbyname('姓名').AsString:=trim(x2.Text);
fieldbyname('性别').AsString:=trim(x3.Text);
fieldbyname('身份证号').AsString:=trim(x4.Text);
fieldbyname('贷款编号').AsString:=trim(x5.Text);
fieldbyname('贷款金额').AsString:=trim(x6.Text);
fieldbyname('入学年月').AsString:=trim(x7.Text);
fieldbyname('出生年月').AsString:=trim(x8.Text);
fieldbyname('省市').AsString:=trim(x9.Text);
fieldbyname('地县').AsString:=trim(x10.Text);
fieldbyname('地址').AsString:=trim(x11.Text);
fieldbyname('邮编').AsString:=trim(x12.Text);
fieldbyname('家庭电话').AsString:=trim(x13.Text);
fieldbyname('寝室电话').AsString:=trim(x14.Text);
fieldbyname('移动电话').AsString:=trim(x15.Text);
fieldbyname('专业').AsString:=trim(x16.Text);
fieldbyname('学院').AsString:=trim(x17.Text);
fieldbyname('班级').AsString:=trim(x18.Text);
fieldbyname('奖惩情况').AsString:=trim(x19.Text);
fieldbyname('备注信息').AsString:=trim(x20.Text);
fieldbyname('贷款项目').asString:=trim(x21.Text);
if messagedlg('请确认输入的数据无误,然后写入数据库!',mtconfirmation,[mbYes,mbNO],1)=mryes then
begin
post;
InputForm.Close;
end
else
begin
showmessage('操作已取消,请重新输入');
cancel;
end;
end;
end;
end;
end;
procedure TInputForm.CheckBox1Click(Sender: TObject);
begin
//当单击选择框时做相应的改变。当选中时修改最后一条记录。当没有选中时
//最后一条记录
with datamd.ADOQuerystudent do
begin
close;
sql.Clear;
sql.Add('select * from student');
open;
if checkbox1.Checked then
begin
last;
prior;
X1.Text:=fieldbyname('学号').AsString;
x2.Text:=fieldbyname('姓名').AsString;
X3.Text:=fieldbyname('性别').AsString;
X4.Text:=fieldbyname('身份证号').AsString;
x5.Text:=fieldbyname('贷款编号').AsString;
x6.Text:=fieldbyname('贷款金额').AsString;
x7.Text:=fieldbyname('入学年月').AsString;
X8.Text:=fieldbyname('出生年月').AsString;
x9.Text:=fieldbyname('省市').AsString;
X10.Text:=fieldbyname('地县').AsString;
X11.Text:=fieldbyname('地址').AsString;
x12.Text:=fieldbyname('邮编').AsString;
x13.Text:=fieldbyname('家庭电话').AsString;
x14.Text:=fieldbyname('寝室电话').AsString;
X15.Text:=fieldbyname('移动电话').AsString;
x16.Text:=fieldbyname('专业').AsString;
X17.Text:=fieldbyname('学院').AsString;
X18.Text:=fieldbyname('班级').AsString;
x19.Text:=fieldbyname('奖惩情况').AsString;
x20.Text:=fieldbyname('备注信息').AsString;
x21.Text:=fieldbyname('贷款项目').asString;
last;
end
else
begin
x1.Clear;
x2.Clear;
x3.Clear;
x4.Clear;
x5.Clear;
x6.Clear;
x7.Clear;
x8.Clear;
x9.Clear;
x10.Clear;
x11.Clear;
x12.Clear;
x13.Clear;
x14.Clear;
x15.Clear;
x16.Clear;
x17.Clear;
x18.Clear;
x19.Clear;
x20.Clear;
last;
end;
end;
end;
procedure TInputForm.Button2Click(Sender: TObject);
begin
close;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -