Имя пользователя:
Пароль:
 

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

Ветеран


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

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


Цитата svs23:
добавить 4 пункт в BackUpPage »
Если еще актуально:
Скрытый текст
Код: Выделить весь код
[Setup]
AppName=MyApp
AppVerName=MyApp
DefaultDirname={pf}\MyApp


[CustomMessages]
MSG_01=Резервные копии
MSG_02=
MSG_03=Во избежание проблем совместимости и конфликтов между модификациями рекомендуется удалить уже установленные на данный момент в игровом клиенте.%n%nВыберите необходимый пункт из представленных. При этом будет очищено содержимое папки "res_mods\0.9.4, удалена папка "res_mods\xvm" или созданы резервные копии Ваших файлов.
MSG_04=Удалить файлы
MSG_05=Сделать резервную копию файлов
MSG_06=Обновить существующие файлы
MSG_07=Ничего не трогать
MSG_08=Установщик удалит все файлы в папках.
MSG_09=Установщик сделает резервную копию всех файлов в папках.
MSG_10=Установщик создаст копию только заменяемых файлов.
MSG_11=Установщик оставит всё как есть.


[code]
var
    BackupOptionsPage: TWizardPage;
    ArrayRadio: array of TRadioButton;


function CreateBackupOptionsPage( const nPageId: Integer ): TWizardPage;
var
    i: Integer;
    Len: Integer;
begin
    BackupOptionsPage := CreateCustomPage( nPageId, CustomMessage( 'MSG_01' ), CustomMessage( 'MSG_02' ) );

    with BackupOptionsPage do
    begin
        with TNewStaticText.Create( nil ) do
        begin
            Parent := Surface;
            SetBounds( ScaleX( 0 ), ScaleY( 0 ), ScaleX( 417 ), ScaleY( 98 ) );
            AutoSize := False;
            Caption := CustomMessage( 'MSG_03' );
            Transparent := True;
            WordWrap := True;
        end;

        SetArrayLength( ArrayRadio, 4 );
        Len := GetArrayLength( ArrayRadio ) - 1;

        for i := 0 to Len do
        begin
            ArrayRadio[i] := TRadioButton.Create( nil );
            with ArrayRadio[i] do
            begin
                Parent := Surface;
                SetBounds( ScaleX( 0 ), ScaleY( 102 + i * 32 ), ScaleX( 417 ), ScaleY( 17 ) );
                Font.Style := [fsBold];

                case i of
                    0: Caption := CustomMessage( 'MSG_04' );
                    1:
                    begin
                        Caption := CustomMessage( 'MSG_05' );
                        Checked := True;
                    end;
                    2: Caption := CustomMessage( 'MSG_06' );
                    Len: Caption := CustomMessage( 'MSG_07' );
                end;
            end;
        end;

        for i := 0 to 3 do
        with TNewStaticText.Create( nil ) do
        begin
            Parent := Surface;
            SetBounds( ScaleX( 17 ), ScaleY( 118 + i * 32 ), ScaleX( 417 ), ScaleY( 17 ) );

            case i of
                0: Caption := CustomMessage( 'MSG_08' );
                1: Caption := CustomMessage( 'MSG_09' );
                2: Caption := CustomMessage( 'MSG_10' );
                3: Caption := CustomMessage( 'MSG_11' );
            end;
        end;
    end;

    Result := BackupOptionsPage.ID;
end;


procedure InitializeWizard();
begin
    CreateBackupOptionsPage( wpSelectDir );
end;


//Проверить, отмечена ли нужная радио кнопка // для теста
function NextButtonClick( CurPageID: Integer ): Boolean;
begin
    case PageFromID( CurPageID ) of
        BackupOptionsPage: if ArrayRadio[1].Checked then //По индексу от 0 до 4
                             MsgBox( ArrayRadio[1].Caption, mbInformation, MB_OK );
    end;

    Result := True;
end;

К функциям, думаю, привяжете сами.
Это сообщение посчитали полезным следующие участники:

Отправлено: 16:52, 08-12-2014 | #2090