📄 newuser.pas
字号:
unit NewUser;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
QDialogs, StdCtrls, ExtCtrls;
type
TNewUserf = class(TForm)
Image1: TImage;
Label1: TLabel;
Bevel1: TBevel;
Label2: TLabel;
NameEdit: TEdit;
Label3: TLabel;
MoveTelEdit: TEdit;
Label4: TLabel;
OfficeEdit: TEdit;
Label5: TLabel;
CompanyEdit: TEdit;
Label11: TLabel;
BirthdayEdit: TEdit;
Label12: TLabel;
HomeTelEdit: TEdit;
Label13: TLabel;
FaxEdit: TEdit;
PostCodeEdit: TEdit;
Label15: TLabel;
Panel1: TPanel;
Label6: TLabel;
Label7: TLabel;
Label14: TLabel;
WebEdit: TEdit;
EmailEdit: TEdit;
Button1: TButton;
Button2: TButton;
AddressEdit: TComboBox;
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
procedure Button2Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure FormKeyPress(Sender: TObject; var Key: Char);
procedure NameEditChange(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure NameEditKeyPress(Sender: TObject; var Key: Char);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
Labels:Array of TLabel;
Edits:Array of TEdit;
procedure SaveMessages;
public
{ Public declarations }
procedure LoadMessages;
end;
var
NewUserf: TNewUserf;
implementation
uses Note;
{$R *.dfm}
procedure TNewUserf.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
Release;
end;
procedure TNewUserf.Button2Click(Sender: TObject);
begin
Close;
end;
procedure TNewUserf.Button1Click(Sender: TObject);
begin
if Caption='联系人属性' then Close
else begin
if NameEdit.Text<>'' then
begin
if EmailEdit.Text<>'' then
begin
if (Pos('@',EmailEdit.Text)<=1)or(Pos('.',EmailEdit.Text)<Pos('@',EmailEdit.Text))or(copy(EmailEdit.Text,Length(EmailEdit.Text),1)='.')
or(Pos('.',EmailEdit.Text)<=1) then
if MessageDlg('属性','您输入的电子邮件地址不是有效的Internet电子邮件地址。仍要继续吗?',
mtWarning,[mbYes,mbNo],0,mbNo,nil)=4 then Exit;
end;
if Length(WebEdit.Text)>7 then
begin
if (Pos('http://',WebEdit.Text)<>1)or(Pos('.',WebEdit.Text)<7) then
if MessageDlg('属性','您输入的网页网址不是有效的Internet网址。仍要继续吗?',
mtWarning,[mbYes,mbNo],0,mbNo,nil)=4 then Exit;
end;
SaveMessages;
end;
Close;
end;
end;
procedure TNewuserf.SaveMessages;
var
i:Byte;
begin
NoteMess.Name:=NameEdit.Text;
NoteMess.Birthday:=BirthdayEdit.Text;
NoteMess.MoveTel:=MoveTelEdit.Text;
NoteMess.HomeTel:=HomeTelEdit.Text;
NoteMess.OfficeTel:=OfficeEdit.Text;
NoteMess.Fax:=FaxEdit.TExt;
NoteMess.Company:=CompanyEdit.TExt;
NoteMess.PostCode:=PostCodeEdit.Text;
NoteMess.Address:=AddressEdit.Text;
NoteMess.Email:=EmailEdit.Text;
NoteMess.Web:=WebEdit.Text;
if FieldCount>0 then
begin
for i:=0 to CustomCount-1 do
begin
if i<FieldCount then
FieldText[i]:=Edits[i].Text
else FieldText[i]:='';
end;
FileSeek(CfgFile,1000+1000*TheList.IndexOf(MainForm.ListView.Selected.Caption),0);
FileWrite(CfgFile,FieldText,1000);
end;
if IsModify then
begin
FileSeek(MainFile,-NoteSize,1);
FileWrite(MainFile,NoteMess,NoteSize);
MainForm.ListViewLoadData(True,TheList.IndexOf(MainForm.ListView.Selected.Caption));
IsModify:=False;
end
else
begin
FileSeek(MainFile,5+NoteSize*TotalUser,0);
FileWrite(MainFile,NoteMess,NoteSize);
Inc(TotalUser);
FileSeek(MainFile,1,0);
FileWrite(MainFile,TotalUser,4);
MainForm.ListViewLoadData(True,TotalUser-1);
end;
end;
procedure TNewUserf.LoadMessages;
var
i,j:Byte;
Y:Integer;
begin
NameEdit.Text:=NoteMess.Name;
BirthdayEdit.Text:=NoteMess.Birthday;
MoveTelEdit.Text:=NoteMess.MoveTel;
HomeTelEdit.Text:=NoteMess.HomeTel;
OfficeEdit.Text:=NoteMess.OfficeTel;
FaxEdit.Text:=NoteMess.Fax;
CompanyEdit.Text:=NoteMess.Company;
PostCodeEdit.Text:=NoteMess.PostCode;
AddressEdit.Text:=NoteMess.Address;
EmailEdit.Text:=NoteMess.Email;
WebEdit.Text:=NoteMess.Web;
Canvas.Font.Size:=Label2.Font.Size;
Y:=169+35;
j:=8;
if FieldCount>0 then
begin
Setlength(Labels,FieldCount);
SetLength(Edits,FieldCount);
for i:=0 to FieldCount-1 do
begin
Labels[i]:=TLabel.Create(NewUserf);
Labels[i].Font:=Label2.Font;
Labels[i].Caption:=Fields[i];
if (Pos(':',Fields[i])<=0)and(Pos(':',Fields[i])<=0)then
Labels[i].Caption:=Labels[i].Caption+':';
Labels[i].Top:=y;
Edits[i]:=TEdit.Create(newUserf);
Edits[i].Font:=NameEdit.Font;
Edits[i].Top:=Y;
Edits[i].Width:=NameEdit.Width;
Edits[i].OnChange:=NameEditChange;
Edits[i].OnKeyPress:=NameEditKeyPress;
Labels[i].Parent:=NewUserf;
Edits[i].Parent:=newUserf;
Edits[i].TabOrder:=j;
Inc(j);
if i mod 2=0 then
begin
Edits[i].Left:=NameEdit.Left;
Labels[i].Left:=NameEdit.Left-Canvas.TextWidth(Labels[i].Caption)-4;
end
else begin
Edits[i].Left:=BirthdayEdit.Left;
Labels[i].Left:=BirthdayEdit.Left-Canvas.TextWidth(Labels[i].Caption)-4;
end;
Edits[i].Text :=FieldText[i];
if (i mod 2=1)or((i=FieldCount-1)and(i mod 2=0)) then
Inc(Y,35);
end;
end;
i:=FieldCount div 2;
if FieldCount mod 2>0 then Inc(i);
Height:=Height+35*i;
Panel1.Top:=Y;
end;
procedure TNewUserf.FormKeyPress(Sender: TObject; var Key: Char);
begin
if Key=#27 then
Close;
end;
procedure TNewUserf.NameEditChange(Sender: TObject);
begin
Button1.Enabled:=True;
end;
procedure TNewUserf.FormShow(Sender: TObject);
var
i:word;
begin
if Caption='联系人属性' then
begin
Label1.Caption:='联系人的详细信息';
for i:=0 to ComponentCount-1 do
begin
if Components[i] is TEdit then
begin
TEdit(Components[i]).ReadOnly:=True;
TEdit(components[i]).Color:=clBtnFace;
TEdit(components[i]).BevelInner:=bvNone;
TEdit(components[i]).BevelOuter:=bvNone;
TEdit(components[i]).Ctl3D:=False;
// TEdit(Components[i]).BorderStyle:=bsNone;
end;
if Components[i] is TComboBox then
begin
TComboBox(Components[i]).Enabled:=False;
TComboBox(components[i]).Color:=clBtnFace;
TComboBox(components[i]).BevelInner:=bvNone;
TComboBox(components[i]).BevelOuter:=bvNone;
TComboBox(components[i]).Ctl3D:=False;
TComboBox(Components[i]).Style:=csSimple;
end;
end;
end
else Button1.Enabled:=False;
end;
procedure TNewUserf.NameEditKeyPress(Sender: TObject; var Key: Char);
begin
if Key=#13 then
Perform(WM_NEXTDLGCTL,0,0);
end;
procedure TNewUserf.FormClose(Sender: TObject; var Action: TCloseAction);
var
i:Byte;
begin
for i:=0 to FieldCount-1 do
begin
Edits[i].Free;
Labels[i].Free;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -