📄 clsss_pas.~pas
字号:
unit clsss_pas;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ComCtrls, DBCtrls, StdCtrls, Buttons, Grids, DBGrids, RXCtrls, ExtCtrls,db;
type
Tclass_form = class(TForm)
PageControl1: TPageControl;
TabSheet1: TTabSheet;
DBGrid1: TDBGrid;
TabSheet2: TTabSheet;
Panel2: TPanel;
DBGrid2: TDBGrid;
Panel3: TPanel;
Panel4: TPanel;
BitBtn1: TBitBtn;
BitBtn5: TBitBtn;
BitBtn2: TBitBtn;
BitBtn6: TBitBtn;
Panel5: TPanel;
DBLookupComboBox2: TDBLookupComboBox;
edit3: TDBLookupComboBox;
Label2: TLabel;
Label1: TLabel;
BitBtn10: TBitBtn;
BitBtn7: TBitBtn;
BitBtn4: TBitBtn;
BitBtn8: TBitBtn;
BitBtn3: TBitBtn;
BitBtn9: TBitBtn;
edit1: TComboBox;
Label7: TLabel;
procedure FormShow(Sender: TObject);
procedure BitBtn6Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure Edit6Exit(Sender: TObject);
procedure Edit5Exit(Sender: TObject);
procedure Edit1Exit(Sender: TObject);
procedure DateTimePicker1Exit(Sender: TObject);
procedure DBGrid1CellClick(Column: TColumn);
procedure DBGrid1KeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure BitBtn5Click(Sender: TObject);
procedure PageControl1Change(Sender: TObject);
procedure BitBtn10Click(Sender: TObject);
procedure BitBtn7Click(Sender: TObject);
procedure BitBtn4Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure BitBtn9Click(Sender: TObject);
procedure edit1Change(Sender: TObject);
procedure BitBtn8Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
function dectime(time1,time2:Tdatetime):integer;
end;
var
class_form: Tclass_form;
implementation
uses class_print_pas,dm_class_pas, menu,ADD_class_pas,password_unit;
{$R *.DFM}
function Tclass_form.dectime(time1,time2:tdatetime):integer;
begin
if time2>time1 then
result:=round(1440*(frac(time2)-frac(time1)))
else
if time2<time1 then
result:= 1440-round(1440*(frac(time1)-frac(time2)))
else if time2=time1 then
result:=1440 ;
end;
procedure Tclass_form.FormShow(Sender: TObject);
var
i1,i2,i3:integer;
f1,f2:real;
begin
if (screen.Height<600) and( screen.Width<800) then
begin
scaled:=true;
self.height:=round(434*longint(screen.height)*96 / 600/screen.pixelsperinch);
self.width :=round( 720 *longint(screen.width)*96 / 800/screen.pixelsperinch);
ScaleControls(screen.width, 800);
ScaleControls(96,screen.pixelsperinch);
f1:=screen.width*96/800/screen.pixelsperinch;
f2:=screen.width/800;
with dbgrid1 do
begin
i1:=columns.Count;
i3:=round(12*f1);if i3<7 then i3:=7;
Label1.font.size:=i3-1;
Label2.font.size:=i3-1;
Label7.font.size:=i3-1;
PageControl1.font.size:=i3-1;
BitBtn1.font.size:=i3-1;
BitBtn2.font.size:=i3-1;
BitBtn9.font.size:=i3-1;
BitBtn3.font.size:=i3-1;
BitBtn4.font.size:=i3-1;
BitBtn7.font.size:=i3-1;
BitBtn10.font.size:=i3-1;
BitBtn8.font.size:=i3-1;
//panel1.font.size:=20;
DBLookupComboBox2.font.size:=i3-1;
edit3.font.size:=i3-1;
edit1.font.size:=i3-1;
font.Size:=i3-1;
for i2:=0 TO i1-1 DO
begin
columns[i2].title.font.size:=i3-1;
columns[i2].width:=round(columns[i2].width*f2);
end;
end;
with dbgrid2 do
begin
i1:=columns.Count;
font.Size:=i3-1;
for i2:=0 TO i1-1 DO
begin
columns[i2].title.font.size:=i3-1;
columns[i2].width:=round(columns[i2].width*f2);
end;
end;
end
else
begin
self.Height:=434;
self.Width:=707;
end;
if not assigned(DM_class_form) then
Application.CreateForm(TDM_class_form, dm_class_form);
with dm_class_form do
begin
q_line.close;
q_class.close;
q_view.close;
q_class_ls.close;
q_class_ls.open;
q_shift.close;
q_line.open;
q_class.Open;
q_view.open;
q_class.open;
q_class.First;
q_shift.open;
end;
with dm_class_form.q_line do
begin
edit1.Clear ;
edit1.Text:='';
while not eof do
begin
edit1.Items.Add(fieldbyname('linename').asstring);
next;
end;
end;
bitbtn1.Enabled:=true;
bitbtn2.Enabled:=true;
//dblookupcombobox1.:='';
PageControl1.ActivePage:=tabsheet1;
dblookupcombobox2.KeyValue :=null;
edit3.KeyValue:=null;
end;
procedure Tclass_form.BitBtn6Click(Sender: TObject);
begin
{with dm_class_form do
begin
q_line.close;
q_class.close;
q_line.open;
q_class.Open;
end;
bitbtn1.Enabled:=true;
bitbtn2.Enabled:=true;
//dblookupcombobox1.:='';
//dblookupcombobox1.Text :='' ;
edit2.Text:='';
edit6.Text:='';
edit5.Text:='';
edit1.Text:='';
datetimepicker1.time:=now;
datetimepicker2.Time:=now;
dblookupcombobox1.KeyValue:=null;
}end;
procedure Tclass_form.BitBtn1Click(Sender: TObject);
begin
add_class:=tadd_class.Create(self);
add_class.Caption:='增加巡更班次資訊' ;
add_class.DateTimePicker1.Time:=strtotime('8:00:00');
add_class.DateTimePicker2.Time:=strtotime('17:00:00');
add_class.e_time.text:='1';
add_class.edit1.text:='1';
add_class.edit5.text:='1';
add_class.showmodal;
add_class.free;
{with dm_class_form do
begin
q_class.close;
q_class.Open;
q_class.append;
bitbtn1.Enabled:=false;
bitbtn2.Enabled :=false;
edit2.Text:='';
edit2.Text:='';
edit6.Text:='';
edit5.Text:='0';
edit1.Text:='0';}
//datetimepicker1.time:=now;
//datetimepicker2.Time:=now;
//dblookupcombobox1.KeyValue:=null;
end;
procedure Tclass_form.BitBtn3Click(Sender: TObject);
begin
{with dm_class_form do
begin
q_class.close;
q_line.close;
q_find.close;
q_view.close;
q_shift.close;
end;}
close;
end;
procedure Tclass_form.BitBtn2Click(Sender: TObject);
var d_linename,d_shifts:string;
begin
if Application.MessageBox('確實要刪除嗎?','消息',MB_ICONINFORMATION+MB_OKCANCEL)=IDOK then
begin
dm_class_form.q_class_ls.First;
if dm_class_form.q_class_ls.eof then
begin
Application.MessageBox('已經沒有可以刪除的專案!','消息',MB_ICONINFORMATION);
exit;
end
else
begin
d_linename:=dm_class_form.q_class.fieldbyname('linename').asstring;
d_shifts:=dm_class_form.q_class.fieldbyname('shifts').asstring;
with dm_class_form.q_edit do
begin
close;
sql.Clear ;
sql.add('delete from fpxl where linename='''+d_linename+''' and shift='''+d_shifts+'''');
execsql;
end;
dm_class_form.q_class_ls.Locate('id',(dm_class_form.q_class.fieldbyname('id').asinteger),[loCaseInsensitive]);
dm_class_form.q_class_ls.Delete ;
dm_class_form.q_class.Close;
dm_class_form.q_class.open;
end;
end;
end;
procedure Tclass_form.Edit6Exit(Sender: TObject);
var _chkcycl:integer;
begin
{IF trim(EDIT5.Text)='' THEN
edit5.Text:='0';
if trim(edit1.Text)='' then
edit1.Text:='0';
if trim(edit6.text)<>'' then
begin
try //try
_chkcycl:=strtoint(edit6.text);
if _chkcycl<=0 then
begin
Application.MessageBox('請輸入大於零的巡更周期!','消息',MB_ICONINFORMATION);
edit6.text:='';
edit6.SetFocus;
exit;
end;
except
on E: EConvertError do
begin
Application.MessageBox('請輸入準確地巡更周期!','消息',MB_ICONINFORMATION);
edit6.text:='';
edit6.SetFocus;
exit;
end;
end; //try
if _chkcycl<dectime(datetimepicker1.Time,datetimepicker2.Time ) then
begin
Application.MessageBox('巡更周期不能小於班次的下班時間與上班時間之差!','消息',MB_ICONINFORMATION);
edit6.Text:='';
edit6.SetFocus;
exit;
end;
end;
}
end;
procedure Tclass_form.Edit5Exit(Sender: TObject);
begin
{IF trim(EDIT1.Text)='' THEN
edit1.Text:='0';
if trim(edit5.Text)<>'' then
begin
try//try
if strtoint(edit5.text)<0 then
begin
Application.MessageBox('請輸入大於零的數位','消息',MB_ICONINFORMATION);
edit5.SetFocus ;
edit5.Text:='';
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -