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

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

Аватара для Johny777

Ветеран


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

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


saurn, Осваивай массивы (статичные и динамичные) и работу с ними, мелкий пример:

читать дальше »
Код: Выделить весь код

[Setup]
AppName=My Application
AppVersion=1.5
DefaultDirName={pf}\My Application

[code  ]
var
    CheckArray: array of TCheckBox; // array [0..16] of TCheckBox;
    

function IndexOfCheckBox(const UCaption: String): Integer;
var
    i: Integer;
begin
    Result := -1;
    for i := GetArrayLength(CheckArray)-1 downto 0 do if CheckArray[i].Caption = UCaption then
    begin
        Result := i;
        Break;
    end;
end;
    

function CaptionOfCheckBox(const UIndex: Integer): String;
var
    i: Integer;
begin
    for i := 0 to GetArrayLength(CheckArray)-1 do if i = UIndex then Result := CheckArray[i].Caption;
end;

function IsChecked(const UIndex: Integer): Boolean;
var
    i: Integer;
begin
    if UIndex > GetArrayLength(CheckArray)-1 then Exit;
    Result := CheckArray[UIndex].Checked;
end;


procedure InitializeWizard();
var
    i: Integer;
begin
    WizardForm.OuterNotebook.Hide;
    
    SetArrayLength(CheckArray, 16);
    
    CheckArray[0] := TCheckBox.Create(WizardForm)
    with CheckArray[0] do
    begin
        Parent := WizardForm;
        Left := ScaleX(7);
        Top := ScaleY(7);
        Caption := IntToStr(0);
    end;
    for i := 1 to GetArrayLength(CheckArray)-1 do
    begin
        CheckArray[i] := TCheckBox.Create(WizardForm)
        with CheckArray[i] do
        begin
            Parent := WizardForm;
            Left := ScaleX(7);
            Top := ScaleY(CheckArray[i-1].Top + 16);
            
            if i mod 2 = 0 then Checked := True;
            
            Caption := IntToStr(i);
        end;
    end;
    
    ///
    if IsChecked(10) then MsgBox('Checked', mbInformation, MB_OK);
    MsgBox(CaptionOfCheckBox(5), mbInformation, MB_OK);
    MsgBox(IntToStr( IndexOfCheckBox('7') ), mbInformation, MB_OK);
end;
Это сообщение посчитали полезным следующие участники:

Отправлено: 18:21, 16-05-2013 | #458