?? setup.pas
字號:
unit SETUP;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, NEOFORM, ComCtrls, MenuBar, ToolWin, ExtCtrls, StdCtrls,registry,
Buttons, TFlatEditUnit, TFlatSpinEditUnit, TFlatGroupBoxUnit,
TFlatRadioButtonUnit;
type
TFrm_setup = class(TzypNeoForm)
SB_CLOSE: TSpeedButton;
SB_about: TSpeedButton;
SB_save: TSpeedButton;
Bevel_BUTTON: TBevel;
SB_stop: TSpeedButton;
FlatGroupBox1: TFlatGroupBox;
Label1: TLabel;
E_allname: TFlatEdit;
Label2: TLabel;
E_name: TFlatEdit;
Label3: TLabel;
E_tel: TFlatEdit;
Label4: TLabel;
E_address: TFlatEdit;
FlatGroupBox2: TFlatGroupBox;
L_days: TLabel;
E_backupdays: TFlatSpinEditInteger;
SB_selectpath: TSpeedButton;
FlatGroupBox3: TFlatGroupBox;
L_countdate1: TLabel;
E_countdate: TFlatSpinEditInteger;
L_countdate: TLabel;
RB_user: TFlatRadioButton;
RB_auto: TFlatRadioButton;
Label5: TLabel;
LE_datapath: TFlatEdit;
RB_userdate: TFlatRadioButton;
RB_alldate: TFlatRadioButton;
procedure FormCreate(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure SB_saveClick(Sender: TObject);
procedure E_allnameChange(Sender: TObject);
procedure SB_CLOSEClick(Sender: TObject);
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
procedure RB_userClick(Sender: TObject);
procedure SB_aboutClick(Sender: TObject);
procedure SB_selectpathClick(Sender: TObject);
procedure RB_autoClick(Sender: TObject);
procedure SB_stopClick(Sender: TObject);
procedure E_countdateChange(Sender: TObject);
procedure RB_alldateClick(Sender: TObject);
procedure RB_userdateClick(Sender: TObject);
procedure E_allnameKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
private
B_save:boolean;
{ Private declarations }
public
{ Public declarations }
end;
var
Frm_setup: TFrm_setup;
implementation
uses frmabout, frmmain, select_dir, LOGO;
{$R *.dfm}
procedure TFrm_setup.FormCreate(Sender: TObject);
var
TheBitmap : TBitmap;
begin
inherited;
self.Caption :=application.Title + ' - 系統設置';
TheBitmap := TBitmap.Create;
TheBitmap.Height := application.icon.Height+2;
TheBitmap.Width := application.icon.Width+2;
TheBitmap.Canvas.Draw(0, 0, application.Icon);
sb_about.Glyph :=thebitmap;
B_save:=true;
end;
procedure TFrm_setup.FormShow(Sender: TObject);
var
reg:TRegistry;
begin
inherited;
reg:=TRegistry.Create;
try
Reg.RootKey:=HKEY_CURRENT_USER;
if (Reg.OpenKey(S_RegTree,False))=False then
begin
Reg.CreateKey(S_RegTree);
end;
Reg.OpenKey(S_RegTree,True);
E_allname.text:=reg.ReadString('Coname');
e_name.text:=reg.ReadString('Username');
E_tel.text:=reg.ReadString('Cotel');
E_address.text:=reg.ReadString('Address');
LE_datapath.Text :=reg.ReadString('DataPath');
if LE_datapath.Text='' then LE_datapath.Text:='【系統默認】';
if reg.Readstring('autosave')='1' then
rb_auto.Checked :=true
else
rb_user.Checked :=true;
e_backupdays.text:=Reg.readString('savedays');
if trim(e_backupdays.text)='' then
e_backupdays.text:='10';
if reg.ReadString('Countdate')='1' then
rb_userdate.Checked :=true
else
rb_alldate.Checked :=true;
try
E_countdate.Value :=reg.ReadInteger('Dateday');
except
E_countdate.Value :=25;
end;
E_countdateChange(sender) ;
Reg.CloseKey;
finally
Reg.CloseKey;
Reg.Free;
end;
sb_save.Enabled :=false;
end;
procedure TFrm_setup.SB_saveClick(Sender: TObject);
var
reg:TRegistry;
begin
inherited;
B_save:=false;
if messagedlg('確定要保存以上所有資料嗎?',mtconfirmation,[mbyes,mbno],0)=mrno then
begin
B_save:=true;
exit;
end;
if trim(e_allname.Text)='' then
begin
messagedlg('公司名稱不能為空,請檢查后重新輸入。',mtwarning,[mbok],0);
e_allname.SetFocus ;
exit;
end;
if trim(e_name.Text)='' then
begin
messagedlg('負責人姓名不能為空,請檢查后重新輸入。',mtwarning,[mbok],0);
e_name.SetFocus ;
exit;
end;
if (not DirectoryExists(trim(LE_datapath.Text))) and (trim(LE_datapath.Text)<>'【系統默認】') then
begin
messagedlg('指定數據庫目錄不存在,請檢查后重新輸入。',mtwarning,[mbok],0);
LE_datapath.SetFocus ;
exit;
end;
reg:=TRegistry.Create;
try
Reg.RootKey:=HKEY_CURRENT_USER;
if (Reg.OpenKey(S_RegTree,False))=False then
begin
Reg.CreateKey(S_RegTree);
end;
Reg.OpenKey(S_RegTree,True);
Reg.WriteString('username',trim(E_name.text));
Reg.WriteString('coname',trim(E_allname.text));
Reg.WriteString('cotel',trim(E_tel.text));
Reg.WriteString('address',trim(E_address.text));
Reg.WriteString('DataPath',trim(LE_datapath.text));
if rb_auto.Checked then
reg.Writestring('autosave','1')
else
reg.writestring('autosave','0');
Reg.WriteString('savedays',trim(e_backupdays.text));
if rb_userdate.Checked then
Reg.WriteString('Countdate','1')
else
Reg.WriteString('Countdate','0');
Reg.WriteInteger('Dateday',E_countdate.Value);
Reg.CloseKey;
sb_save.Enabled :=false;
with frm_main do
begin
S_name:=trim(E_allname.text);
S_username:=trim(E_name.text);
S_cotel:=trim(E_tel.text);
S_address:=trim(E_address.text);
HWSHOPDATA:=trim(le_datapath.Text );
if HWSHOPDATA='【系統默認】' then
begin
HWSHOPDATA:=ExtractFileDir(Application.ExeName);
if (StrLen(PChar(HWSHOPDATA)) <> 3) then
HWSHOPDATA:=HWSHOPDATA+'\DATA\'
else
HWSHOPDATA:=HWSHOPDATA+'DATA\';
end;
if rb_auto.Checked then
S_autosave:='1'
else
S_autosave:='0';
S_savedays:=trim(e_backupdays.text);
IF RB_alldate.Checked then
I_countdate:=0
else
I_countdate:=E_countdate.Value ;
end;
messagedlg('系統設置數據信息保存完畢!',mtwarning,[mbok],0);
frm_main.Caption :=Application.Title+' - '+S_name+ '【'+HWSHOPDATA+'】';
B_save:=true;
finally
Reg.CloseKey;
Reg.Free;
end;
self.Hide ;
if frm_main.Showing then
begin
frm_main.tb_logo.Click ;
end;
self.Close ;
end;
procedure TFrm_setup.E_allnameChange(Sender: TObject);
begin
inherited;
sb_save.Enabled :=true;
end;
procedure TFrm_setup.SB_CLOSEClick(Sender: TObject);
begin
inherited;
self.Close ;
end;
procedure TFrm_setup.FormCloseQuery(Sender: TObject;
var CanClose: Boolean);
begin
inherited;
if sb_save.Enabled then
sb_save.Click ;
if not B_save then canclose:=false;
end;
procedure TFrm_setup.RB_userClick(Sender: TObject);
begin
inherited;
E_backupdays.Enabled :=false;
L_days.Enabled :=false;
sb_save.Enabled :=true;
end;
procedure TFrm_setup.SB_aboutClick(Sender: TObject);
begin
inherited;
Application.CreateForm(TFrm_about, Frm_about);
Frm_about.showmodal;
Frm_about.free;
end;
procedure TFrm_setup.SB_selectpathClick(Sender: TObject);
begin
inherited;
Application.CreateForm(TFrm_select_dir, Frm_select_dir);
Frm_select_dir.DriveComboBox1.Text:=ExtractFileDrive(LE_datapath.Text);
if (FileExists(LE_datapath.Text)) then
Frm_select_dir.DirectoryListBox1.Directory:=LE_datapath.Text;
if (Frm_select_dir.ShowModal=mrOK) then
LE_datapath.Text:=Frm_select_dir.DirectoryListBox1.Directory;//Frm_select_dir.Label2.Caption;
Frm_select_dir.free;
end;
procedure TFrm_setup.RB_autoClick(Sender: TObject);
begin
inherited;
E_backupdays.Enabled :=true;
L_days.Enabled :=true;
sb_save.Enabled :=true;
end;
procedure TFrm_setup.SB_stopClick(Sender: TObject);
var
reg:TRegistry;
begin
inherited;
reg:=TRegistry.Create;
try
Reg.RootKey:=HKEY_CURRENT_USER;
reg.DeleteKey(S_RegTree);
finally
reg.CloseKey ;
reg.free;
end;
halt;
end;
procedure TFrm_setup.E_countdateChange(Sender: TObject);
begin
inherited;
L_countdate.Caption :='即:從上月'+inttostr(E_countdate.Value+1)
+'日,至本月'+inttostr(E_countdate.Value)+'日';
sb_save.Enabled :=true;
end;
procedure TFrm_setup.RB_alldateClick(Sender: TObject);
begin
inherited;
L_countdate1.Enabled :=false;
E_countdate.Enabled :=false;
L_countdate.Enabled :=false;
sb_save.Enabled :=true;
end;
procedure TFrm_setup.RB_userdateClick(Sender: TObject);
begin
inherited;
L_countdate1.Enabled :=true;
E_countdate.Enabled :=true;
L_countdate.Enabled :=true;
sb_save.Enabled :=true;
end;
procedure TFrm_setup.E_allnameKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
inherited;
if (key=13) or (key=40) then { 判斷是按執行鍵}
Begin
key:=0;
perform(WM_NEXTDLGCTL,0,0);{移動到下一個控件}
end;
end;
end.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -