Ru-Board.club
← Вернуться в раздел «Программы»

» Inno Setup (создание инсталяционных пакетов)

Автор: darkqft
Дата сообщения: 19.01.2013 08:09
Можно ли как-то данные с tedit(например серийный ключ) добавить в реестр через секцию [code]?
Автор: marineharrison
Дата сообщения: 19.01.2013 12:20
Доброго времени суток. Возможно вопрос уже обсуждался...
Мне нужно вставить фоновое изображение JPG на задний фон инсталлятора. Таким образом, чтоб он растягивался на весь экран, однако чтоб подгонялся под экран. то есть если фон 4:3, а монитор 16:9, то чтоб в стороны не растягивался фон, а был 4:3, а по бокам были черные полосы. Ну и другие варианты. Мне нужен не скрипт слайдшоу, а именно одно изображение, которое будет показываться весь процесс установки. Заранее спасибо.
Автор: Mailchik
Дата сообщения: 19.01.2013 22:55
darkqft
[more]
Код: [Setup]
AppName=My Application
AppVersion=1.5
DefaultDirName={pf}\My Application

[code]
var
TestEdit: TEdit;
TestButton: TButton;

procedure TestClick(Sender: TObject);
begin
RegWriteStringValue(HKLM, 'Software\MyApp', 'TestString', TestEdit.Text);
end;

procedure InitializeWizard();
begin
with WizardForm do begin
TestEdit := TEdit.Create(WizardForm);
with TestEdit do begin
Parent := WelcomePage;
AutoSelect := False;
Text := 'Что я должен занести в реестр?';
SetBounds(WizardBitmapImage.Width + ScaleX(5), Bevel.Top - ScaleY(30), ScaleX(250), Height);
end;
TestButton := TButton.Create(WizardForm);
with TestButton do begin
Parent := WelcomePage;
Caption := 'В реестр';
OnClick := @TestClick;
SetBounds(TestEdit.Left + TestEdit.Width + ScaleX(5), TestEdit.Top - ScaleY(2), ScaleX(70), ScaleY(23));
end;
end;
end;
Автор: darkqft
Дата сообщения: 20.01.2013 07:28
Mailchik
благодарю
Автор: ultimo
Дата сообщения: 20.01.2013 18:56
Здравствуйте. Можете кинуть пример скрипта, в котором реализована функция остановки распаковки архивов нажатием соответствующей кнопки? Спасибо
Автор: LordSP
Дата сообщения: 21.01.2013 11:17
Ребят, кто знает, как занести Данные в реестр через секцию [Code] на этапе InitializeSetup?
Автор: Mailchik
Дата сообщения: 21.01.2013 15:09
ultimo, если вы про ISDone, то есть функция SuspendProc, которая приостанавливает процесс распаковки.. Обратная ей функция ResumeProc.
LordSP, 2 поста выше.
Автор: LordSP
Дата сообщения: 21.01.2013 15:44
MailchikХорошо, спасибо, а как занести в реестр Двоичные значения, подскажи?


Добавлено:
Mailchik При чем у меня Двоичное значение такое огромное, что даже не стоит его тут писать.
Автор: Mailchik
Дата сообщения: 21.01.2013 16:03
LordSP, RegWriteBinaryValue.
Автор: LordSP
Дата сообщения: 22.01.2013 04:04
Mailchik А само значение как записывать?
Автор: Gourmet
Дата сообщения: 22.01.2013 14:25
фух... наконец-то добрался до последней части обсуждения... очевидно, искать ответ в предыдущих нет никакой возможности, ибо их несуразно много

вопрос: как в скрипте корректно назначить программу для просмотра PDF документов, то есть, установить ассоциацию PDF? нам это необходимо сделать, у нас свой софт, документацию с которым надо смотреть своим ридером, это требование заказчика

пытались выполнять консольные команды assoc и ftype, но не получается, и вообще они в консоли не работают, как описано в документации M$ - ранее на машину был установлен Foxit Reader, и чтобы мы не делали, при открытии PDF вызывается он, и даже assoc .pdf= не помогает - затирается только связь в одной ветке реестра, но остаются классы, созданные Foxit

