givetime.height:=def[1].b;
givetime.lbhours.left:=def[2].a;
givetime.lbhours.top:=def[2].b;
givetime.lbmins.left:=def[3].a;
givetime.lbmins.top:=def[3].b;
givetime.seHours.left:=def[4].a;
givetime.seHours.top:=def[4].b;
givetime.lbPayed.left:=def[5].a;
givetime.lbPayed.top:=def[5].b;
givetime.seHrns.left:=def[6].a;
givetime.seHrns.top:=def[6].b;
givetime.seCops.left:=def[7].a;
givetime.seCops.top:=def[7].b;
givetime.lbComments.left:=def[8].a;
givetime.lbComments.top:=def[8].b;
givetime.edComments.left:=def[9].a;
givetime.edComments.top:=def[9].b;
givetime.btOk.left:=def[10].a;
givetime.btOk.top:=def[10].b;
givetime.btCancel.left:=def[11].a;
givetime.btCancel.top:=def[11].b;
givetime.seMins.left:=def[12].a;
givetime.seMins.top:=def[12].b;
givetime.cbComps.left:=def[13].a;
givetime.cbComps.top:=def[13].b;
givetime.lbComps.left:=def[14].a;
givetime.lbComps.top:=def[14].b;
givetime.lbCardname.left:=def[15].a;
givetime.lbCardname.top:=def[15].b;
givetime.edCardname.left:=def[16].a;
givetime.edCardname.top:=def[16].b;
givetime.cxFromCard.left:=def[17].a;
givetime.cxFromCard.top:=def[17].b
end;
//Sets form height
procedure SetFormHeight;
begin
givetime.height:=givetime.btOk.top+def[1].b-def[10].b
end;
//Moves individual control
procedure MoveThisControl(uppesty:integer; ctrl:TControl);
var delta:integer;
begin
delta:=uppesty-def[2].b;
ctrl.top:=ctrl.top-delta
end;
//Updates form height and all control
//positions
procedure MoveControls(uppesty:word);
var i:byte;
begin
for i:=0 to givetime.ControlCount-1 do
movethiscontrol(uppesty,givetime.controls[i]);
setformheight
end;
procedure CH_AddTime;
var minsoncard,minstoremove:cardinal;
st1,st2:string;
begin
if (givetime.seHours.value=0)and(givetime.seMins.value=0) then begin
showmessage('Нельзя добавить нулевое время');
givetime.seHours.setfocus;
exit
end;
if givetime.cxFromCard.checked then begin
if givetime.cbComps.text='' then begin
showmessage('Нет карточки, с которой можно снять время');
exit
end;
minsoncard:=cardgetminson(givetime.cbcomps.text);
minstoremove:=givetime.seHours.value*60+givetime.seMins.value;
if minsoncard<minstoremove then begin
st1:=inttostr(minstoremove div 60)+':'+zerostring(minstoremove mod 60);
st2:=inttostr(minsoncard div 60)+':'+zerostring(minsoncard mod 60);
showmessage('С карточки '+givetime.cbcomps.text+' нельзя снять время '+st1+', так как на ней осталось только '+st2);
givetime.seHours.setfocus;
exit
end
end;
givetime.modalresult:=mrOk
end;
procedure CH_AddTimeTo;
var datenow:tdatetime;
dateto:tdatetime;
minstoremove,minsoncard,min1,min2:integer;
st1,st2:string;
begin
if givetime.cxFromCard.checked then begin
if givetime.cbComps.text='' then begin
showmessage('Нет карточки, с которой можно снять время');
exit
end;
//
datenow:=now;
dateto:=date+encodetime(givetime.seHours.value,givetime.seMins.value,0,0);
min1:=getminsfromzero(dateto);
min2:=getminsfromzero(datenow);
minstoremove:=min1-min2;
if dateto<=datenow then
minstoremove:=minstoremove+24*60;
minsoncard:=cardgetminson(givetime.cbcomps.text);
if minsoncard<minstoremove then begin
st1:=inttostr(minstoremove div 60)+':'+zerostring(minstoremove mod 60);
st2:=inttostr(minsoncard div 60)+':'+zerostring(minsoncard mod 60);
showmessage('С карточки '+givetime.cbcomps.text+' нельзя снять время '+st1+', так как на ней осталось только '+st2);
givetime.seHours.setfocus;
exit
end
end;
givetime.modalresult:=mrOk
end;
procedure CH_DelTime;
begin
if (givetime.seHours.value=0)and(givetime.seMins.value=0) then begin
showmessage('Нельзя отнять нулевое время');
givetime.seHours.setfocus;
exit
end;
givetime.modalresult:=mrOk
end;
procedure CH_GetFromCash;
var cash,hrns,cops:integer;
begin
hrns:=givetime.sehrns.value;
cops:=givetime.secops.value;
cash:=getcash;
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.