?? unit_settime.pas
字號:
unit Unit_settime;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Mask, Grids, DBGrids, DB, ADODB;
type
Ttimecharge = class(TForm)
ds_time: TDataSource;
aq_time: TADOQuery;
DBGrid1: TDBGrid;
Button1: TButton;
Button2: TButton;
Label1: TLabel;
Label2: TLabel;
time1: TLabel;
Label3: TLabel;
time2: TEdit;
echarge: TEdit;
procedure FormShow(Sender: TObject);
procedure time2Exit(Sender: TObject);
procedure time2KeyPress(Sender: TObject; var Key: Char);
procedure echargeKeyPress(Sender: TObject; var Key: Char);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure echargeExit(Sender: TObject);
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
procedure FormCanResize(Sender: TObject; var NewWidth,
NewHeight: Integer; var Resize: Boolean);
private
{ Private declarations }
public
{ Public declarations }
end;
var
timecharge: Ttimecharge;
implementation
uses Unit11;
{$R *.dfm}
procedure Ttimecharge.FormShow(Sender: TObject);
var
st: string;
begin
aq_time.Close;
aq_time.SQL.Clear;
aq_time.SQL.Add('select dbo.fuca(time1) as time1,dbo.fuca(time2)as time2,charge from time order by timeid');
aq_time.Open;
if aq_time.IsEmpty then
begin
time1.Caption:='00:00:01';
end
else
begin
aq_time.Last;
st:=aq_time.FieldValues['time2'];
time1.Caption:=st;
end;
time2.Clear;
echarge.Clear;
end;
procedure Ttimecharge.time2Exit(Sender: TObject);
begin
if trim(time2.Text)<>''then
begin
try
if strtotime(time2.Text)<=strtotime(time1.Caption) then
begin
messagebox(handle,'輸入的終止時間不能小于或等于起始時間'+#10+'請重新輸入!','系統提示',mb_ok+mb_iconinformation);
time2.Clear;
time2.SetFocus;
end;
except
messagebox(handle,'輸入的時間有問題請重新輸入!','系統提示',mb_ok+mb_iconinformation);
time2.Clear;
time2.SetFocus;
end
end
end;
procedure Ttimecharge.time2KeyPress(Sender: TObject; var Key: Char);
begin
if not (key in['0'..'9',':',#008]) then
begin
key:=#0;
messagebox(handle,'請輸入有效字符,例如14:21','系統提示',mb_ok+mb_iconinformation);
end
end;
procedure Ttimecharge.echargeKeyPress(Sender: TObject; var Key: Char);
begin
if not (key in['0'..'9','.',#008]) then
begin
key:=#0;
messagebox(handle,'請輸入有效字符,例如0.8','系統提示',mb_ok+mb_iconinformation);
end
end;
procedure Ttimecharge.Button1Click(Sender: TObject);
begin
if trim(time2.Text)='' then
begin
messagebox(handle,'終止時間不能為空','系統提示',mb_ok+mb_iconinformation);
time2.SetFocus;
end
else if trim(echarge.Text)='' then
begin
messagebox(handle,'折扣不能為空','系統提示',mb_ok+mb_iconinformation);
echarge.SetFocus;
end
else
begin
aq_time.Close;
aq_time.SQL.Clear;
aq_time.SQL.Add('insert into time(time1,time2,charge) values(:time1,:time2,:charge)');
aq_time.Parameters.ParamByName('time1').Value:=strtotime(time1.Caption);
aq_time.Parameters.ParamByName('time2').Value:=strtotime(time2.Text);
aq_time.Parameters.ParamByName('charge').Value:=strtofloat(echarge.Text);
aq_time.ExecSQL;
formshow(sender);
end;
procedure Ttimecharge.Button2Click(Sender: TObject);
begin
if messagedlg('您確定要重新定制所有時間嗎?'+#10+'點確定將刪除所有定制的時間!',mtconfirmation,[mbok,mbno],0)=mrok then
begin
aq_time.Close;
aq_time.SQL.Clear;
aq_time.SQL.Add('delete from time');
aq_time.ExecSQL;
formshow(sender);
end
end;
procedure Ttimecharge.echargeExit(Sender: TObject);
var
x:single;
begin
if trim(echarge.text)<>'' then
begin
try
x:=strtofloat(echarge.Text) ;
if x>1 then
begin
messagebox(handle,'輸入的折扣不能大于1,請重新輸入','系統提示',mb_ok+mb_iconinformation);
echarge.Clear;
echarge.SetFocus;
end
except
messagebox(handle,'請輸入有效字符,例如0.8','系統提示',mb_ok+mb_iconinformation);
echarge.Clear;
echarge.SetFocus;
end;
end
end;
procedure Ttimecharge.FormCloseQuery(Sender: TObject;
var CanClose: Boolean);
var
time2:string;
begin
aq_time.Close;
aq_time.SQL.Clear;
aq_time.SQL.Add('select dbo.fuca(time1) as time1,dbo.fuca(time2)as time2,charge from time order by timeid');
aq_time.Open;
aq_time.Last;
if aq_time.IsEmpty then
begin
messagebox(handle,'未設置完一天的分段時間,請設置完成退出'+#10+'分段結束時間為23:59','系統提示',mb_ok+mb_iconinformation) ;
Canclose:=false;
end
else
begin
time2:=string(aq_time.FieldValues['time2']);
if time2<>'23:59'then
begin
canclose:=false;
messagebox(handle,'未設置完一天的分段時間,請設置完成退出'+#10+'分段結束時間為23:59','系統提示',mb_ok+mb_iconinformation);
end;
end;
end;
procedure Ttimecharge.FormCanResize(Sender: TObject; var NewWidth,
NewHeight: Integer; var Resize: Boolean);
begin
resize:=false;
end;
end.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -