📄 unit1.pas
字号:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, ToolWin, ExtCtrls, Grids, DBGrids, StdCtrls, ImgList,
DB, ADODB, Buttons, Menus, jpeg, DBCtrls, XPMan, ExtDlgs,StrUtils;
type
TMain = class(TForm)
Panel1: TPanel;
CoolBar1: TCoolBar;
ToolBar1: TToolBar;
StatusBar1: TStatusBar;
ImageList1: TImageList;
ToolButton1: TToolButton;
ToolButton2: TToolButton;
ToolButton3: TToolButton;
ToolButton4: TToolButton;
ToolButton5: TToolButton;
ToolButton6: TToolButton;
ToolButton7: TToolButton;
Panel2: TPanel;
TreeView1: TTreeView;
Panel3: TPanel;
GroupBox1: TGroupBox;
DBGrid1: TDBGrid;
ADOConnection1: TADOConnection;
ADOQuery1: TADOQuery;
DataSource1: TDataSource;
ImageList2: TImageList;
ADOQuery2: TADOQuery;
GroupBox2: TGroupBox;
ComboBox3: TComboBox;
Edit8: TEdit;
Label12: TLabel;
Label13: TLabel;
ADOQuery3: TADOQuery;
ToolButton8: TToolButton;
ToolButton9: TToolButton;
XPManifest1: TXPManifest;
GroupBox3: TGroupBox;
DBNavigator1: TDBNavigator;
ADOQuery4: TADOQuery;
ToolButton10: TToolButton;
ADOQuery5: TADOQuery;
SpeedButton1: TSpeedButton;
Timer1: TTimer;
GroupBox4: TGroupBox;
Image1: TImage;
OpenPictureDialog1: TOpenPictureDialog;
Image2: TImage;
ADOQuery6: TADOQuery;
Panel4: TPanel;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
Label10: TLabel;
Label11: TLabel;
Label14: TLabel;
SpeedButton2: TSpeedButton;
Edit1: TEdit;
Edit2: TEdit;
ComboBox1: TComboBox;
DateTimePicker1: TDateTimePicker;
Edit3: TEdit;
Edit4: TEdit;
Edit5: TEdit;
Edit6: TEdit;
Edit7: TEdit;
Memo1: TMemo;
ComboBox2: TComboBox;
Edit9: TEdit;
DataSource2: TDataSource;
procedure ToolButton4Click(Sender: TObject);
procedure ComboBox3Enter(Sender: TObject);
procedure ComboBox3Exit(Sender: TObject);
procedure Edit8Enter(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure Edit8Exit(Sender: TObject);
procedure TreeView1Click(Sender: TObject);
procedure ToolButton8Click(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure ToolButton3Click(Sender: TObject);
procedure ToolButton10Click(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure ComboBox3KeyPress(Sender: TObject; var Key: Char);
procedure Edit8KeyPress(Sender: TObject; var Key: Char);
procedure SpeedButton2Click(Sender: TObject);
procedure Image1DblClick(Sender: TObject);
Procedure TreeviewReFresh();
procedure BeComeEnable(Ena:Boolean);
procedure ComboBox2KeyPress(Sender: TObject; var Key: Char);
procedure TreeView1Expanding(Sender: TObject; Node: TTreeNode;
var AllowExpansion: Boolean);
private
{ Private declarations }
public
Node1,Node2,Node3,Node4:TTreeNode;
{ Public declarations }
end;
var
Main: TMain;
ImagePath:string;
implementation
uses Unit2, Unit3, Unit4, Unit5;
{$R *.dfm}
procedure TMain.ToolButton4Click(Sender: TObject);
begin
if MessageDlg('确定要退出系统吗?',mtconfirmation,[mbyes,mbno],0)=mryes then
begin
Application.Terminate; //终止程序
end;
end;
procedure TMain.ComboBox3Enter(Sender: TObject);//如果数据字段组件获得焦点,将其背景颜色设置为青色
begin
Combobox3.Color := clAQua;
end;
procedure TMain.ComboBox3Exit(Sender: TObject); //如果数据字段组件失去焦点,将其背景颜色设置为白色
begin
Combobox3.Color := clWindow;
end;
procedure TMain.Edit8Enter(Sender: TObject); //如果查询内容组件获得焦点,将其背景颜色设置为青色
begin
Edit8.Color := clAQua;
end;
procedure TMain.Edit8Exit(Sender: TObject); //如果查询内容组件失去焦点,将其背景颜色设置为白色
begin
Edit8.Color := Clwindow;
end;
procedure TMain.FormCreate(Sender: TObject);
var
i:integer;
begin
with ADOQuery1 do
begin
Close;
SQL.Clear;
SQL.Add('Select * From msn');
Open;
ADOQuery1.First;
For i := 0 to ADOQuery1.FieldCount - 1 do //将变量 i 进行循环,使其获得所有字段名称
begin
if (ADOQuery1.Fields[i].FieldName <> '照片') and (ADOQuery1.Fields[i].FieldName <> '出生日期') then
Combobox3.Items.Add(ADOQuery1.Fields[i].FieldName); //将所有的字段名称添加到数据字段组件中
end;
ADOQuery1.Next;
end;
end;
procedure TMain.ToolButton1Click(Sender: TObject);
begin
addmsn.ShowModal;//打开添加窗体
end;
procedure TMain.TreeView1Click(Sender: TObject);
var
Str:string;
begin
if Treeview1.Selected = nil then //如果在通讯目录中选择的项目为空,将弹出信息框
begin
Showmessage('选择不能为空!');
exit;
end;
ADOQuery5.SQL.Clear ;
str :='select * from msn where 姓名=:A'; //A为参数
ADOQuery5.SQL.Add(str);
ADOQuery5.Parameters.ParamByName('A').Value := TreeView1.Selected.Text; //将A参数的值设置为当前所选择的项目名称
ADOQuery5.Prepared;
ADOQuery5.Open;
if (ADOQuery5.RecordCount > 0) and (Treeview1.Selected <> Nil) then //判断数据记录是否为空,并且在通讯目录中选择的项目不为空
with ADOQuery5 do //将所对应的数据加入到文本组件中
begin
Edit1.Text := ADOQuery5.fieldbyname('编号').AsString;
Edit2.Text := ADOQuery5.fieldbyname('姓名').AsString;
Combobox1.Text := ADOQuery5.fieldbyname('性别').AsString;
DatetimePicker1.Date := ADOQuery5.fieldbyname('出生日期').Value;
Edit3.Text := ADOQuery5.fieldbyname('民族').AsString;
Edit4.Text := ADOQuery5.fieldbyname('家庭电话').AsString;
Edit5.Text := ADOQuery5.fieldbyname('手机号码').AsString;
Edit6.Text := ADOQuery5.fieldbyname('QQ号码').AsString;
Edit7.Text := ADOQuery5.fieldbyname('E_mail').AsString;
Edit9.Text := ADOQuery5.fieldbyname('照片').AsString;
Memo1.Lines.Text := ADOQuery5.fieldbyname('备注').AsString;
Combobox2.Text := ADOQuery5.fieldbyname('类型').AsString;
if Assigned(TreeView1.Selected) then
if TreeView1.Selected.Text = ADOQuery5.FieldByName('姓名').AsString then
begin
if ADOQuery5.FieldByName('照片').AsString = '' then//如果在所对应的数据信息中,不存在照片,将图像1设置为图像2的图像
begin
Image1.Picture:=Image2.Picture;
Image2.Left:=(GroupBox4.Width - Image2.Width) div 2;//设置图像显示在容器居中的位置
Image2.Top:=(GroupBox4.Height - Image2.Height) div 2;
exit;
end;
try
image1.Picture.Assign(image2.Picture);
if leftstr(ADOQuery5.fieldbyname('照片').AsString,4)='\图片\' then
Image1.Picture.LoadFromFile(ImagePath+ADOQuery5.fieldbyname('照片').AsString)//如果在所对应的数据信息中存在照片,将图像1设置为所对应的图像
else
Image1.Picture.LoadFromFile(ADOQuery5.fieldbyname('照片').AsString);
except
ShowMessage('图片路径不存在!');
end;
end;
end;
end;
procedure TMain.ToolButton8Click(Sender: TObject);
begin
with ADOQuery1 do
begin
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('Select * From msn');//重新选择 msn 数据表
ADOQuery1.Open;
end;
end;
procedure TMain.ToolButton2Click(Sender: TObject);
begin
if Treeview1.Selected.Text = '通讯目录' then
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -