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

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

Автор: Unc1e
Дата сообщения: 28.08.2007 15:45
iTASmania_Inc

Цитата:
Возможно заедает и в других случаях

Вот у меня это происходит совершенно спонтанно. Еще вопросик: Зачем в приведенной ниже процедуре писать PauseImage.Left := -32, ведь она в данном случае не отображается? Аналогично и для других процедур MouseMove.

procedure PlayMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
begin
PlayImage.Left := -192
PauseImage.Left := -32
StopImage.Left := -64
end;
Автор: iTASmania_Inc
Дата сообщения: 28.08.2007 15:55
Unc1e
Да, ты прав, надо вот так:

procedure PlayMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
begin
// PauseImage.Left := -32 - не надо!
PlayImage.Left := -192 // Изменяем текстуру кнопки Play при наведении
StopImage.Left := -64 // Возвращаем тестуру кнопки Stop (если она была изменена
// и был сразу совершён переход на Play/Pause)
end;
Извини, я забыл, что кнопки Play и Pause слили в одну.

НО ПИСАТЬ ПОЛНОСТЬЮ:
procedure StopMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
begin
StopImage.Left := -256
PlayImage.Left := 0
PauseImage.Left := -32
end;
Так как мы не знаем, с какой кнопкой будет Stop (Play или Pause)

Добавлено:
Хотя, в принципе, можно и оставить, от этого не убудет.
Автор: Unc1e
Дата сообщения: 28.08.2007 16:04
iTASmania_Inc

Цитата:
НО ПИСАТЬ ПОЛНОСТЬЮ:

Это ты верно подметил, я не догадался. Как считаешь заменить посленюю (9) часть текстуры, где самый маленький Stop, или оставить как есть?
Автор: iTASmania_Inc
Дата сообщения: 28.08.2007 16:05
Unc1e
Конечно заменить, если не в лом.
Кстати, там цвет фона инсталла и цвет фона текстур немного не совпадают.
Автор: Vetal83
Дата сообщения: 28.08.2007 16:16
Для того чтоб цвет фона совпадал с цветом инсталла при любом оформлении винды нужно к каждому компоненту дописать следующее:

PlayImage.ReplaceColor:=$e3dfe0
PlayImage.ReplaceWithColor:=clBtnFace

PauseImage.ReplaceColor:=$e3dfe0
PauseImage.ReplaceWithColor:=clBtnFace

StopImage.ReplaceColor:=$e3dfe0
StopImage.ReplaceWithColor:=clBtnFace
Автор: Unc1e
Дата сообщения: 28.08.2007 16:54
Vetal83
А каким тогда должен быть цвет фона текстуры?

Все. Разобрался. Вот ссылка на подправленный скрипт и текстуру http://www.rapidshare.ru/384634
Автор: Vetal83
Дата сообщения: 28.08.2007 17:05
Unc1e
В данной текстуре он такой $e3dfe0

Автор: garbals
Дата сообщения: 28.08.2007 18:18
есть небольшой вопрос

вот ставлю программу путь по умолчанию один прописан был в конфиге
а ставится по старому месту
Автор: iTASmania_Inc
Дата сообщения: 28.08.2007 18:31
garbals
Если я правильно понял:
[Setup]
UsePreviousAppDir=no
Автор: Chanka
Дата сообщения: 28.08.2007 18:42
iTASmania_Inc
Я тебе письмо послал. Посмотри пожлуйста
Автор: iTASmania_Inc
Дата сообщения: 28.08.2007 18:55
Chanka

Цитата:
Я тебе письмо послал. Посмотри пожлуйста

Аналогичное предложение.
Автор: Chanka
Дата сообщения: 28.08.2007 19:05
Спасибо опять выручил
Но еще вот такой вопросик
Если выше надписи GSC Game World провести мышкой то она остаётся зелёного цвета. А должна быть синего. Это можно сделать?
Автор: iTASmania_Inc
Дата сообщения: 28.08.2007 19:13
Chanka
Объясню подробно!
Vetal83 сделал ссылку, меняющую цвет, используя TLabel, имеющий размеры аналогичные WizardForm. Поскольку Tlabel прозрачна, но ты её не видишь, а как только грызун попадает на неё со ссылки (GSC Game World) - то получаем смену зелёного цвета на исходный синий. Одно лишь но: эта ссылка расположена очень уж близко к замечательному OuterNoteBook, который блокирует прозрачную Tlabel (точнее область выше нижнего Bevelа) и не даёт ссылке поменять цвет. Вот так вот...
Приемлемого способа я не знаю, за исключением Hide. Хайдим всё - и вновь пересоздаём, в результате "исчезает" OuterNoteBook, но приходится заново настраивать расположение компонентов на странице.
Знатоки Inno, если я не прав, то поправьте.
Автор: Chanka
Дата сообщения: 28.08.2007 19:22
iTASmania_Inc
Да капец. iTASmania_Inc если всё это не очень долго и сложно может сделаешь свой вариант. Пожалуйста
Автор: Chuvakstepan
Дата сообщения: 28.08.2007 19:27

Цитата:
Все. Разобрался. Вот ссылка на подправленный скрипт и текстуру http://www.rapidshare.ru/384634

Подскажите какие параметры влияют на расположение этих кнопок?

Добавлено:
Разобрался сам. Вопрос отклонён
Автор: garbals
Дата сообщения: 28.08.2007 19:39
спос
Цитата:
garbals
Если я правильно понял:
[Setup]
UsePreviousAppDir=no

да точно спосибо
Автор: Forslay
Дата сообщения: 28.08.2007 19:40
как в инсталляцию добавить цифровую подпись? =)
Автор: Vetal83
Дата сообщения: 28.08.2007 19:52
iTASmania_Inc
Chanka

Цитата:
Если выше надписи GSC Game World провести мышкой то она остаётся зелёного цвета. А должна быть синего. Это можно сделать?


Я незнаю как эту проблему решить, разве что [more=таким][Setup]
AppName=My Program
AppVerName=My Program 1.5
DefaultDirName={pf}\My Program

[Messages]
BeveledLabel=GSC Game World

[Code]
var
MouseLabel2,MouseLabel3,MouseLabel4,SiteLabel2: TLabel;

procedure SiteLabelOnClick2(Sender: TObject);
var
ErrorCode: Integer;
begin
ShellExec('open', 'http://forum.ru-board.com/', '', '', SW_SHOWNORMAL, ewNoWait, ErrorCode)
end;

procedure SiteLabelMouseDown2(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
SiteLabel2.Font.Color:=clRed
end;

procedure SiteLabelMouseUp2(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
SiteLabel2.Font.Color:=clBlue
end;

procedure SiteLabelMouseMove3(Sender: TObject; Shift: TShiftState; X, Y: Integer);
begin
SiteLabel2.Font.Color:=clGreen
end;

procedure SiteLabelMouseMove4(Sender: TObject; Shift: TShiftState; X, Y: Integer);
begin
SiteLabel2.Font.Color:=clBlue
end;

procedure InitializeWizard();
begin
MouseLabel2:=TLabel.Create(WizardForm)
MouseLabel2.Width:=WizardForm.Width
MouseLabel2.Height:=WizardForm.Height
MouseLabel2.Autosize:=False
MouseLabel2.Transparent:=True
MouseLabel2.OnMouseMove:=@SiteLabelMouseMove4
MouseLabel2.Parent:=WizardForm

MouseLabel3:=TLabel.Create(WizardForm)
MouseLabel3.Width:=WizardForm.Width
MouseLabel3.Height:=WizardForm.Height
MouseLabel3.Autosize:=False
MouseLabel3.Transparent:=True
MouseLabel3.OnMouseMove:=@SiteLabelMouseMove4
MouseLabel3.Parent:=WizardForm.InnerPage

MouseLabel4:=TLabel.Create(WizardForm)
MouseLabel4.Width:=WizardForm.Width
MouseLabel4.Height:=WizardForm.Height
MouseLabel4.Autosize:=False
MouseLabel4.Transparent:=True
MouseLabel4.OnMouseMove:=@SiteLabelMouseMove4
MouseLabel4.Parent:=WizardForm.SelectDirPage

SiteLabel2:=TLabel.Create(WizardForm)
SiteLabel2.Left:=3
SiteLabel2.Top:=0
SiteLabel2.Cursor:=crHand
SiteLabel2.Font.Color:=clBlue
SiteLabel2.Caption:=WizardForm.BeveledLabel.Caption
SiteLabel2.OnClick:=@SiteLabelOnClick2
SiteLabel2.OnMouseDown:=@SiteLabelMouseDown2
SiteLabel2.OnMouseUp:=@SiteLabelMouseUp2
SiteLabel2.OnMouseMove:=@SiteLabelMouseMove3
SiteLabel2.Parent:=WizardForm.BeveledLabel

WizardForm.BeveledLabel.Enabled:=True
end;[/more] способом, где нужно создавать TLabel на каждой странице кроме Welcome и Finish.
Смотрите MouseLabel4
Автор: iTASmania_Inc
Дата сообщения: 28.08.2007 19:58
Vetal83
Прекрасное решение! По крайней мере, лучше моего HideAll!
Автор: Chanka
Дата сообщения: 28.08.2007 19:59
Vetal83
Спасибо. работает
Автор: iTASmania_Inc
Дата сообщения: 29.08.2007 11:50
http://www.rapidshare.ru/385472
Переделал скрипт с музыкальными кнопками, теперь "заедать" не должно!
Автор: Kindly
Дата сообщения: 29.08.2007 15:03
Genri, не мог бы ты написать примерчик генерации серийника для Inno:
1. Алго - хотя бы самое простенькое
2. При нажатии Generate серийник бы вводился каждый раз разный из базы данных
Автор: iTASmania_Inc
Дата сообщения: 29.08.2007 15:16
Kindly
А будет ли выпуск Setup Scripting v5.2
Автор: Kindly
Дата сообщения: 29.08.2007 15:23
iTASmania_Inc

Цитата:
А будет ли выпуск Setup Scripting v5.2
Ну а чего уж выпускать? Вы сами попополняете базу данных желаемых примеров и включаете их в руководство. Лучше бы чтобы каждый выложил свою базу по шаблону руководства, а затем кто-то повырезал одинковые примеры, подкорректировал там - и обновляли бы базу скриптов отдельно.
Автор: Chanka
Дата сообщения: 29.08.2007 16:00
Кто-нибудь помогите, пожалуйста. Как в этом коде сделать, чтобы если появляется сообщение что размер файла не совпадает, то при нажатии кнопки Ok инсталлятор должен закрываться все действия откатываться.

[code]

function NextButtonClick(CurPage: Integer): Boolean;
var
sz:Integer;
s:string;
begin
Result:=True;
If CurPage=6 then
begin
If FileSize(ExpandConstant('{app}')+'\Bin\XR_3DA.exe', sz)
then
begin
If sz<>270336
then
begin
s:='Размер установленого компонента Main.exe не соответствует.' #13#13 'Для установки обновления требуются оригинальные файлы.'; MsgBox(s, mbCriticalError, mb_Ok);
Result:= False
WizardForm.Close;
Exit;
end;
end;
end;
end;
Автор: iTASmania_Inc
Дата сообщения: 29.08.2007 16:15
Chanka
[more=Попробуй так!]
[Code]
function NextButtonClick(CurPage: Integer): Boolean;
var
SZ: Integer;
S: String;
begin
Result := True
if CurPage = 6 then
begin
if FileSize(ExpandConstant('{app}\Bin\XR_3DA.exe'), SZ) then
begin
if SZ<>270336 then
begin
S := 'Размер установленого компонента XR_3DA.exe не соответствует.' #13#13
'Для установки обновления требуются оригинальные файлы.'
MsgBox(S, mbCriticalError, mb_Ok)
WizardForm.Close
Result := False
Exit
end
end
end
end;

procedure CancelButtonClick(CurPage: Integer; var Cancel, Confirm: Boolean);
begin
if CurPage = 6 then
begin
Cancel := True
Confirm := False
end
end;
[/more]
Автор: Chanka
Дата сообщения: 29.08.2007 16:21
iTASmania_Inc
Ты как всегда на высоте Спасибо!
Автор: iTASmania_Inc
Дата сообщения: 29.08.2007 18:06
2ALL

Цитата:
Лучше бы чтобы каждый выложил свою базу по шаблону руководства

У кого что интересное может есть?
Автор: Ohotnic
Дата сообщения: 29.08.2007 18:12
Ребята, а в Inno Setup можно сделать описание компонентов как в NSIS?
Автор: iTASmania_Inc
Дата сообщения: 29.08.2007 18:18
Ohotnic

Цитата:
Ребята, а в Inno Setup можно сделать описание компонентов как в NSIS?

http://www.rapidshare.ru/386001

Страницы: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768

Предыдущая тема: Mail.ru агент - вход не выполнен


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