📄 main.~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 + -