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

📄 unit1.pas

📁 这是一个简单Delphi应用开发实例
💻 PAS
📖 第 1 页 / 共 2 页
字号:
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 + -