}

Delphi.int.ru — Портал программистов

Вход Регистрация | Забыли пароль?

Просмотр кода

Идентификатор: ff168ddb Описание: 5580 Код загружен: 16 августа 2011, 16:27 (min@y™)

unit uRoutines;
 
interface
 
uses
  Windows, SysUtils, Controls, ComCtrls, Classes, Registry, Forms;
 
function ListColumnsToStr(AColumns: TListColumns): string;
procedure StrToListColumns(const S: string; AColumns: TListColumns);
function GetFileVersion: string;
procedure AutoRun(const Enabled: Boolean);
function AutoRunExists: Boolean;
function TimeInPeriod(const ATime, AFrom, ATo: TTime): Boolean;
function TimeSpan(const AFrom, ATo: TTime): TTime;
function TimeSpanInPeriod(const ASpanFrom, ASpanTo, AFrom, ATo: TTime): Boolean;
function IntToStrLeadingZeros(const Value, Places: Integer): string;
function BetweenInt(const Value, LowLimit, HighLimit: Integer): Boolean;
 
// Глобальные переменные и константы
const
  // Запуск только одной коп
const
  //nstMutexName       = 'WCOneInstanceMutex';
  OneInstActivateMessage = 'WCActivateMess
  OneInstActivateMessage = 'WCActivateMessage';
 
  //дназначена для несчастных '#13#10 +
              'работников, коротающих время до конца рабочего дня.'#13#10 +
              'Разработал от нефига делать min@y™
              'работников, коротающих время до конца рабочего дня.'#13#10 +
              'Разработал от нефига делать min@y™ (© 2009),'#13#10 +
              'mailto:minay.tm@gmail.com'#13#10#13#10 +
              'Версия программы: %s.';
 
  //.WIN+0.'#13#10 +
             'Для остановки воспроизведения нажми WIN+пробел.';
 
  // Курсоры
  crHand = 1;
  crFist = 2;
var
  // Запуск только одной копии программы
  MutexHandle:     THandle;
  WCM_ACTIVATE:    Cardinal;
 
implementation
 
uses rpVersionInfo;
 
function ListColumnsToStr(AColumns: TListColumn
+
             'Для остановки воспроизведения нажми WIN+пробел.';
 
  //o AColumns.Count - 1 do
    if Index <> 0
      then Result:= Result + ';' + IntToStr(AColumns[Index].Width)
      else Result:= IntToStr(AColumns[Index].Width);
end;
 
procedure StrToListColumns(const S: string; AColumns: TListColumns);
var
  Index, Width: Integer;
  List: TStringList;
begin
  List:= TStringList.Cre
o
    if Index <> 0
      then Result:= Result + ';' + IntToStr(AColumns[Index].Width)
      else Result:= IntToStr(AColumns[Index].Width);
end;
 
procedure StrToListColumns(const S: string; AColumns: TListColumns);
var
  Index, Width: Integer;
  List: TStringList;
begin
  List:= TStringList.Create();
  try
    List.Delimiter:= ';';
    List.DelimitedText:= S;
 
    for Index:= 0 to List.Count - 1 do
      begin
        if Index > AColumns.Count - 1
          then Break;
 
        if TryStrToInt(List[Index], Width)
          then AColumns[Index].Width:= Width;
      end;
  finally
    List.Free();
  end;
end;
 
function GetFileVersion: string;
var
  Info: TrpVersionInfo;
begin
  Info:= TrpVersionInfo.Create(nil);
  try
    Result:= Format(AboutText, [Info.FileVersion]);
  finally
    Info.Free();
  end;
end;
 
procedure AutoRun(const Enabled: Boolean);
var
  Reg: TRegistry;
begin
  Reg:= TRegistry.Create();
  try
    Reg.RootKey:= HKEY_CURRENT_USER;
    Reg.OpenKey('Software\Microsoft\Windows\CurrentVersion\Run', True);
 
    if Enabled //PChar('Не удалось удалить ключ автозапуска.'),
                                             PChar('Ошибка'),
                                             MB_OK + MB_ICONERROR);
                    end;
           end;
  finally
    Reg.Free();
  end;
end;
 
function AutoRunExists: Boolean;
var
  Reg: TRegistry;
begin
  Reg:= TRegistry.Create();
  try
    Reg.RootKey:= HKEY_CURRENT_USER;
    Reg.Ope
,
                                             PChar('Ошибка'),
                                             MB_OK + MB_ICONERROR);
                    end;
           end;
  finally
    Reg.Free();
  end;
end;
 
function AutoRunExists: Boolean;
var
  Reg: TRegistry;
begin
  Reg:= TRegistry.Create();
  try
    Reg.RootKey:= HKEY_CURRENT_USER;
    Reg.OpenKey('Software\Microsoft\Windows\CurrentVersion\Run', True);
    Result:= Reg.ValueExists('WorkerClocker');
  finally
    Reg.Free();
  end;
end;
 
// между временами суток AFrom и ATo
function TimeSpan(const AFrom, ATo: TTime): TTime;
var
  F, T: TTime;
begin
  F:= Frac(AFrom); // На всякий случай
  T:= Frac(ATo);   // На всякий случай
 
  if T >= F
    then Result:= Frac(T - F)
    else Result:= Frac(1 - (F - T));
end;
 
// Вычисление попадания периода вермени суток [ASpanFrom...ASpanTo]
// целиком в период [AFrom...ATo]
function TimeSpanInPeriod(const ASpanFrom, ASpanTo, AFrom, ATo: TTime): Boolean;
begin
  Result:= TimeInPeriod(ASpanFrom, AFrom, ATo) and TimeInPeriod(ASpanTo, AFrom, ATo
o
function TimeSpan(const AFrom, ATo: TTime): TTime;
var
  F, T: TTime;
begin
  F:= Frac(AFrom); //Str(Value);
  while Length(Result) < Places do
    Result:= '0' + Result;
end;
 
function BetweenInt(const Value, LowLimit, HighLimit: Integer): Boolean;
begin
  Result:= (Value >= LowLimit) and (Value <= HighLimit);
end;
 
end.</code>
 

Ссылка на данный код:

На главную страницу сервиса обмена кодом »