Ветеран
Сообщения: 1133
Благодарности: 581
|
Профиль
|
Отправить PM
| Цитировать
Пример поиска по маске
Код: 
[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]
var
// задаём переменную глобально, для всего скрипта
Mask: string;
procedure RunMyProg(FileNeme: string);
begin
// здесь что нибудь делаем с найденым файлом
MsgBox(FileNeme, mbInformation, MB_OK );
end;
function FindFile(Path: string): Boolean;
var
FSR, DSR: TFindRec;
FindResult: Boolean;
begin
Result:= False;
if Path[Length(Path)] <> '\' then Path:= Path + '\';
FindResult:= FindFirst(Path + Mask, FSR);
try
while FindResult do
begin
if FSR.Attributes and FILE_ATTRIBUTE_DIRECTORY = 0 then
begin
RunMyProg(Path + FSR.Name);
Result:= True;
Exit;
end;
FindResult:= FindNext(FSR);
end;
FindResult:= FindFirst(Path + '*.*', DSR);
while FindResult do
begin
if ((DSR.Attributes and FILE_ATTRIBUTE_DIRECTORY) = FILE_ATTRIBUTE_DIRECTORY) and
not ((DSR.Name = '.') or (DSR.Name = '..')) then
FindFile(Path + DSR.Name);
FindResult:= FindNext(DSR);
end;
finally
FindClose(FSR);
FindClose(DSR);
end;
end;
function InitializeSetup(): Boolean;
var
i: Integer;
ArrayOfMask: TArrayOfString;
StartFolder: string;
begin
StartFolder:= ExpandConstant('{pf}\Inno Setup 5'); // задаём папку откуда начинать поиск
ArrayOfMask:= ['*n*.txt', 'R*.txt', '*m*.txt']; // заполняем массив масок для поиска
for i:= 0 to GetArrayLength(ArrayOfMask)-1 do // перебираем весь масив масок
begin
Mask:= ArrayOfMask[i];
if FindFile(StartFolder) then Break;
end;
end;
Цитата vint56:
не подскажеш как на второй процесбар наложить текстуру »
|
честно говоря не знаю.
Цитата Vengeance:
чтобы g3 компонент если выбрать, он заменял определённые файлы g1 »
|
Поподробней раскажите.
Цитата Vengeance:
но он говорит что-то про директорию и выдаёт ошибку. »
|
Покажите пример как делаете.
Цитата Vengeance:
Мне сказали, что вроде надо батник как-то писать? »
|
Зачем, всё можно сделать в секции [Сode]
|
-------
Книги нужны, чтобы напоминать человеку, что его оригинальные мысли не так уж новы... Авраам Линкольн.
Отправлено: 11:04, 20-02-2010
| #1312
|