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

📄 main.pas

📁 同学通讯录
💻 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');
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 + -