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

📄 main.~pas

📁 学生通讯录信息系统,可以记录学生的详细信息,并可以进行查询,添加等功能
💻 ~PAS
字号:
{$A+,B-,C+,D+,E-,F-,G+,H+,I+,J-,K-,L+,M-,N+,O+,P+,Q-,R-,S-,T-,U-,V+,W-,X+,Y+,Z1}
{$MINSTACKSIZE $00004000}
{$MAXSTACKSIZE $00100000}
{$IMAGEBASE $00400000}
{$APPTYPE GUI}
unit main;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, DB, ComCtrls, Menus, StdCtrls, Mask, DBCtrls, ImgList,
  XPMenu, DBActns, ActnList, Grids, DBGrids, ExtCtrls, ShellAPI;

type
  TForm1 = class(TForm)
    DataSource1: TDataSource;
    PageControl1: TPageControl;
    TabSheet1: TTabSheet;
    TabSheet2: TTabSheet;
    Panel1: TPanel;
    Label1: TLabel;
    DBEdit1: TDBEdit;
    Label2: TLabel;
    DBEdit2: TDBEdit;
    Label3: TLabel;
    DBEdit3: TDBEdit;
    Label4: TLabel;
    DBEdit4: TDBEdit;
    Label5: TLabel;
    DBEdit5: TDBEdit;
    Label6: TLabel;
    DBEdit6: TDBEdit;
    DBEdit8: TDBEdit;
    Label8: TLabel;
    DBEdit7: TDBEdit;
    Label7: TLabel;
    Label9: TLabel;
    DBEdit9: TDBEdit;
    Label10: TLabel;
    DBEdit10: TDBEdit;
    Button1: TButton;
    DBEdit11: TDBEdit;
    Label11: TLabel;
    Panel2: TPanel;
    Panel3: TPanel;
    ActionList1: TActionList;
    DataSetFirst1: TDataSetFirst;
    DataSetPrior1: TDataSetPrior;
    DataSetNext1: TDataSetNext;
    DataSetLast1: TDataSetLast;
    DataSetInsert1: TDataSetInsert;
    DataSetDelete1: TDataSetDelete;
    DataSetEdit1: TDataSetEdit;
    BtnFirst: TButton;
    BtnPrior: TButton;
    BtnNext: TButton;
    BtnLast: TButton;
    BtnAdd: TButton;
    BtnDelete: TButton;
    BtnEdit: TButton;
    BtnSave: TButton;
    BtnAll: TButton;
    BtnExit: TButton;
    DataSetPost1: TDataSetPost;
    Panel4: TPanel;
    Panel5: TPanel;
    Panel6: TPanel;
    Edit1: TEdit;
    Label12: TLabel;
    Label13: TLabel;
    ComboBox1: TComboBox;
    Button3: TButton;
    Button4: TButton;
    DBGrid1: TDBGrid;
    Label14: TLabel;
    Label15: TLabel;
    Label16: TLabel;
    Label17: TLabel;
    XPMenu1: TXPMenu;
    MainMenu1: TMainMenu;
    N1: TMenuItem;
    N2: TMenuItem;
    N3: TMenuItem;
    N4: TMenuItem;
    N5: TMenuItem;
    N6: TMenuItem;
    N7: TMenuItem;
    N8: TMenuItem;
    N9: TMenuItem;
    N10: TMenuItem;
    N11: TMenuItem;
    N12: TMenuItem;
    N13: TMenuItem;
    ImageList1: TImageList;
    N14: TMenuItem;
    N15: TMenuItem;
    N16: TMenuItem;
    SaveDialog1: TSaveDialog;
    OpenDialog1: TOpenDialog;
    Panel7: TPanel;
    Button5: TButton;
    procedure BtnExitClick(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure filldata;
    procedure search;
    procedure DisplayAllRecorders;
    procedure FormCreate(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure BtnAllClick(Sender: TObject);
    procedure N13Click(Sender: TObject);
    procedure N11Click(Sender: TObject);
    procedure Action1Execute(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure N15Click(Sender: TObject);
    procedure N16Click(Sender: TObject);
    procedure N5Click(Sender: TObject);
    procedure Edit1KeyPress(Sender: TObject; var Key: Char);
    procedure BtnDeleteClick(Sender: TObject);
    procedure Button5Click(Sender: TObject);
    procedure N4Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation
uses data, ADODB, about;   //data:数据模块;ADODB:ADO单元;about:关于表单
{$R *.dfm}

procedure TForm1.BtnExitClick(Sender: TObject);
begin
  Application.Terminate;    //'退出系统'按钮
end;

procedure TForm1.Button4Click(Sender: TObject);
begin
  Application.Terminate;        //'退出系统'按钮
end;

procedure TForm1.filldata;
var
  iCount: Integer;       //将从数据模块中取得的数据库表的字段名填入ComboBox中
begin
  ComboBox1.Items.Clear;    //首先清空ComboBox中Items的值
  for iCount := 0 to DataModule2.ADOQuery1.Fields.Count - 1 do
  begin
    ComboBox1.Items.Add(DataModule2.ADOQuery1.Fields[iCount].FieldName);   //加入字段名
    DataModule2.ADOQuery1.Next;                   //向下移动到下一个字段
  end;
  ComboBox1.ItemIndex := 0;            //设置表单刚出现时ComboBox的值为第一个
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  filldata;      //调用filldata过程
  label15.Caption := inttostr(DataModule2.ADOQuery1.RecordCount); //将数据库表的总条数赋给label15的Caption
end;

procedure TForm1.search;       //自定义过程search(在数据库中搜寻指定条件的数据)
var
  SearchField: string;       //要查找的字段名
  SearchValue: string;       //要查找的字段值

begin
  SearchField := Trim(ComboBox1.Text);           //将ComboBox的值赋给SearchField
  SearchValue := '%' + Trim(Edit1.Text) + '%';   //将Edit的值赋给SearchField
  try
    with DataModule2.ADOQuery1 do
    begin
      close;       //先关闭数据模块中的ADOQuery
      sql.Clear;   //清空ADOQuery中的SQL值
      sql.Add('select * from AddressBook where ' + SearchField + ' like ''%' +
        SearchValue + '%''');  //进行数据查询的SQL语句(SearchFidel和SearchValue
                              // 分别赋到SQL语句中

    end;
  finally
    DataModule2.ADOQuery1.Open;     //打开数据模块中的ADOQuery
  end;

end;

procedure TForm1.Button3Click(Sender: TObject);
begin
  search;
  Label17.Caption := IntToStr(DataModule2.ADOQuery1.RecordCount);    ////将数据库表中检索到的结果条数赋给label17的Caption
end;

procedure TForm1.BtnAllClick(Sender: TObject);
begin
  DisplayAllRecorders;
end;

procedure TForm1.N13Click(Sender: TObject);
begin
  PageControl1.ActivePageIndex := 1;
end;

procedure TForm1.N11Click(Sender: TObject);
begin
  Application.Terminate;
end;

procedure TForm1.DisplayAllRecorders;
begin
  with DataModule2.ADOQuery1 do
  begin
    close;
    sql.Clear;
    sql.Add('select * from AddressBook');
    open;
  end;
end;

procedure TForm1.Action1Execute(Sender: TObject);
begin
  PageControl1.ActivePageIndex := 0;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  Addr: string;
begin
  if DBEdit10.Text <> '' then
  begin
    Addr := DBEdit10.Text;
    ShellExecute(handle, nil, pchar('Mailto:' + Addr), nil, nil, SWP_NoMove);
  end;
end;

procedure TForm1.N15Click(Sender: TObject);
begin
  if SaveDialog1.Execute then
    DataModule2.ADOQuery1.SaveToFile(SaveDialog1.FileName, pfxml);
end;

procedure TForm1.N16Click(Sender: TObject);
begin
  if OpenDialog1.Execute then
    DataModule2.ADOQuery1.LoadFromFile(OpenDialog1.FileName);
end;

procedure TForm1.N5Click(Sender: TObject);
begin
  AboutBox.ShowModal;
end;

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
  if key=#13
     then
       begin
         search;
         Label17.Caption := IntToStr(DataModule2.ADOQuery1.RecordCount);
       end;
end;

procedure TForm1.BtnDeleteClick(Sender: TObject);
begin
  if MessageDlg('你确信要删除记录?',mtwarning,[mbok,mbcancel],0)=mrok
  then
    DataModule2.ADOQuery1.Delete;
end;



procedure TForm1.Button5Click(Sender: TObject);
begin
  DisplayAllRecorders;
end;

procedure TForm1.N4Click(Sender: TObject);
begin
  ShellExecute(handle,'open',pchar('help\help.chm'),nil,nil,sw_showmaximized);
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -