Einzelnen Beitrag anzeigen

Benutzerbild von CReber
CReber

Registriert seit: 26. Nov 2003
Ort: Berlin
343 Beiträge
 
Delphi 2006 Professional
 
#1

Inno Setup RadioButtons abfragen?

  Alt 9. Feb 2005, 22:54
Ich bin jetzt soweit gekommen, das ich mittels dem Inno Setup Form Designer, eine eigene Gui erstellt habe (Lediglich eine einzelne Page!)

Aber wie zum Teufel kann ich nur bestimmte Dateien, bei einem bestimmten RadioButton installieren Ich schnall irgendwie die Logik nicht, obwohl das sogar schon Delphi ist

[code=delphi]
; Script generated by the Inno Setup Script Wizard.
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!

[Setup]
AppName=My Program
AppVerName=My Program 1.5
AppPublisher=My Company, Inc.
AppPublisherURL=http://www.mycompany.com
AppSupportURL=http://www.mycompany.com
AppUpdatesURL=http://www.mycompany.com
DefaultDirName={pf}\My Program
DefaultGroupName=My Program
OutputBaseFilename=ISSTest
OutputDir=.

[_ISTool]
EnableISX=true

[Files]
Source: "MYPROG.EXE"; DestDir: "{app}"

Code:
var
  lblInstallArt: TLabel;
  Client: TRadioButton;
  Server: TRadioButton;

{ ScriptDlgPages }

function ScriptDlgPages(CurPage: Integer; BackClicked: Boolean): Boolean;
var
  Next, NextOK: Boolean;
  CurSubPage: Integer;
begin
  { place subpages between 'Welcome'- and 'SelectDir' page }
  if (not BackClicked and (CurPage = wpWelcome)) or (BackClicked and (CurPage = wpSelectDir)) then
  begin
    { find startpage }
    if not BackClicked then
      CurSubPage := 0
    else
      CurSubPage := 1;

    { iterate through all subpages }
    while (CurSubPage >= 0) and (CurSubPage <= 1) and not Terminated do
    begin
      ScriptDlgPageOpen();
      ScriptDlgPageClearCustom();

      { insert subpage }
      case CurSubPage of
        0: // custompage 1
          begin
            ScriptDlgPageSetCaption('Bitte wählen Sie eine Installationsart');
            ScriptDlgPageSetSubCaption1('Wo wird die Software installiert?');
            ScriptDlgPageSetSubCaption2('');

            { lblInstallArt }
            lblInstallArt := TLabel.Create(WizardForm.ScriptDlgPanel);
            with lblInstallArt do
            begin
              Parent := WizardForm.ScriptDlgPanel;
              Left := 40;
              Top := 48;
              Width := 178;
              Height := 13;
              Caption := 'Bitte wählen Sie eine Installationsart:';
            end;

            { Client }
            Client := TRadioButton.Create(WizardForm.ScriptDlgPanel);
            with Client do
            begin
              Parent := WizardForm.ScriptDlgPanel;
              Left := 112;
              Top := 96;
              Width := 49;
              Height := 17;
              Caption := 'Client';
              Checked := True;
              TabOrder := 0;
              TabStop := True;
            end;

            { Server }
            Server := TRadioButton.Create(WizardForm.ScriptDlgPanel);
            with Server do
            begin
              Parent := WizardForm.ScriptDlgPanel;
              Left := 112;
              Top := 120;
              Width := 57;
              Height := 17;
              Caption := 'Server';
              TabOrder := 1;
            end;


            Next := ScriptDlgPageProcessCustom(nil);
            NextOK := True;
          end;

        1: // custompage n
          begin
            { include other forms here }
          end;
      end;

      { check sub-page navigation }
      if Next then
      begin
        if NextOK then
          CurSubPage := CurSubPage + 1;
      end
      else
        CurSubPage := CurSubPage - 1;
    end;

    { check main-page navigation }
    if not BackClicked then
      Result := Next
    else
      Result := not Next;
    ScriptDlgPageClose(not Result);
  end

  { return default }
  else
    Result := True;
end;

{ NextButtonClick }

function NextButtonClick(CurPage: Integer): Boolean;
begin
  Result := ScriptDlgPages(CurPage, False);
end;

{ BackButtonClick }

function BackButtonClick(CurPage: Integer): Boolean;
begin
  Result := ScriptDlgPages(CurPage, True);
end;
Christian Reber
  Mit Zitat antworten Zitat