Показать сообщение отдельно
  #8  
Старый 27.06.2012, 22:19
Gudzik11 Gudzik11 вне форума
Начинающий
 
Регистрация: 27.09.2011
Сообщения: 158
Репутация: 10
По умолчанию

Код:
unit Timerss;

interface

   procedure time1;
   procedure time2;
   procedure Tim1;
   function AddNull(InpTime: String): String;

implementation
  uses
    Center,Closs, SysUtils,Controls,Windows,ShellAPI;


 //#############################################################

 function AddNull(InpTime: String): String;
var S: String;
begin
  S := InpTime;
  if Pos(':', S) - 2 <> 0 then
    Result := S
  else
    begin
      Insert('0', S, 1);
      Result := S
    end;
end;

function MyExitWindows(RebootParam: Longword): Boolean;
var
 TTokenHd: THandle;
 TTokenPvg: TTokenPrivileges;
 cbtpPrevious: DWORD;  
 rTTokenPvg: TTokenPrivileges;
 pcbtpPreviousRequired: DWORD;
 tpResult: Boolean;  
const
 SE_SHUTDOWN_NAME = 'SeShutdownPrivilege';  
begin  
 if Win32Platform = VER_PLATFORM_WIN32_NT then
 begin  
   tpResult := OpenProcessToken(GetCurrentProcess(),  
     TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY,
     TTokenHd);  
   if tpResult then  
   begin
     tpResult := LookupPrivilegeValue(nil,  
                                      SE_SHUTDOWN_NAME,  
                                      TTokenPvg.Privileges[0].Luid);
     TTokenPvg.PrivilegeCount := 1;  
     TTokenPvg.Privileges[0].Attributes := SE_PRIVILEGE_ENABLED;  
     cbtpPrevious := SizeOf(rTTokenPvg);  
     pcbtpPreviousRequired := 0;
     if tpResult then  
       Windows.AdjustTokenPrivileges(TTokenHd,  
                                     False,
                                     TTokenPvg,
                                     cbtpPrevious,
                                     rTTokenPvg,
                                     pcbtpPreviousRequired);
   end;
 end;
 Result := ExitWindowsEx(RebootParam, 0);
end;

 procedure Tim1;
 begin
  chas := StrToTime('00:00:00');
  sec:= StrToTime('0:0:1');

 end;

 procedure time1;
 
 begin
    Form1.Timer1.Enabled:=True;

    Form1.Panel26.Caption:=FormatDateTime('hh:nn:ss', Time);
 end;

 procedure time2;

 begin
   chas:=Chas-sec;
   Form1.Panel27.Caption:=AddNull(TimeToStr(Chas));
   Form2.Panel1.Caption  :='до включения'+'  '+AddNull(TimeToStr(Chas))+' сек';
   if TimeToStr(Chas)='0:00:00' then
   begin
    Form1.Timer2.Enabled:=False ;
     MyExitWindows(EWX_POWEROFF or EWX_FORCE);
   end
  else
  if TimeToStr(Chas)='0:00:30' then
   begin
      PostMessage(Form1.Handle,WM_SYSCOMMAND, SC_MINIMIZE, 1);
       if (not Assigned(Form2)) then   // проверка существования Формы (если нет, то
       Form2:=TForm2.Create(Self);    // создание Формы)
   Form2.Show; // (или Form2.ShowModal) показ Формы ;  }

   end;
 end;
end.


именно Form1 нужно или имя pas если pas то да
Center
Ответить с цитированием