📄 ufrmmain.pas
字号:
unit ufrmMain;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, StdCtrls, Buttons, clsUser;
type
TfrmMain = class(TForm)
ListView1: TListView;
btnModi: TBitBtn;
btnAdd: TBitBtn;
btnDel: TBitBtn;
GroupBox1: TGroupBox;
Label1: TLabel;
edtKey_Name: TEdit;
btnFind: TBitBtn;
procedure FormCreate(Sender: TObject);
procedure ListView1SelectItem(Sender: TObject; Item: TListItem;
Selected: Boolean);
procedure btnModiClick(Sender: TObject);
procedure btnAddClick(Sender: TObject);
procedure btnDelClick(Sender: TObject);
procedure btnFindClick(Sender: TObject);
private
{ Private declarations }
FCurID: Integer;
procedure SetItemByUser(const AUser: TUser; const AListItem: TListItem);
function GetUserFromItem(const AListItem: TListItem): TUser;
public
{ Public declarations }
end;
var
frmMain: TfrmMain;
implementation
uses clsUser_Operater, ufrmUser;
{$R *.dfm}
procedure TfrmMain.SetItemByUser(const AUser: TUser; const AListItem: TListItem);
begin
if (AUser <> nil) and (AListItem <> nil) then
begin
AListItem.Caption := IntToStr(AUser.ID);
AListItem.SubItems.Clear;
AListItem.SubItems.Add(AUser.UserName);
AListItem.SubItems.Add(AUser.Sex);
AListItem.SubItems.Add(IntToStr(AUser.Age));
end;
end;
function TfrmMain.GetUserFromItem(const AListItem: TListItem): TUser;
var
AUser: TUser;
begin
Result := nil;
if AListItem <> nil then
begin
AUser := TUser.Create;
AUser.ID := FCurID;
AUser.UserName := AListItem.SubItems[0];
AUser.Sex := AListItem.SubItems[1];
AUser.Age := StrToInt(AListItem.SubItems[2]);
AUser := ufrmUser.GetUser(AUser);
Result := AUser;
end;
end;
procedure TfrmMain.FormCreate(Sender: TObject);
var
AUser: TUser;
arrUser: TArrUser;
AUser_Operater: TUser_Operater;
AListItem: TListItem;
i, iEnd: Integer;
begin
try
AUser_Operater := TUser_Operater.Create;
arrUser := AUser_Operater.GetAllUsers;
iEnd := Length(arrUser) - 1;
for i := 0 to iEnd do
begin
AUser := arrUser[i];
AListItem := ListView1.Items.Add;
SetItemByUser(AUser, AListItem);
end;
finally
AUser.Free;
AUser_Operater.Free;
arrUser := nil;
end;
end;
procedure TfrmMain.ListView1SelectItem(Sender: TObject; Item: TListItem;
Selected: Boolean);
begin
FCurID := StrToInt(Item.Caption);
end;
procedure TfrmMain.btnModiClick(Sender: TObject);
var
AUser: TUser;
AUser_Operater: TUser_Operater;
begin
if (ListView1.Selected <> nil) then
begin
try
AUser := GetUserFromItem(ListView1.Selected);
AUser_Operater := TUser_Operater.Create;
if AUser <> nil then
begin
AUser_Operater.SetUser(AUser);
SetItemByUser(AUser, ListView1.Selected);
ShowMessage('数据更新完毕');
end;
finally
AUser.Free;
AUser_Operater.Free;
end;
end else
ShowMessage('请选择要进行操作的数据');
end;
procedure TfrmMain.btnAddClick(Sender: TObject);
var
AUser: TUser;
AUser_Operater: TUser_Operater;
AListItem: TListItem;
begin
try
AUser_Operater := TUser_Operater.Create;
AUser := ufrmUser.GetUser(nil);
if AUser <> nil then
begin
AUser.ID := AUser_Operater.AddUser(AUser);
AListItem := ListView1.Items.Add;
SetItemByUser(AUser, AListItem);
ShowMessage('数据添加完毕');
end;
finally
AUser.Free;
AUser_Operater.Free;
end;
end;
procedure TfrmMain.btnDelClick(Sender: TObject);
var
AUser_Operater: TUser_Operater;
begin
if (ListView1.Selected <> nil) then
begin
try
AUser_Operater := TUser_Operater.Create;
AUser_Operater.DelUserByID(FCurID);
ListView1.Selected.Delete;
finally
AUser_Operater.Free;
end;
end else
ShowMessage('请选择要进行操作的数据');
end;
procedure TfrmMain.btnFindClick(Sender: TObject);
var
AUser: TUser;
arrUser: TArrUser;
AUser_Operater: TUser_Operater;
AListItem: TListItem;
i, iEnd: Integer;
begin
try
AUser_Operater := TUser_Operater.Create;
arrUser := AUser_Operater.GetUsersByUserName(edtKey_Name.Text);
iEnd := Length(arrUser) - 1;
ListView1.Items.Clear;
for i := 0 to iEnd do
begin
AUser := arrUser[i];
AListItem := ListView1.Items.Add;
SetItemByUser(AUser, AListItem);
end;
finally
AUser.Free;
AUser_Operater.Free;
arrUser := nil;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -