Genri
Advanced Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору maxdddca123 -- попробуй следующее: Код: [Files] Source: Files\*; DestDir: {code:CurrentDir|0}; Check: NeedCopy(0) Source: Files\*; DestDir: {code:CurrentDir|1}; Check: NeedCopy(1) Source: Files\*; DestDir: {code:CurrentDir|2}; Check: NeedCopy(2) Source: Files\*; DestDir: {code:CurrentDir|3}; Check: NeedCopy(3) Source: Files\*; DestDir: {code:CurrentDir|4}; Check: NeedCopy(4) Source: Files\*; DestDir: {code:CurrentDir|5}; Check: NeedCopy(5) [Code] var Names: TArrayOfString; Value: TArrayOfString; Page: TInputOptionWizardPage; function NeedCopy(Param: integer): Boolean; begin if (Param < Page.CheckListBox.Items.Count) and Page.CheckListBox.Checked[Param] then begin Result:= True; end; end; function CurrentDir(Param: string): string; begin if Page.CheckListBox.Checked[StrToInt(Param)] then Result:= Page.CheckListBox.ItemCaption[StrToInt(Param)] else Result:= ''; end; procedure InitializeWizard(); var I: Integer; S: String; begin Page := CreateInputOptionPage(wpWelcome, 'Выберите компоненты', 'Какие компоненты хотите установить?', 'Выберите необходимые компоненты и нажмите далее.', False, True); if RegGetValueNames(HKEY_CURRENT_USER, 'Software\1C\1Cv7\7.7\Titles', Names) then begin SetArrayLength(Value,GetArrayLength(Names)); for I := 0 to GetArrayLength(Names)-1 do begin RegQueryStringValue(HKEY_CURRENT_USER, 'Software\1C\1Cv7\7.7\Titles', Names[I], Value[I]); Page.CheckListBox.AddCheckBox(Names[I], Value[I], 0, True, True, False, False, nil); end; end else begin MsgBox('Ошибка!', mbInformation, MB_OK); end; end; | Я исхожу из расчета, что путей для установки не может быть более 6. Если надо больше, в секции [Files] добавляем необходимое кол-во строк. Добавлено: Chanka Цитата: -- я тоже не программист. | Всего записей: 872 | Зарегистр. 06-09-2003 | Отправлено: 13:40 27-12-2006 | Исправлено: Genri, 14:45 27-12-2006 |
|