Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » Inno Setup (создание инсталяционных пакетов)

Модерирует : gyra, Maz

Widok (25-09-2007 17:33): лимит страниц. продолжаем здесь  Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

   

Sero



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору


Код:
 
[Setup]
;Название программы - инсталлятора, а также заголовок инсталлятора, (пожеланию можно версию указать):
AppName=about.button
;Версия программы - инсталлятора, (пожеланию можно указать - название + версию):
AppVerName=about.button
;Директория установки для программы - инсталлятора:
DefaultDirName={pf}\about.button
;Название выходного файла компилятора:
OutputBaseFilename=about.button.by.nightw0lf
 
 
[Code]
type
  TFileTime = record
    lowdatatime: longint;
    highdatatime: longint;
  end;
 
  TSystemTime = record
    wYear: Word;
    wMonth: Word;
    wDayOfWeek: Word;
    wDay: Word;
    wHour: Word;
    wMinute: Word;
    wSecond: Word;
    wMilliseconds: Word;
  end;
   
const
  MB_ICONINFORMATION = $40;
  MB_ICONEXCLAMATION = $30;
  MB_ICONQUESTION = $20;
  MB_ICONSTOP = $10;
  MB_ICONNONE = $0;
 
function MessageBox(hWnd: Integer; lpText, lpCaption: string; uType: Cardinal): Integer;
  external 'MessageBoxA@user32.dll stdcall';
function GetFileTime(hfile: longint; var lpcreation, lpaccess, lpwrite: TFileTime): boolean;
  external 'GetFileTime@kernel32.dll stdcall';
 
function FileTimeToSystemTime(var tftm: TFileTime; var systm: TSystemTime): boolean;
  external 'FileTimeToSystemTime@kernel32.dll stdcall';
 
function FileTimeToLocalFileTime(utct: TFileTime; var loct: TFileTime): boolean;
  external 'FileTimeToLocalFileTime@kernel32.dll stdcall';
 
function GetDateFormat(Locale: Integer; dwFlags: LongInt;
  var lpDate: TSystemTime; lpFormat: PChar; lpDateStr: string;
  cchDate: Integer): Integer; external
  'GetDateFormatA@kernel32.dll';
 
function GetTimeFormat(Locale: Integer; dwFlags: LongInt;
  var lpTime: TSystemTime; lpFormat: PChar; lpTimeStr: string;
  cchDate: Integer): Integer; external
  'GetTimeFormatA@kernel32.dll';
 
var
  strFile: string;
  strCreTime: string;
  strModTime: string;
  strAccessTime: string;
 
 
 
function FormattedTime(t: TSystemTime): string;
var
  s, fmt: string;
begin
  fmt := StringOfChar(' ', 64);
  GetDateFormat(0, 0, t, 'yyyy-MM-dd', fmt, 63);
  fmt := CastIntegerToString(CastStringToInteger(fmt));
 
  s := ' -- built on ' + fmt;
 
  fmt := StringOfChar(' ', 64);
  GetTimeFormat(0, 0, t, 'hh:mm:ss tt', fmt, 63);
  fmt := CastIntegerToString(CastStringToInteger(fmt));
 
  s := s + ' at ' + fmt;
 
  Result := s;
end;
 
 
 
function GetFileSysTime(nomef: string; var stime: string; idx: Integer): TSystemTime;
var
  fs: TFileStream;
  risul: TSystemTime;
  creat, access, write, local: TFileTime;
begin
  fs := TFileStream.Create(nomef, fmOpenRead);
  GetFileTime(fs.handle, creat, access, write);
  fs.Free;
  case idx of
    1: FileTimeToLocalFileTime(creat, local);
    2: FileTimeToLocalFileTime(access, local);
    3: FileTimeToLocalFileTime(write, local);
  end;
  FileTimeToSystemTime(local, risul);
  stime := FormattedTime(risul);
  Result := risul;
end;
 
procedure AboutButtonOnClick(Sender: TObject);
var
  hWnd: Integer;
begin
  hWnd := StrToInt(ExpandConstant('{wizardhwnd}'));
  MessageBox(hWnd, '' +
  + #13 'Released: '+strCreTime, 'Инфо', MB_OK or $40);
end;
 
 
procedure InitializeWizard();
var
  Width, Height, I: Integer;
  AboutButton, CancelButton: TButton;
  filename, s: string;
  t: TSystemTime;
begin
  filename := ExpandConstant('{srcexe}');
  strFile := filename;
  t := GetFileSysTime(filename, s, 1);
  strCreTime := s;
  t := GetFileSysTime(filename, s, 2);
  strAccessTime := s;
  t := GetFileSysTime(filename, s, 3);
  strModTime := s;
   
  CancelButton := WizardForm.CancelButton;
 
  AboutButton := TButton.Create(WizardForm);
  AboutButton.Left := WizardForm.ClientWidth - CancelButton.Left - CancelButton.Width;
  AboutButton.Top := CancelButton.Top;
  AboutButton.Width := CancelButton.Width;
  AboutButton.Height := CancelButton.Height;
  AboutButton.Caption := 'About';
  AboutButton.ShowHint := True
  AboutButton.Hint := 'О программе'
  AboutButton.OnClick := @AboutButtonOnClick;
  AboutButton.Parent := WizardForm;
  AboutButton.Cursor := crHand;
  AboutButton.Font.Style := AboutButton.Font.Style + [fsUnderline];
end;
 

Всего записей: 309 | Зарегистр. 29-10-2006 | Отправлено: 22:50 16-06-2007
   

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Компьютеры » Программы » Inno Setup (создание инсталяционных пакетов)
Widok (25-09-2007 17:33): лимит страниц. продолжаем здесь


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru