📄 unit1.pas
字号:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls,
UnitDataController, UnitDataOperator, UnitObjectClasses, UnitBaseTable,
ComCtrls, ExtCtrls
;
type
TForm1 = class(TForm)
Memo1: TMemo;
Button1: TButton;
Button3: TButton;
Button4: TButton;
edtUserName: TLabeledEdit;
edtPassword: TLabeledEdit;
edtAge: TLabeledEdit;
Label1: TLabel;
DateTimePicker1: TDateTimePicker;
edtShoworder: TLabeledEdit;
Button6: TButton;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure edtUserNameChange(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
private
{ Private declarations }
FController: TDataController;
FOperator: TDataOperator;
procedure ShowUserInfo(Auser: TUser);
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
fNewUser: TUser;
begin
fNewUser := TUser.CreateNew(Self);
fNewUser.UserName := edtUserName.Text;
fNewUser.UserPwd := edtPassword.Text;
fNewUser.Age := StrToInt(edtAge.Text);
fNewUser.WorkDate := DateTimePicker1.Date;
fNewUser.ShowOrder := StrToInt(edtShowOrder.Text);
try
if FOperator.Save(fNewUser) then
Memo1.Lines.Add('Created a new user');
except
on e: Exception do
begin
Memo1.Lines.Add(E.Message);
end;
end; // try/except
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
FController := TDataController.Create(Self, 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=TestDb.mdb;Persist Security Info=False');
FOperator := TDataOperator.Create(Self);
FOperator.DataController := FController;
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
FOperator.Free;
FController.Free;
end;
procedure TForm1.edtUserNameChange(Sender: TObject);
begin
Button6.Enabled := edtUserName.Text <> EmptyStr;
end;
procedure TForm1.Button6Click(Sender: TObject);
var
fObj: Tuser;
begin
fObj := FOperator.Load(Tuser, edtUserName.Text) as TUser;
if fObj = nil then
Memo1.Lines.Add('Not found user ' + edtUserName.Text)
else
begin
ShowUserInfo(fObj);
end;
end;
procedure TForm1.ShowUserInfo(Auser: TUser);
begin
Memo1.Lines.Add('-----------------------------');
Memo1.Lines.Add('UserName=' + AUser.UserName);
Memo1.Lines.Add('Password=' + Auser.UserPwd);
Memo1.Lines.Add('Age=' + IntToStr(Auser.Age));
Memo1.Lines.Add('WorkDate=' + DateToStr(Auser.WorkDate));
Memo1.Lines.Add('-----------------------------' + sLineBreak);
end;
procedure TForm1.Button3Click(Sender: TObject);
var
fObj: Tuser;
begin
fObj := FOperator.Load(Tuser, edtUserName.Text) as TUser;
if fObj <> nil then
begin
fObj.DeleteFlag := True;
try
FOperator.Save(fObj);
Memo1.Lines.Add('Delete user successful!');
except
on e: Exception do
Memo1.Lines.Add(E.Message);
end; // try/except
end;
end;
procedure TForm1.Button4Click(Sender: TObject);
var
I: Integer;
fList: TTableDataList;
begin
fList := TTableDataList.Create(Self, TUser);
FOperator.LoadAllItems(fList);
Memo1.Lines.Add('Load Count=' + IntToStr(fList.Count));
for I := 0 to fList.Count - 1 do // Iterate
begin
ShowUserInfo(fList[I] as Tuser);
end; // for
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -