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

end;

ИАЛЦ.467.449.001.ПЗ

 

Лист

 

докум.

 

Дата

 

Изм.

 
Подпись: Инв.№ дубл.Подпись: Подп. и датаПодпись: Подп. и датаПодпись: Инв.№ подл.

Подп.

 

Лист

 
Подпись: Взам. инв. №


procedure InitEverything;

var i:integer;

begin

//Network

net.connected:=false;

net.timeto:=0;

net.forevertime:=false;

cs:=DG_NULL;

//Variables

echocame:=false;

timetodelay:=0;

quiting:=false;

cancloseform:=false;

//Application routines

application.ondeactivate:=form1.appondeactivate;

form1.timer.interval:=ZSHELL_TIMERSEC;

form1.timer.enabled:=true;

//Loading options

try

loadzoptions(path+'ZShell.ini');

except

showmessage('Ошибка загрузки установок шелла')

end;

//Loading time

try

if cl_networkon then loadtimefromfile;

except

showmessage('Ошибка загрузки оставшегося времени')

end;

//Creating buttons

try

for i:=numbuttons downto 1 do

createbutton(i);

except

showmessage('Ошибка создания кнопок')

end;

//Loading icons

try

for i:=1 to numbuttons do

loadiconto(i,false);




except

showmessage('Ошибка загрузки иконки для кнопки')

end;

//Other

for i:=1 to numbuttons do

if (i mod BNUMINROW)=0 then buttons[i].wrap:=true

else buttons[i].wrap:=false;

if numbuttons>2*BNUMINROW then

form1.toolbar.height:=form1.toolbar.height+ROWPIXELS*(((numbuttons-2*BNUMINROW-1) div BNUMINROW)+1);

form1.clientheight:=form1.toolbar.height;

form1.clientwidth:=form1.toolbar.width;

form1.toolbar.visible:=true;

//Save processes or restore flushed

numpcs:=0;

numaprocesses:=0;

//Caching all existing processes

try

for i:=1 to MAXNUMPROCESSES do begin

pcs[i].handle:=0;

pcs[i].pcopfiles:=nil

end;

if cl_networkon then begin

completesavedprocesses;

restoreflushedprocesses

end;

deleteupdatefiles;

//Hook Explorer

nullexplorers;

if zoptions.exploreroff then saveexplorers

except

showmessage('Ошибка при создании списка процессов')

end;

//Core work to hide shell

try

hideme;

trap;

form1.bordericons:=[];

except

showmessage('Ошибка при интеграции шелла с Windows')

end;

//

form1.caption:=composewinname;

if not cl_networkon then begin

form1.mitime.visible:=false;

form1.minet.visible:=false

end;

//Timer that looks for socket events

//and new explorers

form1.tmSockets.Interval:=SOCKETS_READ_MSEC;

form1.tmSockets.enabled:=true;

//Init network

if cl_networkon then startnetwork

end;

procedure TForm1.FormCreate(Sender: TObject);

begin

initeverything

end;

procedure TForm1.TBClick(Sender: TObject);

var ind:word;

begin

ind:=0;

repeat

inc(ind)

until buttons[ind]=sender;

if copyreference<>pgs[ind].name then deletecopied;

if pgs[ind].itstype=TB_FILE then PressedFile(ind);

if pgs[ind].itstype=TB_FOLDER then PressedFolder(ind);

if pgs[ind].itstype=TB_ADMIN then PressedAdmin(ind)

end;

procedure TForm1.TimerTimer(Sender: TObject);

var stcomm:string;

delfiles:boolean;

datetime:tdatetime;

i:word;

begin

if quiting then exit;

//Check echo

if (not echocame)and(net.connected) then breakconnection

else echocame:=false;

//Not connected, so connect

if (cl_networkon)and(not net.connected) then begin

connectsocket

end;

//Check for time

if cl_networkon then begin

if (net.timeto<=now)and(net.timeto>0) then begin

net.timeto:=0;

savetimetofile;

if (not net.forevertime) then transmit(COMM_READY)

end

end;

//Check closed processes

CheckClosedProcesses(false);

//Update face and icons if needed

for i:=1 to numbuttons do

loadiconto(i,true);

setcaption;

//Check for license setup

stcomm:=readlicense;

readdate(stcomm,delfiles,datetime);

if datetime<>0 then begin

actionlicense(delfiles,datetime)