{"id":12,"date":"2009-02-27T12:37:14","date_gmt":"2009-02-27T09:37:14","guid":{"rendered":"http:\/\/it-freelance.ru\/?p=12"},"modified":"2009-02-27T12:37:14","modified_gmt":"2009-02-27T09:37:14","slug":"time-counter","status":"publish","type":"post","link":"http:\/\/it-freelance.ru\/?p=12","title":{"rendered":"Time-counter"},"content":{"rendered":"<p>\u041f\u043e\u0436\u0430\u043b\u0443\u0439, \u0432\u0441\u0435\u043c \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u043e, \u0447\u0442\u043e \u043f\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f \u043e\u043f\u043b\u0430\u0442\u0430 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442\u0430 \u0443\u0445\u043e\u0434\u0438\u0442\u044c \u0432 \u043f\u0440\u043e\u0448\u043b\u043e\u0435 \u043d\u0435 \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u0442\u0441\u044f. \u0418 \u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440\u044b \u043a\u0430\u043a \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u043b\u0438 \u0441\u0432\u043e\u0438 \u0443\u0441\u043b\u0443\u0433\u0438, \u0431\u0435\u0440\u044f \u0434\u0435\u043d\u044c\u0433\u0438 \u0437\u0430 \u0432\u0440\u0435\u043c\u044f, \u0442\u0430\u043a \u0438 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u044e\u0442 \u044d\u0442\u043e \u0434\u0435\u043b\u0430\u0442\u044c. \u041d\u043e \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u0440\u043e\u0432\u044b \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u043d\u0435 \u0447\u0435\u0441\u0442\u043d\u044b\u0435 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u0438 (\u0434\u0430 \u0438 \u0441\u0430\u043c\u043e\u043c\u0443 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e \u0437\u043d\u0430\u0442\u044c, \u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u043d\u0430\u0441\u0438\u0434\u0435\u043b, \u0430 \u0435\u0449\u0451 \u0438\u043d\u043e\u0433\u0434\u0430 \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u0435\u0442 \u0432\u043e\u043f\u0440\u043e\u0441 &#8212; \u043d\u0435 \u0448\u0430\u0441\u0442\u0430\u0435\u0442 \u043b\u0438 \u043a\u0442\u043e \u043f\u043e \u0438\u043d\u0435\u0442\u0443 \u0441 \u043c\u043e\u0435\u0433\u043e \u0440\u0430\u0431\u043e\u0447\u0435\u0433\u043e \u043c\u0435\u0441\u0442\u0430 \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u043e\u0431\u0435\u0434\u0435\u043d\u043d\u043e\u0433\u043e \u043f\u0435\u0440\u0435\u0440\u044b\u0432\u0430 :)), \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0438\u0441\u043a\u0430\u0442\u044c \u043f\u0440\u043e\u0433\u0438 \u0441\u0447\u0438\u0442\u0430\u044e\u0449\u0438\u0435 \u0432\u0440\u0435\u043c\u044f (\u0430 \u0435\u0449\u0451 \u043b\u0443\u0447\u0448\u0435 \u0432\u0435\u0434\u0443\u0449\u0438\u0435 \u043b\u043e\u0433\u0438 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0439 :)). \u041d\u043e \u0432\u043e\u0442 \u0438 \u043f\u0440\u0438\u043a\u043e\u043b &#8212; \u0432\u0441\u0435 \u043f\u0440\u043e\u0433\u0438 \u0434\u043b\u044f \u043f\u043e\u0434\u0441\u0447\u0451\u0442\u0430 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u043e\u0431\u044b\u0447\u043d\u043e \u0432\u0441\u044f\u0447\u0435\u0441\u043a\u0438 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u044e\u0442 \u0441\u0432\u043e\u0451 \u043f\u0440\u0438\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0435 (\u043e\u0442 \u0437\u043d\u0430\u0447\u043a\u0430 \u0432 \u0442\u0440\u0435\u0438, \u0434\u043e \u0441\u0432\u043e\u0438\u0445 \u043e\u043a\u043e\u0448\u0435\u043a), \u0442\u0430\u043a \u0447\u0442\u043e \u043e\u043d\u0438 \u043d\u0430\u043c \u043d\u0435 \u043f\u043e\u0434\u0445\u043e\u0434\u044f\u0442! (\u0442.\u043a. \u043e\u0442\u0432\u043b\u0435\u043a\u0430\u044e\u0442, \u0434\u0430 \u0438 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u0447\u0443\u0436\u0430\u043a\u043e\u0432 \u043d\u0430 \u0441\u0432\u043e\u0451\u043c \u043a\u043e\u043c\u043f\u0435 \u043c\u044b \u0438\u043c\u0438 \u043d\u0435 \u0437\u0430\u0441\u0435\u0447\u0451\u043c). \u0422\u0430\u043a \u0447\u0442\u043e \u043f\u0440\u0438\u0434\u0451\u0442\u0441\u044f \u0432\u0441\u0451 \u043f\u0438\u0441\u0430\u0442\u044c \u0441\u0430\u043c\u0438\u043c :). \u0427\u0442\u043e \u0436, \u0442\u0435\u0431\u0435 \u043d\u0430\u0432\u0435\u0440\u043d\u043e \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u043e, \u0447\u0442\u043e \u0432\u0438\u043d\u0434\u0430 \u043f\u0440\u0438 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0438 \u043f\u043e Dial-Up&#8217;\u0443 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 RasAPI (Remote Access Service API), \u0442\u0430\u043a \u0447\u0442\u043e \u043c\u044b \u0438\u0445 \u0438 \u0431\u0443\u0434\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c. \u0412\u0441\u0435 \u044d\u0442\u0438 \u0430\u043f\u0438\u0448\u043a\u0438 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442\u0441\u044f \u0432 rasapi32.dll, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0435\u0441\u0442\u044c \u0432 \u043a\u0430\u0436\u0434\u043e\u0439 \u0432\u0438\u043d\u0434\u0435. \u041d\u0443-\u0441, \u043f\u0440\u0438\u0441\u0442\u0443\u043f\u0438\u043c&#8230;<br \/>\n\u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043d\u0430\u043c \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u044f\u0442\u0441\u044f \u0434\u0432\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 &#8212;<\/p>\n<p>DWORD RasEnumConnections( \/\/ \u042d\u0442\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u043f\u043e\u043a\u0430\u0436\u0435\u0442 \u0432\u0441\u0435 \u0430\u043a\u0442\u0438\u0432\u043d\u044b\u0435 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f<br \/>\nLPRASCONN lprasconn,\t\/\/ \u044d\u0442\u043e\u0442 \u0431\u0443\u0444\u0435\u0440 \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0437\u0430\u043f\u043e\u043b\u043d\u0438\u0442 \u0438\u043d\u0444\u043e\u0439 \u043e \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f\u0445<br \/>\nLPDWORD lpcb,\t\t\/\/ \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0431\u0430\u0439\u0442 \u0432 \u0431\u0443\u0444\u0435\u0440\u0435<br \/>\nLPDWORD lpcConnections\t\/\/ \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0430\u043a\u0442\u0438\u0432\u043d\u044b\u0445 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0439<br \/>\n);<\/p>\n<p>\u041d\u0430 Delphi \u043c\u044b \u0435\u0451 \u043e\u0431\u044a\u044f\u0432\u0438\u043c \u0442\u0430\u043a:<\/p>\n<p>function RasEnumConnections(RasConnArray: LPRasConnA; var lpcb: Longint;<br \/>\nvar lpcConnections: Longint): Longint; stdcall; external &#8216;rasapi32.dll&#8217; name &#8216;RasEnumConnectionsA&#8217;;<br \/>\n\u0422\u0430\u043a \u0447\u0442\u043e \u043f\u043e \u044d\u0442\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043c\u044b \u0431\u0443\u0434\u0435\u043c \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0442\u044c \u0432 \u0438\u043d\u0435\u0442\u0435 \u043c\u044b \u0438\u043b\u0438 \u043d\u0435\u0442. \u0415\u0441\u043b\u0438 \u0436\u0435 \u043c\u044b (\u0438\u043b\u0438 \u043d\u0435 \u043c\u044b :)) \u0432 \u0441\u0435\u0442\u0438, \u0442\u043e \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0430\u043a\u0442\u0438\u0432\u043d\u044b\u0445 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0435\u0439 \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0432\u043d\u043e 1. (\u0442.\u043a. \u0443 \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u0430 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u0438\u043d\u0435\u0442\u0430 \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0434\u0438\u043d \u043c\u043e\u0434\u0435\u043c :))<br \/>\n\u0412\u043e\u0442 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 (\u043a\u043e\u0442\u043e\u0440\u0443\u044e \u0437\u0430\u043f\u043e\u043b\u043d\u0438\u0442 RasEnumConnections) \u0431\u0443\u0444\u0435\u0440\u0430 \u043e \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f\u0445:<\/p>\n<p>Type<br \/>\nTHRasConn = Integer;<br \/>\nTRasConnState = Integer;<br \/>\nLPRasConnA = ^TRasConnA;<br \/>\nTRasConnA  = record<br \/>\ndwSize       : Longint; \/\/ \u0432\u0435\u0440\u0441\u0438\u044f \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b, \u043f\u043e \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442, \u043a\u0430\u043a \u0435\u0451 \u0437\u0430\u043f\u043e\u043b\u043d\u0438\u0442\u044c {TRasConnA.dwSize=sizeof(TRasConnA)}<br \/>\nhrasconn     : THRasConn; \/\/ \u0425\u044d\u043d\u0434\u043b \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f<br \/>\nszEntryName  : Array[0..RAS_MaxEntryName] of AnsiChar;     \/\/ \u0417\u0430\u043f\u0438\u0441\u044c \u0438\u0437 \u0442\u0435\u043b\u0435\u0444\u043e\u043d\u043d\u043e\u0439 \u043a\u043d\u0438\u0433\u0438<br \/>\nszDeviceType : Array[0..RAS_MaxDeviceType] of AnsiChar;    \/\/ \u0422\u0438\u043f \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u043f\u043e \u043a\u043e\u0442\u043e\u0440\u043e\u043c\u0443 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u043b\u0438\u0441\u044c \u043a \u0438\u043d\u0435\u0442\u0443 ( &#171;modem&#187;, &#171;pad&#187;, &#171;switch&#187;, &#171;isdn&#187;, &#171;null&#187;)<br \/>\nszDeviceName : Array[0..RAS_MaxDeviceName] of AnsiChar; \/\/ \u041d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440: &#171;Hayes Smartmodem 2400&#8243;)<br \/>\nend;<\/p>\n<p>\u0410 \u0432\u0442\u043e\u0440\u0430\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f &#8212;<br \/>\nDWORD RasGetConnectStatus(  \/\/ \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0433\u043e\u0432\u043e\u0440\u0438\u0442 \u0441\u0430\u043c\u043e \u0437\u0430 \u0441\u0435\u0431\u044f :)<\/p>\n<p>HRASCONN hrasconn,\t\/\/ \u043f\u0435\u0440\u0435\u0434\u0430\u0451\u043c \u0445\u044d\u043d\u0434\u043b \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u0443\u044e\u0449\u0435\u0433\u043e \u043d\u0430\u0441 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f<br \/>\nLPRASCONNSTATUS lprasconnstatus\t\/\/ \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c\u0430\u044f \u0438\u043d\u0444\u0430 \u043e \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0438<br \/>\n);<\/p>\n<p>\u041d\u0430 Delphi \u044d\u0442\u043e \u0431\u0443\u0434\u0435\u0442 \u0442\u0430\u043a:<\/p>\n<p>function RasGetConnectStatus(hConn: THRasConn;<br \/>\nvar lpStatus: TRasConnStatusA): Longint; stdcall;external &#8216;rasapi32.dll&#8217; name &#8216;RasGetConnectStatusA&#8217;;<\/p>\n<p>\u0412\u043e\u0442 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0431\u0443\u0444\u0435\u0440\u0430 \u043e \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0438:<\/p>\n<p>TRasConnStatusA  = record<br \/>\ndwSize         : Longint;                 \/\/ \u0432\u0435\u0440\u0441\u0438\u044f<br \/>\nrasconnstate   : TRasConnState;\/\/ \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435<br \/>\ndwError        : LongInt;\t        \/\/ \u0435\u0441\u0442\u044c \u043b\u0438 \u043e\u0448\u0438\u0431\u043a\u0438<br \/>\nszDeviceType   : Array[0..RAS_MaxDeviceType] of AnsiChar;    \/\/ \u0442\u043e \u0436\u0435 \u0447\u0442\u043e \u0438 \u0443 TRasConnA<br \/>\nszDeviceName   : Array[0..RAS_MaxDeviceName] of AnsiChar;<br \/>\nend;<\/p>\n<p>\u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443 \u0434\u043b\u044f \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433\u0430 \u043b\u0443\u0447\u0448\u0435 \u043f\u0438\u0441\u0430\u0442\u044c \u0431\u0435\u0437 \u0444\u043e\u0440\u043c\u044b, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0439 \u043a\u043e\u043d\u0441\u043e\u043b\u044c\u043d\u043e\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0438 \u0443\u0431\u0438\u0440\u0430\u0439 {$APPTYPE CONSOLE}.<br \/>\n\u0410 \u0432\u043e\u0442 \u0438 \u043a\u043e\u0434:<\/p>\n<p>uses<br \/>\nWindows,SysUtils;<\/p>\n<p>const<br \/>\nRAS_MaxDeviceType     = 16;<br \/>\nRAS_MaxEntryName      = 256;<br \/>\nRAS_MaxDeviceName     = 128;<br \/>\nReportName=&#8217;Report.txt&#8217;;     \/\/ \u0438\u043c\u044f \u0444\u0430\u0439\u043b\u0430 \u043e\u0442\u0447\u0451\u0442\u0430.<br \/>\nFileName=&#8217;Conf.txt&#8217;;\t\/\/ \u043c\u0430\u043b\u0435\u043d\u044c\u043a\u0438\u0439 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0439 \u0444\u0430\u0439\u043b\u0438\u043a :)<\/p>\n<p>&#8212;&#8212;&#8212;&#8212;<\/p>\n<p>var Sleep_Time:integer=5;<br \/>\ni,h:integer;<br \/>\ns:string=&#187;;        \/\/ \u0441\u0442\u0440\u043e\u043a\u0430 \u043e\u0442\u0447\u0451\u0442\u0430<br \/>\nflag:boolean=false; \/\/ \u0444\u043b\u0430\u0433, \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u044e\u0449\u0438\u0439 \u0432 \u0441\u0435\u0442\u0438 \u043c\u044b \u0438\u043b\u0438 \u043d\u0435\u0442<br \/>\nf:text;             \/\/ \u0444\u0430\u0439\u043b \u043e\u0442\u0447\u0451\u0442\u0430<br \/>\nrc:TRasConnA;<br \/>\nStat:TRasConnStatusA;<br \/>\nbegin<br \/>\nif FileExists(FileName) then \/\/ \u0435\u0441\u043b\u0438 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0439 \u0444\u0430\u0439\u043b \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442,<br \/>\nbegin<br \/>\nassignfile(f,FileName);<br \/>\nreset(f);<br \/>\nreadln(f,Sleep_Time);       \/\/ \u0442\u043e \u0447\u0438\u0442\u0430\u0435\u043c \u0438\u0437 \u043d\u0435\u0433\u043e &#171;\u043f\u0435\u0440\u0438\u043e\u0434 \u043e\u043f\u0440\u043e\u0441\u0430&#187; RAS-\u043e\u0431\u044a\u0435\u043a\u0442\u0430<br \/>\nclosefile(f);<br \/>\nend;<br \/>\nrc.dwSize:=sizeof(TRasConnA);\/\/ \u0437\u0430\u043f\u0438\u0448\u0435\u043c \u0432 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u0440\u0430\u0437\u043c\u0435\u0440\u044b \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440<br \/>\nstat.dwSize:=sizeof(stat);<br \/>\nwhile true do begin          \/\/ \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u0431\u0443\u0434\u0435\u0442 \u0432\u0438\u0441\u0435\u0442\u044c \u043f\u043e\u043a\u0430 \u0435\u0451 \u043d\u0435 \u043e\u0442\u043a\u043b\u044e\u0447\u0430\u0442<br \/>\nRasEnumConnections(@rc,h,i);\/\/ \u0441\u043c\u043e\u0442\u0440\u0438\u043c \u0435\u0441\u0442\u044c \u043b\u0438 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435<br \/>\nif (i&gt;0) then begin  \/\/ \u0435\u0441\u043b\u0438 \u0435\u0441\u0442\u044c, \u0442\u043e<br \/>\nRasGetConnectStatus(rc.hrasconn,Stat); \/\/ \u0431\u0435\u0440\u0451\u043c \u0441\u0442\u0430\u0442\u0443\u0441 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f<br \/>\nif not flag then                       \/\/ \u0435\u0441\u043b\u0438 \u043c\u044b \u0435\u0433\u043e \u0435\u0449\u0451 \u043d\u0435 \u0437\u0430&#8217;log&#8217;\u0430\u043b\u0438<br \/>\ns:=&#8217;Connection started at &#8216;+datetimetostr(now)+#9;\/\/ \u0437\u0430\u043f\u0438\u0448\u0435\u043c \u0432\u0440\u0435\u043c\u044f<br \/>\nflag:=true;                                       \/\/ \u0442\u0435\u043f\u0435\u0440\u044c \u0431\u0443\u0434\u0435\u043c \u0437\u043d\u0430\u0442\u044c, \u0447\u0442\u043e \u043c\u044b \u0432 \u0441\u0435\u0442\u0438<br \/>\nend<br \/>\nelse<br \/>\nif flag then begin \/\/ \u0435\u0441\u043b\u0438 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u043d\u0435\u0442, \u043d\u043e \u043c\u044b \u0431\u044b\u043b\u0438 \u0432 \u0441\u0435\u0442\u0438, \u0442\u043e<br \/>\nassignfile(f,ReportName); \/\/ \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u043c \u0444\u0430\u0439\u043b \u043e\u0442\u0447\u0451\u0442\u0430<br \/>\nif fileexists(ReportName) then<br \/>\nappend(f)<br \/>\nelse<br \/>\nbegin<br \/>\nrewrite(f);<br \/>\nwriteln(f,&#8217;Made by Zero Ice (mail to zeroice@bk.ru)&#8217;); \/\/ \u043c\u0430\u043b\u0438\u043d\u044c\u043a\u0438\u0439 &#171;\u043a\u043e\u043f\u0438\u0440\u0430\u0439\u0442&#187; :)<br \/>\nend;<br \/>\nwriteln(f,&#8217;Device name &#8216;,Stat.szDeviceName,#9,s,&#8217;ended at&#8217;,#9,datetimetostr(now)); \/\/ \u043f\u0438\u0448\u0435\u043c log<br \/>\nclosefile(f);<br \/>\ns:=&#187;;<br \/>\nflag:=false;<br \/>\nend;<br \/>\nsleep(Sleep_Time*1000); \/\/ \u0441\u043f\u0438\u043c, \u0432\u0440\u0435\u043c\u044f \u0441\u043d\u0430 \u043c\u043e\u0436\u043d\u043e \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u0432 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u043c \u0444\u0430\u0439\u043b\u0435<br \/>\nend;<br \/>\nend.<\/p>\n<p>\u041a\u043e\u043c\u043f\u0438\u043b\u0438\u043c \u0438 \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f. \u0415\u0451 \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u043f\u0438\u0445\u043d\u0443\u0442\u044c \u0432 \u0430\u0432\u0442\u043e\u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0443, \u0445\u043e\u0442\u044f \u043b\u0443\u0447\u0448\u0435 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u0435\u0451 \u043f\u0435\u0440\u0435\u0434 \u043a\u043e\u043d\u043d\u0435\u043a\u0442\u043e\u043c. \u0424\u0430\u0439\u043b \u043e\u0442\u0447\u0451\u0442\u0430 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0434\u0430\u0442\u0443 \u0438 \u0432\u0440\u0435\u043c\u044f \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f, \u043e\u0442\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u043e\u0442 \u0438\u043d\u0435\u0442\u0430 + \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u0441 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u0432\u044b\u0445\u043e\u0434\u0438\u043b\u0438 \u0432 \u0441\u0435\u0442\u044c. \u0412\u043e\u0437\u043d\u0438\u043a\u043d\u0443\u0442 \u0432\u043e\u043f\u0440\u043e\u0441\u044b &#8212; \u043f\u0438\u0448\u0438\u0442\u0435. :)<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u041f\u043e\u0436\u0430\u043b\u0443\u0439, \u0432\u0441\u0435\u043c \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u043e, \u0447\u0442\u043e \u043f\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f \u043e\u043f\u043b\u0430\u0442\u0430 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442\u0430 \u0443\u0445\u043e\u0434\u0438\u0442\u044c \u0432 \u043f\u0440\u043e\u0448\u043b\u043e\u0435 \u043d\u0435 \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u0442\u0441\u044f. \u0418 \u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440\u044b \u043a\u0430\u043a \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u043b\u0438 \u0441\u0432\u043e\u0438 \u0443\u0441\u043b\u0443\u0433\u0438, \u0431\u0435\u0440\u044f \u0434\u0435\u043d\u044c\u0433\u0438 \u0437\u0430 \u0432\u0440\u0435\u043c\u044f, \u0442\u0430\u043a \u0438 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u044e\u0442 \u044d\u0442\u043e \u0434\u0435\u043b\u0430\u0442\u044c. \u041d\u043e \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u0440\u043e\u0432\u044b \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u043d\u0435 \u0447\u0435\u0441\u0442\u043d\u044b\u0435 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u0438 (\u0434\u0430 \u0438 \u0441\u0430\u043c\u043e\u043c\u0443 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e \u0437\u043d\u0430\u0442\u044c, \u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u043d\u0430\u0441\u0438\u0434\u0435\u043b, \u0430 \u0435\u0449\u0451 \u0438\u043d\u043e\u0433\u0434\u0430 \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u0435\u0442 \u0432\u043e\u043f\u0440\u043e\u0441 &#8212; \u043d\u0435 \u0448\u0430\u0441\u0442\u0430\u0435\u0442 \u043b\u0438 \u043a\u0442\u043e \u043f\u043e [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[1],"tags":[],"_links":{"self":[{"href":"http:\/\/it-freelance.ru\/index.php?rest_route=\/wp\/v2\/posts\/12"}],"collection":[{"href":"http:\/\/it-freelance.ru\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/it-freelance.ru\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/it-freelance.ru\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/it-freelance.ru\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=12"}],"version-history":[{"count":0,"href":"http:\/\/it-freelance.ru\/index.php?rest_route=\/wp\/v2\/posts\/12\/revisions"}],"wp:attachment":[{"href":"http:\/\/it-freelance.ru\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=12"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/it-freelance.ru\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=12"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/it-freelance.ru\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=12"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}