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

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

Ветеран


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

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


MrLD, ну, что обрадовать вас?
читать дальше »
Код: Выделить весь код
[Setup]
AppName=My Program
AppVerName=My Program v 1.5
DisableProgramGroupPage=yes
CreateUninstallRegKey=no
DisableDirPage=yes
CreateAppDir=no
Uninstallable=no
DisableFinishedPage=yes
DisableReadyPage=yes
OutputBaseFilename=My Program
OutputDir=.

Code]
const
  SIntegrSecurity = 'Integrated Security';
  SPersistSecInfo = 'Persist Security Info';
  SInitialCatalog = 'Initial Catalog';
  SDataSource = 'Data Source';
  SProvider = 'Provider';
  SDelim = ';';
  SEqual = '=';

var
  Form: TForm;
  lbl1, lbl2, lbl3, lbl4, lbl5, lbl6, lbl7: TLabel;
  btn1, btn2, btn3, btn4: TButton;
  edt1, edt2, edt3, edt4, edt5, edt6, edt7: TEdit;
  FIntegrSecurity, FPersistSecInfo, FInitialCatalog,
  FDataSource, FProvider : String;

procedure btn2Click(Sender: TObject);
begin
  Form.Close;
end;

procedure btn1Click(Sender: TObject);
var
  S: String;
begin
  S:= GetIniString('CONNECT', 'ConStr', '', 'c:\a.ini');
  edt6.Text:= S;
end;

procedure CombineStr(var AStr: String; const AProvider,
  AInitialCatalog, ADataSource: String);
begin
  AStr:= Format('%s=%s;%s=%s;%s=%s', [SProvider, AProvider,
         SInitialCatalog, AInitialCatalog, SDataSource, ADataSource]);
end;

procedure ExtractParamAndValue(const Str: String; var Param, Value: String);
var
  I: Integer;
begin
  Param:= '';
  Value:= '';
  I:= Pos(SEqual, Str);
  if (I > 0) and (I < Length(Str)) then
  begin
    Param:= copy(Str, 1, I - 1);
    Value:= copy(Str, I + 1, MAXINT);
  end;
end;

procedure ParseStr(const AStr: String; var AProvider,
     AIntegrSecurity, APersistSecInfo, AInitialCatalog, ADataSource: String);
var
  I: Integer;
  S, S1, S2: String;
begin
  S:= AStr;
  repeat
    I:= Pos(SDelim, S);
    if I > 0 then
    begin
      ExtractParamAndValue(copy(S, 1, I - 1), S1, S2);
      S:= copy(S, I + 1, MAXINT);
    end else
  begin
    ExtractParamAndValue(S, S1, S2);
    S:= '';
  end;

  if S1 = SProvider then FProvider:= S2 else
  if S1 = SIntegrSecurity then AIntegrSecurity:= S2 else
  if S1 = SPersistSecInfo then APersistSecInfo:= S2 else
  if S1 = SInitialCatalog then AInitialCatalog:= S2 else
  if S1 = SDataSource then ADataSource:= S2;

  until I <= 0
end;

procedure btn3Click(Sender: TObject);
begin
  ParseStr(edt6.Text, FProvider, FIntegrSecurity, FPersistSecInfo,
           FInitialCatalog, FDataSource);
  edt1.Text:= FProvider;
  edt2.Text:= FIntegrSecurity;
  edt3.Text:= FPersistSecInfo;
  edt4.Text:= FInitialCatalog;
  edt5.Text:= FDataSource;
end;

procedure btn4Click(Sender: TObject);
var
  S: String;
begin
  CombineStr(S, edt1.Text, edt5.Text, edt4.Text);
  edt7.Text:= S;
end;

procedure CreateComponents;
begin
  Form:= TForm.Create(Application);
  try
    Form.ClientWidth:= 345;
    Form.ClientHeight:= 300;
    Form.Caption:= 'Пример';
    Form.Position:= poScreenCenter;
    Form.Color:= clBtnFace;
    Form.Font.Color:= clWindowText;
    Form.Font.Height:= -11;
    Form.Font.Name:= 'MS Sans Serif';
    Form.Font.Style:= [];
    Form.PixelsPerInch:= 96;

      //lbl1
      lbl1:= TLabel.Create(Form);
      lbl1.Parent:= Form;
      lbl1.Left:= 24;
      lbl1.Top:= 8;
      lbl1.Width:= 86;
      lbl1.Height:= 13;
      lbl1.Caption:= 'Секция [Connect]';

    //lbl2
    lbl2:= TLabel.Create(Form);
    lbl2.Parent:= Form;
    lbl2.Left:= 24;
    lbl2.Top:= 48;
    lbl2.Width:= 39;
    lbl2.Height:= 13;
    lbl2.Caption:= 'Provider';

      //lbl3
      lbl3:= TLabel.Create(Form);
      lbl3.Parent:= Form;
      lbl3.Left:= 24;
      lbl3.Top:= 88;
      lbl3.Width:= 60;
      lbl3.Height:= 13;
      lbl3.Caption:= 'Data Source';

    //lbl4
    lbl4:= TLabel.Create(Form);
    lbl4.Parent:= Form;
    lbl4.Left:= 24;
    lbl4.Top:= 128;
    lbl4.Width:= 63;
    lbl4.Height:= 13;
    lbl4.Caption:= 'Initial Catalog';

      //lbl5
      lbl5:= TLabel.Create(Form);
      lbl5.Parent:= Form;
      lbl5.Left:= 24;
      lbl5.Top:= 168;
      lbl5.Width:= 68;
      lbl5.Height:= 13;
      lbl5.Caption:= 'Integr Security';

    //lbl6
    lbl6:= TLabel.Create(Form);
    lbl6.Parent:= Form;
    lbl6.Left:= 24;
    lbl6.Top:= 208;
    lbl6.Width:= 71;
    lbl6.Height:= 13;
    lbl6.Caption:= 'Persist SecInfo';

      //lbl7
      lbl7:= TLabel.Create(Form);
      lbl7.Parent:= Form;
      lbl7.Left:= 24;
      lbl7.Top:= 248;
      lbl7.Width:= 54;
      lbl7.Height:= 13;
      lbl7.Caption:= 'CombineStr';

    //btn1
    btn1:= TButton.Create(Form);
    btn1.Parent:= Form;
    btn1.Left:= 240;
    btn1.Top:= 64;
    btn1.Width:= 75;
    btn1.Height:= 22;
    btn1.Caption:= 'Читать';
    btn1.TabOrder:= 0;
    btn1.OnClick:= @btn1Click;
    btn1.Cursor:= crHand;
    btn1.ShowHint:=True;
    btn1.Hint:='Читать секцию [Connect] из файла';

      //btn2
      btn2:= TButton.Create(Form);
      btn2.Parent:= Form;
      btn2.Left:= 240;
      btn2.Top:= 176;
      btn2.Width:= 75;
      btn2.Height:= 22;
      btn2.Caption:= 'Закрыть';
      btn2.TabOrder:= 1;
      btn2.OnClick:= @btn2Click;
      btn2.Cursor:= crHand;
      btn2.ShowHint:=True;
      btn2.Hint:='Закрыть и продолжить установку';

    //btn3
    btn3:= TButton.Create(Form);
    btn3.Parent:= Form;
    btn3.Left:= 240;
    btn3.Top:= 96;
    btn3.Width:= 75;
    btn3.Height:= 22;
    btn3.Caption:= 'Разделить';
    btn3.TabOrder:= 2;
    btn3.OnClick:= @btn3Click;
    btn3.Cursor:= crHand;
    btn3.ShowHint:=True;
    btn3.Hint:='Разделить строку на данные';

      //btn4
      btn4:= TButton.Create(Form);
      btn4.Parent:= Form;
      btn4.Left:= 240;
      btn4.Top:= 128;
      btn4.Width:= 75;
      btn4.Height:= 22;
      btn4.Caption:= 'Объединить';
      btn4.TabOrder:= 3;
      btn4.OnClick:= @btn4Click;
      btn4.Cursor:= crHand;
      btn4.ShowHint:=True;
      btn4.Hint:='Объединить изменённые данные';

    //edt1
    edt1:= TEdit.Create(Form);
    edt1.Parent:= Form;
    edt1.Left:= 24;
    edt1.Top:= 64;
    edt1.Width:= 200;
    edt1.Height:= 21;
    edt1.TabOrder:= 4;

      //edt2
      edt2:= TEdit.Create(Form);
      edt2.Parent:= Form;
      edt2.Left:= 24;
      edt2.Top:= 184;
      edt2.Width:= 200;
      edt2.Height:= 21;
      edt2.TabOrder:= 5;

    //edt3
    edt3:= TEdit.Create(Form);
    edt3.Parent:= Form;
    edt3.Left:= 24;
    edt3.Top:= 224;
    edt3.Width:= 200;
    edt3.Height:= 21;
    edt3.TabOrder:= 6;

      //edt4
      edt4:= TEdit.Create(Form);
      edt4.Parent:= Form;
      edt4.Left:= 24;
      edt4.Top:= 144;
      edt4.Width:= 200;
      edt4.Height:= 21;
      edt4.TabOrder:= 7;

    //edt5
    edt5:= TEdit.Create(Form);
    edt5.Parent:= Form;
    edt5.Left:= 24;
    edt5.Top:= 104;
    edt5.Width:= 200;
    edt5.Height:= 21;
    edt5.TabOrder:= 8;

      //edt6
      edt6:= TEdit.Create(Form);
      edt6.Parent:= Form;
      edt6.Left:= 24;
      edt6.Top:= 24;
      edt6.Width:= 289;
      edt6.Height:= 21;
      edt6.TabOrder:= 9;

    //edt7
    edt7:= TEdit.Create(Form);
    edt7.Parent:= Form;
    edt7.Left:= 24;
    edt7.Top:= 264;
    edt7.Width:= 297;
    edt7.Height:= 21;
    edt7.TabOrder:= 10;

    Form.ShowModal;

  finally
    Form.Free;
  end;
end;

procedure InitializeWizard;
begin
  CreateComponents;
end;

-------
Книги нужны, чтобы напоминать человеку, что его оригинальные мысли не так уж новы... Авраам Линкольн.


Отправлено: 21:33, 19-03-2009 | #506