Програмне забезпеченння для адміністрування комп'ютерного клубу, страница 20

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;