Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Ветеран


Сообщения: 1133
Благодарности: 581

Профиль | Отправить PM | Цитировать


Цитата Merlin_jr:
Подскажите как средствами Inno Setup »
Пример скрипта
Код: Выделить весь код
[Setup]
AppName=My Program
AppVerName=My Program v 1.5
DefaultDirName={pf}\My Program
OutputDir=.
Compression=lzma/ultra
InternalCompressLevel=ultra
SolidCompression=yes

[Languages]
Name: rus; MessagesFile: compiler:Languages\Russian.isl

[Code]
function GetFileVersion(const FileName: string): string;
// выводит версию файла в виде строки
var
  Version: string;
begin
  Result:= 'не определена.';
  if GetVersionNumbersString(FileName, Version) then
  Result:= Version;
end;

function SelectFileName: string;
// получим имя выбранного пользователем файла
var
  FileName: string;
begin
  FileName:= '';
  GetOpenFileName('Выберите файл для обработки...',
                  FileName,
                  ExtractFilePath(ExpandConstant('srcexe')),
                  'Текстовый документ (*.txt)|*.txt|Все файлы|*.*',
                  'txt');
  Result:= FileName;
end;

function ReadFileName(const FileName, SearchString: string): string;
// получим искомую строку
var
  S: TArrayOfString;
  i: Integer;
begin
  Result:= '';
  if not FileExists(FileName) then Exit; // если файла нет, выходим
  LoadStringsFromFile(FileName, S); // загружаем файл
  for i:= 0 to GetArrayLength(S)-1 do // пробежимся по строкам
    if Pos(SearchString, S[i]) > 0 then
      begin
        Result:= S[i];
        Exit;
      end;
end;

function InitializeSetup(): Boolean;
var
  Search, FileName: string;
begin
  // получение версии файла
  FileName:= ExpandConstant('{pf}\Inno Setup 5\Examples\MyProg.exe');
  MsgBox('Версия ' + ExtractFileName(FileName) + ' - ' + GetFileVersion(FileName), mbInformation, MB_OK);

  // обработка текстового файла
  Search:= ReadFileName(SelectFileName, 'карандаш');
  if Search <> '' then
    MsgBox(Search, mbInformation, MB_OK);
end;

Пример текстового файла
Код: Выделить весь код
fast батут
begin go easter черный
mother happy транквилизатор сигнализация green суспензия diablo rocet
карандаш пистолет автомат
kaspersky fusion черенок
столб application

-------
Книги нужны, чтобы напоминать человеку, что его оригинальные мысли не так уж новы... Авраам Линкольн.

Это сообщение посчитали полезным следующие участники:

Отправлено: 12:10, 15-02-2010 | #1285