Показать полную графическую версию : Скрипты Inno Setup. Помощь и советы [часть 3]
No4noylis
12-07-2011, 22:02
Я вообще не пойму!!!!!!!!!!!!!!!!!!!!!!! Делаю инсталлятор, делаю отображение необходимого и доступного места на винте, так вот: скрипт компилируеться все хорошо, запускаеться инсталлятор, перехожу на SelectDir, там отображаеться только доступное место на винте, я нажимаю кнопочку назад, перехожу на Welcome, потом снова далее и перехожу на SelectDir и теперь отображаеться все как положено и доступное и необходимое место на винте :o !!!! Кто знает в чем дело???
No4noylis, а если свернуть-развернуть страничку selectdir тоже всё возвращается?
No4noylis
12-07-2011, 22:11
Rikill, Да! Ну так можно что-то сделать???
Edison007
12-07-2011, 22:58
No4noylis
Скрипт в "студию", экстрасенсы в отпуске...
Неужели нету (http://forum.oszone.net/post-1711596-2318.html) никаких решений?
Gnom_aka_Lexander
13-07-2011, 11:18
leshcat, Поставь рид-онли на ричэдит, и тогда текст нельзя будет редактировать.
{ RichEditViewer1 }
RichEditViewer1 := TRichEditViewer.Create(WizardForm);
with RichEditViewer1 do
begin
Name := 'RichEditViewer1';
Parent := ISCustomPage1.Surface;
Left := ScaleX(0);
Top := ScaleY(0);
Width := ScaleX(417);
Height := ScaleY(233);
ReadOnly := True;
RTFText :=S;
end;
2. Есть ли расширенная версия, где можно подключать что-нибудь посовершеннее, типа doc с 2003 офиса/ docx 2007? »
И как ты себе это представляеш? эти форматы работают под платным программным монстром Микрософт Офис, Инно - продукт бесплатный, а рич-текст - используется, я так понимаю, функции встроенные в систему.
No4noylis, Скрипт покажи, чего хоть непонятного?
No4noylis
13-07-2011, 11:38
Лександер, Он у меня слишком большой, больше 30 000 символов и не отправляеться!!!! Может можно просто добавить в процедуру CurPageChanged какую нибудь команду, чтоб если CurPageID=wpSelectDir то страница обновлялась???
Gnom_aka_Lexander
13-07-2011, 11:41
Может можно просто добавить в процедуру CurPageChanged какую нибудь команду, чтоб если CurPageID=wpSelectDir то страница обновлялась??? »
Именно это и нужно сделать. но я не знаю, как называется у тебя процедура, которая пересчитывает свободное место на диске, поэтому и нужен скрипт.Он у меня слишком большой »Дык, залей на обменник :)
No4noylis
13-07-2011, 11:49
Лександер, держи http://rghost.ru/14381671
Gnom_aka_Lexander
13-07-2011, 12:23
Лександер, держи http://rghost.ru/14381671 »
В твоем случае я бессилен. Нет, я нашел, конечно, что нужно добавить, но у тебя две процедуры GetNeedSpaceCaption, которые нельзя объединять. и они тупо конфликтуют между собой. А вообще, кто тебя учил ТАК писать скртпы? Очень похоже на ранние работы уважаемого товарища Rikill. Вообще непонятно, как можно настолько испоганить такой хороший скрипт?
Edison007
13-07-2011, 12:32
No4noylis
Что за издевательство!?
Вообще все запущено :(
Можно сделать так:
вместо процедур: GetFreeSpaceCaption и GetNeedSpaceCaption
Пишем одну такую:
procedure GetFreeSpaceCaption(Sender: TObject); /////Вычисление свободного места на диске
var
Path: String;
begin
Path := ExtractFileDrive(WizardForm.DirEdit.Text);
GetSpaceOnDisk(Path, True, FreeMB, TotalMB);
if FreeMB > 1024 then
FreeSpaceLabel.Caption := 'Доступно места на диске: '+ FloatToStr(round(FreeMB/1024*100)/100) + ' GB' else
FreeSpaceLabel.Caption := 'Доступно места на диске: '+ IntToStr(FreeMB)+ ' MB';
if NeedSize > 1024 then
NeedSpaceLabel.Caption := 'Требуется места на диске: '+ FloatToStr(round(NeedSize/1024*100)/100) + ' GB' else
NeedSpaceLabel.Caption := 'Требуется места на диске: '+ IntToStr(NeedSize)+ ' MB';
if FreeMB < NeedSize then
WizardForm.NextButton.Enabled := False else
WizardForm.NextButton.Enabled := True; end;
а в CurPageChanged пишем так:
procedure CurPageChanged(CurPageID: Integer);
begin
if CurPageID=wpSelectProgramGroup then
begin
If WizardForm.FindComponent('NextButton') is TButton
then
TButton(WizardForm.FindComponent('NextButton')).Caption:='Установить';
end;
begin
if CurPageID=wpSelectDir then
begin
GetFreeSpaceCaption(nil); //если Свободное место на диске < требуемого, то кнопка "Установить" на PageSelectDir неактивна
if FreeMB < NeedSize then
WizardForm.NextButton.Enabled:=False
end;
end;
end;
согласен, что издевательство но переписывать кучу скрипта я не хочу...
ILIA_1992
13-07-2011, 13:24
у меня в скрипте проблемка маленькая.
Снимаю галочки
не создавать ярлык,не устанавливать доп ПО а установщик всёравно в конце устанавливает ПО и ярлык создаёт.
ПОмогите исправить
Savage-i
13-07-2011, 13:51
del
ILIA_1992, скрипт дай, телепатов нет
ILIA_1992
13-07-2011, 14:28
Rikill, http://rghost.ru/14395401 у меня вообще нет task в скрипте
можешь убрать вот это http://ipic.su/img/img3/fs/11.1310554589.jpg
ILIA_1992, сделал привязку ПО, потом привязку ошибки распаковки т.е. если произошла ошибка при распаковке не устанавливается по, также если х64 устанавливается vcredist_x64 если нет то vcredist_x86 ну и убрал кнопку.
Скачать (http://rghost.ru/14403931)
ILIA_1992
13-07-2011, 16:40
Rikill, спасиб
No4noylis
13-07-2011, 18:00
Edison007, Лександер, Спасибо огоромное за помощь! Я извеняюсь, но не могли бы вы указать что именно в моем скрипте такого ужасного???
А вообще, кто тебя учил ТАК писать скртпы? »
Никто не учил, все чему научился и что понял, взято с это форума!!!
ILIA_1992
13-07-2011, 18:43
Rikill, незнаешь через какую прогу можно найти файлы реестра игр например властелин колец
Я пользуюсь regedit (Стандартная прога )но она не всегда полезна,тоесть ненаходит некоторые файлы реестра.Так и с властелином ниодного файла не нашло.
Хоть и игра запускается но ролики без звука работают
Gnom_aka_Lexander
13-07-2011, 19:55
Я извеняюсь, но не могли бы вы указать что именно в моем скрипте такого ужасного? »эээ... дык, салат у тебя там. А во второх, все это можно сделать раз в пять короче. Пиши в личку, попробую объяснить, как писать скрипты так, чтоб не наворачивать столько всего ненужного. Кстати, я давно уже обратил внимание, на каждой странице инсталлятора находится обычно не больше 5-ти лейбелов, это значит, что можно задействовать одни и теже лейбелы, а на страницах менять их расположение и текст. Это экономит не меньше пары тысяч строчек.ILIA_1992, тут флудить запрещено, если что-то нужно пишем в лс »
То есть тебе не запрещено? 1 (http://forum.oszone.net/post-1712654-2345.html), 2 (http://forum.oszone.net/post-1712588-2341.html), 3 (http://forum.oszone.net/post-1712430-2334.html), 4 (http://forum.oszone.net/post-1712489-2337.html) - только то, что рядом, дальше лень просто лезть. За это тебя и забанили на руборде. Чего ты понять никак не хочеш.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.