Ветеран
Сообщения: 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;
|