и такая же беда с Adobe PDF - не можем никак установить свою программу, вместо него

может есть другой известный способ гарантированно задать ассоциации своей программе в скрипте InnoSetup, вместо установленных ранее?

способ прописать грубо руками в HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.pdf свою программу мне известен - но хотелось более правильно, чтобы не лазить по реестру
Автор: BUU
Дата сообщения: 22.01.2013 14:47
Всем привет, мне нужно реализовать функцию резервного копирования перед установкой новых файлов и папок, и чтоб при удалении восстанавливал те же папки и файлы

Пробовал такой код

MoveDir(ExpandConstant('{app}\Backup\'), ExpandConstant('{app}'));
RemoveDir(ExpandConstant('{app}\Backup\'));

примерно, пишет неизвестный индефикатор, заранее спс

http://rghost.ru/43228489
Автор: Gourmet
Дата сообщения: 22.01.2013 16:20
вроде нашел какой-то вариант установки ассоциаций в FAQ самого InnoSetup, но нет уверенности, что он будет работать, похоже на то, что мы делали, только другими средствами
Автор: LordSP
Дата сообщения: 23.01.2013 07:10
BUU Держи, Тыц
Автор: BUU
Дата сообщения: 23.01.2013 08:58
LordSP
Что то код не работает, установил где файлы были одинаковые, только размер отличался, нету резерва
Автор: Gourmet
Дата сообщения: 23.01.2013 09:48
не получается по FAQ - сетап прописывает все ссылки, как описано, но PDF открывается всё равно Adobe Reader

как в скрипте убрать назначение Adobe на открытие PDF? иначе придется писать, чтобы удаляли Adobe Reader с компьютера


Добавлено:
работает после прописывания своей программы ещё в две ветки реестра

Root: HKCU; Subkey: "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.pdf"; ValueType: string; ValueName: "ProgId"; ValueData: """myPDF.exe"" ""%1"""

Root: HKCU; Subkey: "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.pdf\OpenWithProgids"; ValueType: binary; ValueName: "{app}\myPDF.exe"; ValueData: ""

но это, блин, HKCU, значит для другого пользователя работать не будет
Автор: LordSP
Дата сообщения: 23.01.2013 12:08
BUU

Клац
Автор: Robby
Дата сообщения: 23.01.2013 12:25
Gourmet
http://www.jrsoftware.org/isfaq.php#assoc Создание ассоциаций файлов
ChangesAssociations=Yes в секции [Setup]. Когда установлено в yes, инсталлятор сообщит Проводнику обновить свою информацию об ассоциациях файла в конце установки. Деинсталлятор сделает то же самое в конце удаления.

Я делал так:

[more=смотреть]; Скрипт "Infix PDF Editor"


#define MyAppName "Infix PDF Editor"
#define MyAppVersion "5.22"
#define MyAppURL "http://www.iceni.com/"
#define MyAppExeName "Infix.exe"

[Setup]
AppId={{962D1E88-FEF1-48B8-B880-2DC8DCD889B6}
AppName={#MyAppName}
AppVersion={#MyAppVersion}
;AppVerName={#MyAppName} {#MyAppVersion}
AppPublisherURL={#MyAppURL}
AppSupportURL={#MyAppURL}
AppUpdatesURL={#MyAppURL}
DefaultDirName={pf}\Iceni\Infix5
DefaultGroupName=Infix PDF Editor 5
ChangesAssociations=yes
;LicenseFile=embedded\License.rtf
WizardImageFile=embedded\WizardImage.bmp
WizardSmallImageFile=embedded\WizardSmallImage.bmp
OutputBaseFilename=InfixSetupRUS_{#MyAppVersion}
SetupIconFile={app}\pdf.ico
Compression=lzma
SolidCompression=yes
ShowLanguageDialog=auto

[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
Name: "quicklaunchicon"; Description: "{cm:CreateQuickLaunchIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked; OnlyBelowVersion: 0,6.1
Name: "fileassoc"; Description: "{cm:AssocFileExtension,Infix PDF Editor,.pdf}"; GroupDescription: "{cm:AdditionalSet}"; Flags: unchecked
Name: "autoupdates"; Description: "Periodically check for software updates"; GroupDescription: "{cm:AdditionalSet}"; Flags: unchecked; Languages: english
Name: "autoupdates"; Description: "Переодически проверять обновления программы"; GroupDescription: "{cm:AdditionalSet}"; Flags: unchecked; Languages: russian
Name: "infixpdfprinter"; Description: "Install Infix PDF Printer"; GroupDescription: "{cm:AdditionalSet}"; Languages: english
Name: "infixpdfprinter"; Description: "Установить Infix PDF Printer"; GroupDescription: "{cm:AdditionalSet}"; Languages: russian
Name: "helpfile"; Description: "{cm:UserManual}"; GroupDescription: "{cm:AdditionalSet}";

[Dirs]
Name: "{localappdata}\Aspell\personal"; Flags: uninsneveruninstall

[Files]
Source: "{app}\Infix.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "{app}\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
; {localappdata} и {userappdata}
Source: "{localappdata}\Aspell\personal\en.prepl"; DestDir: "{localappdata}\Aspell\personal"
Source: "{localappdata}\Aspell\personal\en.pws"; DestDir: "{localappdata}\Aspell\personal"
Source: "{localappdata}\Iceni\Infix\5\Infix.cfg"; DestDir: "{localappdata}\Iceni\Infix\5"; Flags: ignoreversion
Source: "{userappdata}\Iceni\Infix\5\Infix.cfg"; DestDir: "{userappdata}\Iceni\Infix\5"; Flags: ignoreversion
; Infix PDF Printer
Source: "{tmp}\infixPDFPrinter.exe"; DestDir: "{tmp}"; Flags: deleteafterinstall ignoreversion; Tasks: infixpdfprinter
; Программные компоненты
Source: "{commonappdata}\Iceni\Infix\5\Infix.cfg"; DestDir: "{commonappdata}\Iceni\Infix\5"; Flags: ignoreversion
Source: "{commonappdata}\Iceni\Infix\5\pis"; DestDir: "{commonappdata}\Iceni\Infix\5"
Source: "{commonappdata}\Iceni\Infix\5\pff"; DestDir: "{commonappdata}\Iceni\Infix\5"
Source: "{commonappdata}\Iceni\Infix\5\pip"; DestDir: "{commonappdata}\Iceni\Infix\5"
Source: "{commonappdata}\Iceni\Infix\5\product.xml"; DestDir: "{commonappdata}\Iceni\Infix\5"
Source: "{commonappdata}\Iceni\Infix\5\ukhyphen.tex"; DestDir: "{commonappdata}\Iceni\Infix\5"
Source: "{commonappdata}\Iceni\Infix\5\ushyphen.tex"; DestDir: "{commonappdata}\Iceni\Infix\5"
Source: "{commonappdata}\Aspell\*"; DestDir: "{commonappdata}\Aspell"; Flags: recursesubdirs createallsubdirs
; Лицензия
Source: "{commonappdata}\Iceni\Infix\5\Infix.dat"; DestDir: "{commonappdata}\Iceni\Infix\5"; Flags: skipifsourcedoesntexist ignoreversion uninsremovereadonly
Source: "{commonappdata}\Iceni\Infix\5\cocop.dat"; DestDir: "{commonappdata}\Iceni\Infix\5"; Flags: skipifsourcedoesntexist ignoreversion uninsremovereadonly
; Полная справка
Source: "{commonappdata}\Iceni\Infix\5\manual.pdf"; DestDir: "{commonappdata}\Iceni\Infix\5"; Flags: ignoreversion skipifsourcedoesntexist uninsremovereadonly; Tasks: helpfile

[Icons]
Name: "{commondesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon
Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: quicklaunchicon
Name: "{group}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"
Name: "{group}\On-line Support"; Filename: "http://www.iceni.com/support.htm"; Languages: english
Name: "{group}\On-line Поддержка"; Filename: "http://www.iceni.com/ru/support.htm"; Languages: russian
Name: "{commonprograms}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}";
Name: "{group}\{cm:UninstallProgram,{#MyAppName}}"; Filename: "{uninstallexe}"


[Languages]
Name: "english"; MessagesFile: "compiler:Languages\English.isl"
Name: "russian"; MessagesFile: "compiler:Languages\Russian.isl"

[CustomMessages]
english.AdditionalSet=Additional Setting:
english.UserManual=Install User Manual
russian.AdditionalSet=Дополнительные настройки:
russian.UserManual=Установить руководство пользователя (английское)

[Registry]
Root: "HKCR"; Subkey: ".pdf"; ValueType: String; ValueData: "Infix.Document"; Flags: uninsdeletevalue; Tasks: fileassoc; BeforeInstall: BackupData('pdf')
Root: "HKLM"; Subkey: "Software\Classes\AcroExch.Document.7\shell\EditWithInfix"; ValueType: String; ValueData: "Edit with &Infix PDF Editor"; Flags: uninsdeletekey; Languages: english
Root: "HKLM"; Subkey: "Software\Classes\AcroExch.Document.7\shell\EditWithInfix"; ValueType: String; ValueData: "Изменить в &Infix PDF Editor"; Flags: uninsdeletekey; Languages: russian
Root: "HKLM"; Subkey: "Software\Classes\AcroExch.Document.7\shell\EditWithInfix\command"; ValueType: String; ValueData: """{app}\Infix.exe"" ""%1"""; Flags: uninsdeletekey
Root: "HKCR"; Subkey: "Infix.Document"; ValueType: String; ValueData: "Infix PDF Editor Document"; Flags: uninsdeletekey
Root: "HKCR"; Subkey: "Infix.Document\DefaultIcon"; ValueType: String; ValueData: "{app}\pdf.ico"; Flags: uninsdeletekey
Root: "HKCR"; Subkey: "Infix.Document\shell\edit"; ValueType: String; ValueData: "Edit with &Infix PDF Editor"; Flags: uninsdeletekey; Languages: english
Root: "HKCR"; Subkey: "Infix.Document\shell\edit"; ValueType: String; ValueData: "Изменить в &Infix PDF Editor"; Flags: uninsdeletekey; Languages: russian
Root: "HKCR"; Subkey: "Infix.Document\shell\edit\command"; ValueType: String; ValueData: """{app}\Infix.exe"" ""%1"""; Flags: uninsdeletekey
Root: "HKLM"; Subkey: "SOFTWARE\Infix PDF"; ValueType: string; ValueName: "AppFileName"; ValueData: "{app}\Infix.exe"; Flags: uninsdeletevalue
Root: "HKLM"; Subkey: "SOFTWARE\Infix PDF"; ValueType: string; ValueName: "DefaultPrinter"; ValueData: "2"; Flags: uninsdeletekey
Root: "HKLM"; Subkey: "SOFTWARE\Iceni Technology Limited\Infix"; ValueType: string; ValueName: "CheckForUpdates"; ValueData: "true"; Flags: uninsdeletevalue; Tasks: autoUpdates
Root: "HKLM"; Subkey: "SOFTWARE\ActMask Virtual Printer SDK\iceni.com"; ValueType: String; ValueName: "InstWndTitle"; ValueData: "Infix PDF Printer"; Flags: uninsdeletevalue; Languages: russian; Tasks: infixpdfprinter
Root: "HKLM"; Subkey: "SOFTWARE\ActMask Virtual Printer SDK\iceni.com"; ValueType: String; ValueName: "InstWndCaptionInst"; ValueData: "Дождитесь завершения установки драйвера PDF-принтера"; Flags: uninsdeletekey; Languages: russian; Tasks: infixpdfprinter
Root: "HKLM"; Subkey: "SOFTWARE\ActMask Virtual Printer SDK\iceni.com"; ValueType: String; ValueName: "InstWndCaptionUnInst"; ValueData: "Удаление Infix PDF Printer"; Flags: uninsdeletekey; Languages: russian; Tasks: infixpdfprinter
Root: "HKLM"; Subkey: "SOFTWARE\ActMask Virtual Printer SDK\iceni.com"; ValueType: String; ValueName: "InstWndTitle"; ValueData: "Infix PDF Printer"; Flags: uninsdeletekey; Languages: english; Tasks: infixpdfprinter
Root: "HKLM"; Subkey: "SOFTWARE\ActMask Virtual Printer SDK\iceni.com"; ValueType: String; ValueName: "InstWndCaptionInst"; ValueData: "Please wait while the PDF printer driver is installed"; Flags: uninsdeletekey; Languages: english; Tasks: infixpdfprinter
Root: "HKLM"; Subkey: "SOFTWARE\ActMask Virtual Printer SDK\iceni.com"; ValueType: String; ValueName: "InstWndCaptionUnInst"; ValueData: "Uninstalling Infix PDF printer"; Flags: uninsdeletekey; Languages: english; Tasks: infixpdfprinter
Root: "HKLM"; Subkey: "SOFTWARE\ActMask Virtual Printer SDK"; ValueType: String; ValueName: "DisableInstallDrvMsg"; ValueData: "1"; Flags: uninsdeletekey; Tasks: infixpdfprinter
Root: "HKLM"; Subkey: "SOFTWARE\ActMask Virtual Printer SDK\iceni.com"; ValueType: String; ValueName: "PlaySound"; ValueData: "0"; Flags: uninsdeletekey; Tasks: infixpdfprinter

[Run]
Filename: "{tmp}\infixPDFPrinter.exe"; Parameters: "/VERYSILENT /PASSWORD=guy@iceni.com"; WorkingDir: "{app}"; Description: "Infix PDF Printer"; StatusMsg: "Installing Infix PDF Printer"; Tasks: InfixPDFPrinter; Languages: english
Filename: "{tmp}\infixPDFPrinter.exe"; Parameters: "/VERYSILENT /PASSWORD=guy@iceni.com"; WorkingDir: "{app}"; Description: "Infix PDF Printer"; StatusMsg: "Установка Infix PDF Printer"; Tasks: InfixPDFPrinter; Languages: russian
Filename: "{app}\{#MyAppExeName}"; Parameters: "{app}\welcome.pdf"; WorkingDir: "{app}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; StatusMsg: "Opening welcome document"; Flags: nowait postinstall skipifsilent

[UninstallRun]
Filename: "{win}\Infix PDF\unins000.exe"; Parameters: "/VERYSILENT"; WorkingDir: "{win}\Infix PDF"; Flags: skipifdoesntexist; StatusMsg: "Uninstalling Infix PDF Printer"; Languages: english
Filename: "{win}\Infix PDF\unins000.exe"; Parameters: "/VERYSILENT"; WorkingDir: "{win}\Infix PDF"; Flags: skipifdoesntexist; StatusMsg: "Удаление Infix PDF Printer"; Languages: russian

[Code ]

const
WM_CLOSE = 16;

function ProcessRunning(): Boolean;
var winHwnd: longint;
retVal : boolean;
strProg: string;
begin
Result := true;
try
strProg := 'Infix Pro';
winHwnd := FindWindowByWindowName(strProg);
Log('winHwnd: ' + inttostr(winHwnd));
if winHwnd <> 0 then
retVal:=postmessage(winHwnd,WM_CLOSE,0,0);
if retVal then
Result := True
except
end;
end;


function InitializeSetup : Boolean;
begin
Result := ProcessRunning();
end;

function InitializeUninstall: Boolean;
begin
Result := ProcessRunning();
end;

function GetUninstallString(): String;
var
sUnInstPath: String;
sUnInstallString: String;
begin
sUnInstPath := ExpandConstant('Software\Microsoft\Windows\CurrentVersion\Uninstall\{#emit SetupSetting("AppId")}_is1');
sUnInstallString := '';
if not RegQueryStringValue(HKLM, sUnInstPath, 'UninstallString', sUnInstallString) then
RegQueryStringValue(HKCU, sUnInstPath, 'UninstallString', sUnInstallString);
Result := sUnInstallString;
end;

function IsUpgrade(): Boolean;
begin
Result := (GetUninstallString() <> '');
end;

function UnInstallOldVersion(): Integer;
var
sUnInstallString: String;
iResultCode: Integer;
begin
// Return Values:
// 1 - uninstall string is empty
// 2 - error executing the UnInstallString
// 3 - successfully executed the UnInstallString

// default return value
Result := 0;

// get the uninstall string of the old app
sUnInstallString := GetUninstallString();
if sUnInstallString <> '' then begin
sUnInstallString := RemoveQuotes(sUnInstallString);
if Exec(sUnInstallString, '/SILENT /NORESTART /SUPPRESSMSGBOXES','', SW_HIDE, ewWaitUntilTerminated, iResultCode) then
Result := 3
else
Result := 2;
end else
Result := 1;
end;

procedure CurStepChanged(CurStep: TSetupStep);
begin
if (CurStep=ssInstall) then
begin
if (IsUpgrade()) then
begin
UnInstallOldVersion();
end;
end;
end;


procedure BackupData(FileExt: String);
var
OldValueData: string;
begin
if RegKeyExists(HKCR, '.' + FileExt) then
begin
RegQueryStringValue(HKCR, '.' + FileExt, '', OldValueData);
RegWriteStringValue(HKCR, '.' + FileExt + '(backup)', '', OldValueData);
end;
end;

procedure RestoreData(FileExt: String);
var
OldValueData: string;
begin
if RegKeyExists(HKCR, '.' + FileExt + '(backup)') then
begin
RegQueryStringValue(HKCR, '.' + FileExt + '(backup)', '', OldValueData);
RegWriteStringValue(HKCR, '.' + FileExt, '', OldValueData);
RegDeleteKeyIncludingSubkeys(HKCR, '.' + FileExt + '(backup)');
end;
end;

procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);
begin
if CurUninstallStep = usPostUninstall then
begin
RestoreData('pdf');
end;
end;[/more]Пример репака для Infix PDF Editor с сохранением и восстановлением ассоциаций
Автор: BUU
Дата сообщения: 23.01.2013 13:08
Не помогает, компилирует, но при установке резерв не делает
Автор: Gourmet
Дата сообщения: 23.01.2013 14:29
Robby

вот то, что понаписано в фирменном FAQ, и не работает, если на машине установлен Adobe Reader - работает, только если вписать назначения в дополнительные ключи, но они в HKCU
Автор: BUU
Дата сообщения: 23.01.2013 15:20
Всё разобрался с резервом
Автор: marineharrison
Дата сообщения: 25.01.2013 17:45
А мне кто поможет с моим вопросом...
Автор: LordSP
Дата сообщения: 27.01.2013 06:07
marineharrison

Код:
procedure InitializeWizard();
begin
WizardForm.WizardBitmapImage.Width := ScaleX
WizardForm.WizardBitmapImage.Width := ScaleY
WizardForm.WelcomeLabel1.Hide;
WizardForm.WelcomeLabel2.Hide;
end;
Автор: marineharrison
Дата сообщения: 27.01.2013 14:58
LordSP
Я имел ввиду фон за инсталлятлором...Это точно сработает. Какую библиотеку использовать, чтоб фоновый рисунок был в JPG...
Автор: Tapas77789
Дата сообщения: 27.01.2013 20:42
marineharrison

botva2.dll
Автор: LordSP
Дата сообщения: 29.01.2013 12:35
The answer is found.
Автор: HEXEP
Дата сообщения: 30.01.2013 15:30
пользуюсь скриптом ISFreeArcExtract v.4.1

подскажите, пожалуйста, как поставить распаковку на паузу?

пробывал SuspendUpdate := True, но это, я так понял, просто приостановка обновления информации, т.к. все останавливается, а потом появляется страница об окончании установки
Автор: Dark_Delphin
Дата сообщения: 30.01.2013 18:56
Всем привет.

Подскажите, пожалуйста, каку брать WizardSmallImage.bmp , что-бы только стандартный цвет инсталлятора и текст отсался.
Автор: ultimo
Дата сообщения: 30.01.2013 19:47
Dark_Delphin

Код:
procedure InitializeWizard();
begin
WizardForm.WizardSmallBitmapImage.Visible:=false;
end;
Автор: Dark_Delphin
Дата сообщения: 30.01.2013 19:56
ultimo
Это супер! Спасибо большое.

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177

Предыдущая тема: поиск


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.