📄 unit4.pas
字号:
unit Unit4;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Menus, ExtCtrls, StdCtrls, Buttons, Db, DBTables;
type
Tsyssetting=Record
shopname:string[40];
polite:string[40];
telephone:string[20];
poscode:string[5];
IsPrint:string[2];
IsShow:string[2];
end;
TFormSetting = class(TForm)
Notebook1: TNotebook;
Label1: TLabel;
Editshopname: TEdit;
Editpolite: TEdit;
Label2: TLabel;
Edittele: TEdit;
Panel1: TPanel;
Label10: TLabel;
Editposcode: TEdit;
Image1: TImage;
Editcode: TEdit;
Editpass: TEdit;
Editnewpass: TEdit;
Editconfirm: TEdit;
Image2: TImage;
MainMenu1: TMainMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N6: TMenuItem;
N8: TMenuItem;
N7: TMenuItem;
N9: TMenuItem;
Image3: TImage;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
CheckBoxprint: TCheckBox;
CheckBoxshow: TCheckBox;
procedure N2Click(Sender: TObject);
procedure N3Click(Sender: TObject);
procedure N4Click(Sender: TObject);
procedure N9Click(Sender: TObject);
procedure N8Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure EditcodeKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure EditpassKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure EditnewpassKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure EditconfirmKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
private
{ Private declarations }
public
{ Public declarations }
sysfile:File of Tsyssetting;
end;
var
FormSetting: TFormSetting;
implementation
uses Unit2,unit1, Unit6,Unit8,Unit9, Unit7;
{$R *.DFM}
procedure TFormSetting.N2Click(Sender: TObject);
begin
notebook1.ActivePage:='syspage';
end;
procedure TFormSetting.N3Click(Sender: TObject);
begin
notebook1.ActivePage:='clerkpage';
editcode.SetFocus;
end;
procedure TFormSetting.N4Click(Sender: TObject);
begin
notebook1.ActivePage:='Pospage';
end;
procedure TFormSetting.N9Click(Sender: TObject);
begin
notebook1.ActivePage:='helppage';
end;
procedure TFormSetting.N8Click(Sender: TObject);
begin
form1.show;
formsetting.Hide;
end;
procedure TFormSetting.BitBtn1Click(Sender: TObject);
var
fn:TFileName;
s:string;
sys:Tsyssetting;
begin
fn:='setting.sys';
getdir(0,s);
if Not FileExists(fn) then
begin
try
assignfile(sysfile,fn);
rewrite(sysfile);
sys.shopname:=editshopname.text;
sys.polite:=editpolite.text;
sys.telephone:=edittele.text;
sys.poscode:=editposcode.text;
if checkboxprint.Checked then
sys.IsPrint:='是'
else
sys.IsPrint:='否';
if checkboxshow.Checked then
sys.IsShow:='是'
else
sys.IsShow:='否';
write(sysfile,sys);
finally
Closefile(sysfile);
end;
end
else
begin
try
assignfile(sysfile,fn);
reset(sysfile);
sys.shopname:=editshopname.text;
sys.polite:=editpolite.text;
sys.telephone:=edittele.text;
sys.poscode:=editposcode.text;
if checkboxprint.Checked then
sys.IsPrint:='是'
else
sys.IsPrint:='否';
if checkboxshow.Checked then
sys.IsShow:='是'
else
sys.IsShow:='否';
write(sysfile,sys);
finally
Closefile(sysfile);
end;
end;
messagebox(formsetting.handle,'设置更改完成','消息',MB_OK+MB_ICONINFORMATION);
end;
procedure TFormSetting.FormShow(Sender: TObject);
var
fn:TFileName;
s:string;
sys:Tsyssetting;
begin
notebook1.ActivePage:='defalt';
fn:='setting.sys';
getdir(0,s);
if FileExists(fn) then
begin
try
assignfile(sysfile,fn);
reset(sysfile);
while not Eof(sysfile) do
begin
read(sysfile,sys);
editshopname.text:=sys.shopname;
editpolite.text:=sys.polite;
edittele.text:=sys.telephone;
editposcode.text:=sys.poscode;
if trim(sys.IsPrint)='是' then
checkboxprint.Checked:=true
else
checkboxprint.Checked:=false;
if trim(sys.IsShow)='是' then
checkboxshow.Checked:=true
else
checkboxshow.Checked:=false;
end;
finally
Closefile(sysfile);
end;
end;
end;
procedure TFormSetting.BitBtn2Click(Sender: TObject);
var
fn:TFileName;
s:string;
sys:Tsyssetting;
begin
fn:='setting.sys';
getdir(0,s);
if FileExists(fn) then
begin
try
assignfile(sysfile,fn);
reset(sysfile);
while not Eof(sysfile) do
begin
read(sysfile,sys);
editshopname.text:=sys.shopname;
editpolite.text:=sys.polite;
edittele.text:=sys.telephone;
editposcode.text:=sys.poscode;
if trim(sys.IsPrint)='是' then
checkboxprint.Checked:=true
else
checkboxprint.Checked:=false;
if trim(sys.IsShow)='是' then
checkboxprint.Checked:=true
else
checkboxprint.Checked:=false;
end;
finally
Closefile(sysfile);
end;
end;
end;
procedure TFormSetting.EditcodeKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (key=VK_RETURN) and (editcode.Text<>'') then
editpass.SetFocus;
end;
procedure TFormSetting.EditpassKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
var
tmpsql:string;
querycheckuser:tquery;
begin
//检查输入是否为空
if (key=VK_RETURN) and (editpass.text<>'') then
begin
//检查工作码是否正确
querycheckuser:=TQuery.Create(Self);
querycheckuser.DatabaseName:='pos';
with querycheckuser do
begin
close;
sql.Clear ;
tmpsql:='select * from ClerkBase where ccode='''+Trim(editcode.Text)+'''';
tmpsql:=tmpsql+'and cpass='''+Trim(editpass.Text)+'''';
sql.Add(tmpsql);
open;
end;
if querycheckuser.eof then
begin
showmessage('用户名与工作码不匹配!');
exit;
end
else
begin
showmessage('请填写新的工作码!');
//speedbutton2.Glyph.LoadFromFile('_lee9b.bmp');
//speedbutton2.Cursor :=crhandpoint;
//btnconfirm2.Enabled :=true;
editnewpass.Enabled :=true;
editconfirm.Enabled :=true;
editnewpass.SetFocus ;
end;
querycheckuser.free;
end;
end;
procedure TFormSetting.EditnewpassKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (key=VK_RETURN) and (editnewpass.Text<>'') then
editconfirm.SetFocus;
end;
procedure TFormSetting.EditconfirmKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
var
querychange : tquery;
tmpsql : string;
begin
if (key=VK_RETURN) and (editnewpass.text<>'') then
begin
//校对工作码
if editnewpass.Text <> editconfirm.Text then
begin
showmessage('工作码输入不一致,请重新输入!');
editnewpass.Text:='';
editconfirm.Text:='';
exit;
end;
//修改工作码
querychange:=TQuery.Create(Self);
querychange.DatabaseName:='pos';
with querychange do
begin
close;
sql.Clear ;
tmpsql:='update clerkbase set cpass='''+Trim(editnewpass.Text)+'''';
tmpsql:=tmpsql+' where ccode='''+Trim(editcode.Text)+''' and cpass='''+Trim(editpass.Text)+'''';
sql.Add(tmpsql);
prepare;
try
execsql;
except
messagebox(formsetting.Handle,'工作码修改失败','错误',MB_OK+MB_ICONERROR);
exit;
end;
end;
messagebox(formsetting.Handle,'工作码修改完成','错误',MB_OK+MB_ICONINFORMATION);
querychange.free;
editnewpass.Enabled :=false;
editconfirm.Enabled :=false;
editcode.SetFocus;
end;
end;
procedure TFormSetting.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=Vk_F1 then
begin
form1.Show;
FormSetting.Hide;
end;
if key=Vk_F6 then
begin
application.CreateForm(Tformconfirm,formconfirm);
formconfirm.showmodal;
if confirm=true then
begin
FormSetting.Hide;
application.CreateForm(Tformcash,formcash);
formcash.showmodal;
end;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -