Archive for the ‘для себя’ Category

Duke Nukem: Time to kill

среда, января 7, 2009

Работа с датами

суббота, декабря 20, 2008

День недели по дате
(

  • *
    this code is generated by the algopascal translator

    this code is distributed under the alglib license
    (see http://www.alglib.net/copyrules.php for details)

  • *)
    uses math, ap;

    function dayofweek(d : integer; m : integer; y : integer):integer;forward;

    (

  • *
    День недели по дате.

    function dayofweek(d,m,y:integer):integer;

    На входе:
    дата - d (день), m (месяц), y (год).

    На выходе:
    номер дня недели.

    Понедельник имеет номер 1,
    Вторник номер 2, ...,
    Воскресенье номер 7.

  • *)

    (more...)

  • Как узнать пути к стандартным папкам (Delphi)

    суббота, декабря 20, 2008

    В Windows есть специальная функция, позволяющая получить пути к стандартным папкам. В Delphi это будет выглядеть так:
    uses ShlObj;

    function GetSpecialPath(CSIDL: word): string;
    var s: string;
    begin
    SetLength(s, MAX_PATH);
    if not SHGetSpecialFolderPath(0, PChar(s), CSIDL, true)
    then s := '';
    result := PChar(s);
    end;

    Функции нужно передать id папки, путь которой хотим получить. Список id идёт далее.
    Следует помнить, что не все id будуть работать в разных версиях Windows. Например папки 'Documents & Settungs' нет в 98-х и бессмысленно пытаться получить путь к ней.

    Смысл данного поста скорее не в том, чтобы показать, как пользоваться функцией SHGetSpecialFolderPath, а, скорее, дать перечень CSIDL и описание к ним на русском.
    (more...)

    10 советов по улучшению дизайна

    среда, декабря 17, 2008

    http://www.smashingmagazine.com/2008/12/15/10-useful-techniques-to-improve-your-user-interface-designs/

    Алгоритмы шифрования MD5 и SHA1 в MS SQL Server 2005

    пятница, декабря 12, 2008

    Все наверняка знают команду md5('строка') в MySQL - она удобна и полезна. Сегодня понадобилось сделать тоже самое в Microsoft SQL Server 2005, но он такой команды не знает. Погуглил, выяснилось, что для использования шифрования люди используют специальные DLL-ки. Какие нафиг DLL-ки! Поискав в MSDN, выяснил, что начиная с 2005 версии, шифрование встроено в SQL Server (кто бы сомневался).

    Синтаксис:

    HashBytes ( 'algorithm', { @input | 'input' } )

    algorithm может принимать следующие значения: MD2 | MD4 | MD5 | SHA | SHA1

    Пример:
    DECLARE @HashThis nvarchar(4000);
    SELECT @HashThis = CONVERT(nvarchar(4000),'dslfdkjLK85kldhnv$n000#knf');
    SELECT HashBytes('SHA1', @HashThis);
    GO

    Что нового в Delphi 2007

    среда, декабря 10, 2008

    Недавно отыскал видео, нашел много полезного:

    Выполнение команд операционной системы в MS SQL

    среда, декабря 3, 2008

    Выполнение команд операционной системы в MS SQL

    Репликация

    среда, ноября 26, 2008

    http://msdn.microsoft.com/ru-ru/library/ms151198(SQL.90).aspx

    Получение версии программы/библиотеки вида XX.XX

    вторник, ноября 25, 2008

    Function GetFileVersion(Const FileName: String): String;
    Type
    TFileVersion = Packed Record
    Case Integer Of
    0: (Ver64: Int64);
    1: (VerLS, VerMS: DWORD);
    2: (Ver3, Ver2, Ver1, Ver0: Word);
    3: (Build, Release, Minor, Major: Word);
    End;
    Var
    VersInfo : Pointer;
    VersInfoSize : DWORD;
    FileVersion : TFileVersion;
    w : DWORD;
    FileInfo : PVSFixedFileInfo;
    Begin
    Result := '';
    VersInfoSize := GetFileVersionInfoSize(PChar(FileName), W);
    GetMem(VersInfo, VersInfoSize);
    Try
    If GetFileVersionInfo(PChar(FileName), 0, VersInfoSize, VersInfo) And
    VerQueryValue(VersInfo, '\', Pointer(FileInfo), W) Then
    Begin
    FileVersion.VerMS := FileInfo.dwFileVersionMS;
    FileVersion.VerLS := FileInfo.dwFileVersionLS;
    Result := Int2Str(FileVersion.Major) + '.' + Int2Str(FileVersion.Minor);
    End;
    Finally
    FreeMem(VersInfo);
    End;
    End;

    Репликация столбцов идентификаторов

    четверг, ноября 6, 2008

    http://msdn.microsoft.com/ru-ru/library/ms152543.aspx