📄 main.~pas
字号:
unit main;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, Menus, StdCtrls, Buttons, ExtCtrls, Grids, DBGrids,
jpeg, DB, DBTables, ExtDlgs, DBCtrls;
type
TForm1 = class(TForm)
PageControl1: TPageControl;
MainMenu1: TMainMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
N5: TMenuItem;
N6: TMenuItem;
TabSheet1: TTabSheet;
TabSheet2: TTabSheet;
Image1: TImage;
name: TLabel;
Edit1: TEdit;
email: TLabel;
Edit2: TEdit;
bth: TLabel;
Edit3: TEdit;
worktel: TLabel;
Edit4: TEdit;
QQ: TLabel;
Edit5: TEdit;
phone: TLabel;
Edit6: TEdit;
tel: TLabel;
Edit7: TEdit;
workunit: TLabel;
Edit8: TEdit;
contactadd: TLabel;
Edit9: TEdit;
Panel1: TPanel;
BitBtn1: TBitBtn;
Bevel1: TBevel;
Bevel2: TBevel;
tianjia: TBitBtn;
shanchu: TBitBtn;
xiugai: TBitBtn;
quxiao: TBitBtn;
GroupBox1: TGroupBox;
RadioButton1: TRadioButton;
RadioButton2: TRadioButton;
RadioButton3: TRadioButton;
Label10: TLabel;
Edit10: TEdit;
BitBtn6: TBitBtn;
Table1: TTable;
shangyi: TBitBtn;
xiayi: TBitBtn;
OpenPictureDialog1: TOpenPictureDialog;
Timer1: TTimer;
DBGrid1: TDBGrid;
DataSource1: TDataSource;
DBImage1: TDBImage;
procedure tianjiaClick(Sender: TObject);
procedure useedit(sender:tobject);
procedure noedit(sender:tobject);
procedure search(sender:tobject);
procedure restudent(sender:tobject);
procedure BitBtn1Click(Sender: TObject);
procedure quxiaoClick(Sender: TObject);
procedure xiugaiClick(Sender: TObject);
procedure shanchuClick(Sender: TObject);
procedure RadioButton1Click(Sender: TObject);
procedure RadioButton2Click(Sender: TObject);
procedure RadioButton3Click(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure xiayiClick(Sender: TObject);
procedure DBGrid1CellClick(Column: TColumn);
procedure FormCreate(Sender: TObject);
procedure DBGrid1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure shangyiClick(Sender: TObject);
procedure N3Click(Sender: TObject);
procedure BitBtn6Click(Sender: TObject);
procedure tuxian(sender:tobject);
procedure Button1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
actioncode: integer;
implementation
uses Unit2;
{$R *.dfm}
procedure tform1.tuxian(sender:tobject);
var
pic:TMemoryStream;
begin
pic:=TMemoryStream.Create;
TBlobField(table1.FieldByName('photo')).savetoStream(pic);
end;
procedure tform1.search(sender:tobject);
begin
edit1.Text:=table1.FieldValues['name'];
edit2.Text:=table1.FieldValues['email'];
edit3.Text:=table1.FieldValues['bth'];
edit4.Text:=table1.FieldValues['worktel'];
edit5.Text:=table1.FieldValues['QQ'];
edit6.Text:=table1.FieldValues['phone'];
edit7.Text:=table1.FieldValues['tel'];
edit8.Text:=table1.FieldValues['workunit'];
edit9.Text:=table1.FieldValues['contactadd'];
end;
procedure tform1.useedit(sender:tobject);
begin
edit1.ReadOnly:=false;
edit2.ReadOnly:=false;
edit3.ReadOnly:=false;
edit4.ReadOnly:=false;
edit5.ReadOnly:=false;
edit6.ReadOnly:=false;
edit7.ReadOnly:=false;
edit8.ReadOnly:=false;
edit9.ReadOnly:=false;
end;
procedure tform1.noedit(sender:tobject);
begin
edit1.ReadOnly:=true;
edit2.ReadOnly:=true;
edit3.ReadOnly:=true;
edit4.ReadOnly:=true;
edit5.ReadOnly:=true;
edit6.ReadOnly:=true;
edit7.ReadOnly:=true;
edit8.ReadOnly:=true;
edit9.ReadOnly:=true;
end;
procedure tform1.restudent(sender:tobject);
var
recno:integer;
begin
if tianjia.Caption='保存' then
begin
table1.Delete;
shanchu.Enabled:=true;
xiugai.Enabled:=true;
quxiao.Enabled:=false;
shangyi.Enabled:=true;
table1.MoveBy(recno-table1.RecordCount);
end;
end;
procedure TForm1.tianjiaClick(Sender: TObject);
begin
bitbtn1.Enabled:=true;
shanchu.Enabled:=false;
xiugai.Enabled:=false;
shangyi.Enabled:=false;
xiayi.Enabled:=false;
if tianjia.Caption='添加' then
begin
useedit(sender);
quxiao.Enabled:=true;
tianjia.Caption:='保存';
edit1.SetFocus;
edit1.Text:='';
edit2.Text:='';
edit3.Text:='';
edit4.Text:='';
edit5.Text:='';
edit6.Text:='';
edit7.Text:='';
edit8.Text:='';
edit9.Text:='';
actioncode:=1;//动作为1
end
else
begin
if edit1.Text =''
then
begin
application.MessageBox('输入姓名,姓名是很重要的','信息',48);
end
else
begin
table1.Active:=true;
table1.Insert;
table1.FieldByName('name').AsString:=edit1.Text;
table1.FieldByName('email').AsString:=edit2.Text;
table1.FieldByName('bth').AsString:=edit3.Text;
table1.FieldByName('worktel').AsString:=edit4.Text;
table1.FieldByName('QQ').AsString:=edit5.Text;
table1.FieldByName('phone').AsString:=edit6.Text;
table1.FieldByName('tel').AsString:=edit7.Text;
table1.FieldByName('workunit').AsString:=edit8.Text;
table1.FieldByName('contactadd').AsString:=edit9.Text;
table1.FieldByName('photo').AsString:=openpicturedialog1.FileName;
table1.Post;
table1.Refresh;
quxiao.Enabled:=false;
bitbtn1.Enabled:=false;
shanchu.Enabled:=true;
xiugai.Enabled:=true;
shangyi.Enabled:=true;
xiayi.Enabled:=true;
tianjia.Caption:='添加';
edit1.Clear;
edit2.Clear;
edit3.Clear;
edit4.Clear;
edit5.Clear;
edit6.Clear;
edit7.Clear;
edit8.Clear;
edit9.Clear;
noedit(sender);
table1.First;
search(sender);
end;
end;
end;
procedure TForm1.BitBtn1Click(Sender: TObject);
var
pic:string;
begin
if image1.picture.Graphic <> nil then
begin
openpicturedialog1.Filter:='所有图像(*.bmp,*.jpg)|'+'*.bmp;*.jpg|bmp图像(*.bmp)|*.bmp|'
+'jpeg图像(*.jpg)|*.jpg';
openpicturedialog1.FilterIndex:=0;
openpicturedialog1.Execute;
pic:=openpicturedialog1.FileName;
dbimage1.Picture.LoadFromFile(pic);
end;
end;
procedure TForm1.quxiaoClick(Sender: TObject);
begin
if(actioncode=1) then
begin
table1.Open;
search(sender);
edit1.ReadOnly:=true;
edit2.ReadOnly:=true;
edit3.ReadOnly:=true;
edit4.ReadOnly:=true;
edit5.ReadOnly:=true;
edit6.ReadOnly:=true;
edit7.ReadOnly:=true;
edit8.ReadOnly:=true;
edit9.ReadOnly:=true;
bitbtn1.Enabled:=true;
tianjia.caption:='添加';
shanchu.enabled:=true;
xiugai.enabled:=true;
shangyi.enabled:=true;
xiayi.enabled:=true;
quxiao.Enabled:=false;
end
else if(actioncode=2) then
begin
tianjia.Enabled:=true;
shanchu.enabled:=true;
xiugai.enabled:=true;
shangyi.enabled:=true;
xiayi.enabled:=true;
quxiao.Enabled:=false;
bitbtn1.Enabled:=false;
xiugai.Caption:='修改';
end
end;
procedure TForm1.xiugaiClick(Sender: TObject);
begin
tianjia.Enabled:=false;
shanchu.Enabled:=false;
shangyi.Enabled:=false;
xiayi.Enabled:=false;
if xiugai.Caption='修改' then
begin
useedit(sender);
quxiao.Enabled:=true;
bitbtn1.Enabled:=true;
xiugai.Caption:='保存';
edit1.SetFocus;
actioncode:=2;
end
else
begin
if edit1.Text ='' then
begin
application.MessageBox('输入姓名,姓名是很重要的','信息',48);
end
else
begin
table1.Edit;
table1.FieldByName('name').AsString:=edit1.Text;
table1.FieldByName('email').AsString:=edit2.Text;
table1.FieldByName('bth').AsString:=edit3.Text;
table1.FieldByName('worktel').AsString:=edit4.Text;
table1.FieldByName('QQ').AsString:=edit5.Text;
table1.FieldByName('phone').AsString:=edit6.Text;
table1.FieldByName('tel').AsString:=edit7.Text;
table1.FieldByName('workunit').AsString:=edit8.Text;
table1.FieldByName('contactadd').AsString:=edit9.Text;
table1.Post;
table1.Refresh;
table1.Close;
noedit(sender);
xiugai.Caption:='修改';
tianjia.Enabled:=true;
shanchu.Enabled:=true;
shangyi.Enabled:=true;
xiayi.Enabled:=true;
quxiao.Enabled:=false;
bitbtn1.Enabled:=false;
table1.Open;
end;
end;
end;
procedure TForm1.shanchuClick(Sender: TObject);
begin
try
if MessageDlg('你确信要删除记录?',mtwarning,[mbok,mbcancel],0)=mrok
then
table1.Delete;
except
showmessage('记录为空,没删除的内容');
end;
end;
procedure TForm1.RadioButton1Click(Sender: TObject);
begin
label10.Caption:='请输入姓名';
edit10.SetFocus;
end;
procedure TForm1.RadioButton2Click(Sender: TObject);
begin
label10.Caption:='请输入QQ';
edit10.SetFocus;
end;
procedure TForm1.RadioButton3Click(Sender: TObject);
begin
label10.Caption:='请输入手机号';
edit10.SetFocus;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
form1.Caption:='通讯录'+formatdatetime(' 日期: yyyy-MM-dd 时间:hh:mm:ss',now);
end;
procedure TForm1.xiayiClick(Sender: TObject);
begin
try
if table1.Eof then
begin
table1.First;
search(sender);
end
else
begin
table1.Next;
search(sender);
tuxian(sender);
noedit(sender);
end;
except
showmessage('没有记录');
end;
end;
procedure TForm1.DBGrid1CellClick(Column: TColumn);
begin
edit1.Text:=table1.FieldValues['name'];
edit2.Text:=table1.FieldValues['email'];
edit3.Text:=table1.FieldValues['bth'];
edit4.Text:=table1.FieldValues['worktel'];
edit5.Text:=table1.FieldValues['QQ'];
edit6.Text:=table1.FieldValues['phone'];
edit7.Text:=table1.FieldValues['tel'];
edit8.Text:=table1.FieldValues['workunit'];
edit9.Text:=table1.FieldValues['contactadd'];
tianjia.Enabled:=true;
bitbtn1.Enabled:=false;
shanchu.Enabled:=true;
xiugai.Enabled:=true;
quxiao.Enabled:=false;
shangyi.Enabled:=true;
xiayi.Enabled:=true;
edit2.ReadOnly:=true;
edit3.ReadOnly:=true;
edit4.ReadOnly:=true;
edit5.ReadOnly:=true;
edit6.ReadOnly:=true;
edit7.ReadOnly:=true;
edit8.ReadOnly:=true;
edit9.ReadOnly:=true;
edit1.ReadOnly:=true;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Image1.Picture.LoadFromFile(ExtractFilePath(paramstr(0))+'\image\天涯若比邻.jpg');
dbImage1.Picture.LoadFromFile(ExtractFilePath(paramstr(0))+'\image\张明我.jpg');
edit1.Text:='张明';
edit2.Text:='张明';
edit3.Text:='张明';
edit4.Text:='张明';
edit5.Text:='张明';
edit6.Text:='张明';
edit7.Text:='张明';
edit8.Text:='张明';
edit9.Text:='张明';
noedit(sender);
quxiao.Enabled:=false;
bitbtn1.Enabled:=false;
end;
procedure TForm1.DBGrid1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
table1.Open;
end;
procedure TForm1.shangyiClick(Sender: TObject);
begin
try
if table1.bof then
begin
table1.Last;
search(sender);
end
else
begin
table1.Prior;
search(sender);
noedit(sender);
end;
except
showmessage('没有记录');
end;
end;
procedure TForm1.N3Click(Sender: TObject);
begin
application.Terminate;
end;
procedure TForm1.BitBtn6Click(Sender: TObject);
begin
if edit10.text='' then
showmessage('请选择好查询方式后再输入要进行查询的内容')
else
begin
if radiobutton1.Checked then
begin
if not table1.Locate('name',edit10.Text,[]) then
begin
showmessage('没有这个人');
edit10.Clear;
end
else
begin
table1.Locate('name',edit10.Text,[]);
search(sender);
edit10.Clear;
end;
end
else if radiobutton2.Checked then
begin
if not table1.Locate('QQ',edit10.Text,[]) then
begin
showmessage('没有这个QQ,也就没有这个人');
edit10.Clear;
end
else
begin
table1.Locate('QQ',edit10.Text,[]);
search(sender);
edit10.Clear;
end;
end
else if radiobutton3.Checked then
begin
if not table1.Locate('phone',edit10.Text,[]) then
begin
showmessage('没有这个手机号,也就没有这个人');
edit10.Clear;
end
else
begin
table1.Locate('phone',edit10.Text,[]);
search(sender);
edit10.Clear;
end;
end;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
table1.Open;
dbgrid1.DataSource.DataSet:=table1;
table1.Refresh;
end;
procedure TForm1.N2Click(Sender: TObject);
begin
form1.Hide;
form2.show;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -