Войти

Показать полную графическую версию : Скрипты Inno Setup. Помощь и советы [часть 4]


Страниц : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 [98] 99 100 101 102 103 104 105

bugmenotagain
14-05-2012, 19:58
чекбокс как сделать который в программе русский язык выставит? (WinDjView)

Gnom_aka_Lexander
14-05-2012, 20:00
bugmenotagain, создаешь TNewCheckBox и булевую функцию, которая даст ответ в зависимости от состояния чекбокса. а проще - создай компонент или задачу - в InnoIDE - как два пальца - нужно совсем уж ленивым быть, чтоб не справиться.

bugmenotagain
14-05-2012, 20:32
по теме
как убрать #define MyAppVersion?
http://i38.fastpic.ru/thumb/2012/0514/7a/bdd0c7e0a4f3ceedda5638f4875d697a.jpeg (http://fastpic.ru/view/38/2012/0514/bdd0c7e0a4f3ceedda5638f4875d697a.png.html)
чтоб не было слова "версия"

Gnom_aka_Lexander
14-05-2012, 20:35
как убрать #define MyAppVersion? »
скрипт покажи. а то болею я , а когда болею - с телепатией сложности.
И да, про IsTool - начиная с версии Inno 5.3.9, вроде, она уже частично не соответствует сабжу, так сказать. Есть более актуальные IDE - InnoIDE от Graham Murt и Inno Script Studio от Kymoto Solutions. с русиками там тоже нет нужды помогать - Kymoto пошел навстречу и внедрил русик в дистрибутив, а Graham Murt прекратил работу над InnoIDE, что печально, конечно, но русик к последней версии так-же нет нужды по десять раз выкладывать

bugmenotagain
14-05-2012, 20:39
как убрать тире в загаловке

http://i38.fastpic.ru/thumb/2012/0514/72/1307d190d1aab75510ccfed78b89d072.jpeg (http://fastpic.ru/view/38/2012/0514/1307d190d1aab75510ccfed78b89d072.png.html)

Gnom_aka_Lexander
14-05-2012, 20:46
как убрать тире в загаловке »
отредактировать файлы сообщений.

bugmenotagain
14-05-2012, 20:48
отредактировать »
да Я бы сам догадался что надо их редактировать, где их искать, не подскажите?

Gnom_aka_Lexander
14-05-2012, 20:50
очень логично - заглядываешь в папку с инно и видишь там очень логично названную папку Languages, в ней файлы с расширением *.lng - это и есть подключаемые файлы сообщений. очень удобно редактировать их с помощью самой Inno Setup или Notepad++

bugmenotagain
14-05-2012, 20:58
http://i38.fastpic.ru/thumb/2012/0514/a2/7a6d4d99217e1f659203d00f8ab9afa2.jpeg (http://fastpic.ru/view/38/2012/0514/7a6d4d99217e1f659203d00f8ab9afa2.png.html)
как тут в названии папки убрать цифры версии? а в описании их оставить?


http://i38.fastpic.ru/thumb/2012/0514/ea/1c4b11f703e59e51d31150e907c188ea.jpeg (http://fastpic.ru/view/38/2012/0514/1c4b11f703e59e51d31150e907c188ea.png.html)

Gnom_aka_Lexander
14-05-2012, 21:02
bugmenotagain, убрать эти цифры из названия программы.

bugmenotagain
14-05-2012, 21:05
логично названную папку Languages, в ней файлы с расширением *.lng »
isl там. и будьте добры, скажите где там тире находится?

R.i.m.s.k.y.
14-05-2012, 21:07
bugmenotagain
очень логично - заглядываешь в папку с инно и видишь там очень логично названную папку Languages, в ней файлы с расширением *.lng - это и есть подключаемые файлы сообщений. очень удобно редактировать их с помощью самой Inno Setup или Notepad++ »

Это очень нехороший совет
Первая часть правильная, в файле russian.lng ищем нужный текст и подсматриваем имя переменной, а потом в инно в секции [Messages] переопределяем ее
[Messages]
BeveledLabel= SVP-Team.com (C) 2008-2012
russian.WelcomeLabel2=Программа установит [name/ver] на Ваш компьютер.%n%nРекомендуется закрыть все прочие приложения и антивирусы перед тем, как продолжить.%n%nНа версиях операционных систем, отличающихся от оригинальных образов Microsoft, работоспособность SmoothVideo Project не гарантируется.
english.WelcomeLabel2=This will install [name/ver] on your computer.%n%nPlease close all other applications and stop antivirus software before continue.

bugmenotagain
14-05-2012, 21:11
убрать эти цифры из названия программы. »
Логично. Но

вот так получается у меня

http://i36.fastpic.ru/big/2012/0514/dc/2b4a9383750d8bebcf1a126d63d416dc.png

http://i36.fastpic.ru/big/2012/0514/36/a96b38e622f5333f0019467e5e207736.png

а мне надо вот так

http://i36.fastpic.ru/big/2012/0514/97/dc168ad335a8ec3991350dc2b819dd97.png

http://i36.fastpic.ru/big/2012/0514/86/16305076df48c40dae1855a226b39c86.png


Первая часть правильная, в файле russian.lng ищем нужный текст и подсматриваем имя переменной, а потом в инно в секции [Messages] переопределяем ее »
lng не появляется. в чем проблема?

Sotonisto
14-05-2012, 21:20
Всем доброго времени суток! Использую скрипт c определением свободного/необходимого места на диске:
procedure GetFreeSpaceCaption(Sender: TObject);
var
Path: String;
begin
Path := ExtractFileDrive(WizardForm.DirEdit.Text);
GetSpaceOnDisk(Path, True, FreeMB, TotalMB);

if FreeMB > 1024 then
FreeSpaceLabel.Caption:= ExpandConstant('{cm:FreeSpace} ')+ FloatToStr(round(FreeMB/1024*100)/100) + ' Гб' else
FreeSpaceLabel.Caption:= ExpandConstant('{cm:FreeSpace} ')+ IntToStr(FreeMB)+ ' Мб';

if FreeMB < NeedSize then
WizardForm.NextButton.Enabled:= False else
WizardForm.NextButton.Enabled:= True; end;

procedure GetNeedSpaceCaptionFlashing(h: Longword; msg: Longword; idevent: Longword; dwTime: Longword);
begin
if FreeSpaceLabel.Font.Color=$FFFFFF then FreeSpaceLabel.Font.Color:=$0000FF else FreeSpaceLabel.Font.Color:=$FFFFFF;
end;

procedure GetNeedSpaceCaption;
begin
if NeedSize > 1024 then
NeedSpaceLabel.Caption:= ExpandConstant('{cm:NeedSpace} ') + FloatToStr(round(NeedSize/1024*100)/100) + ' Гб' else
NeedSpaceLabel.Caption:= ExpandConstant('{cm:NeedSpace} ') + IntToStr(NeedSize) + ' Мб';

if (FreeMB<NeedSize) then
SetTimer(WizardForm.Handle,WFDiskTimerID,1000,WrapTimerProc(@GetNeedSpaceCaptionFlashing,4));
end;

procedure CurPageChanged3(CurPageID: Integer);
begin
if CurPageID=wpSelectDir then begin
GetNeedSpaceCaption;

if FreeMB < NeedSize then
WizardForm.NextButton.Enabled:=False
end;
end;
Все работает, но не знаю что делать с этим:
http://s019.radikal.ru/i635/1205/59/747d48f1ae98.gif
Как убрать нули?

R.i.m.s.k.y.
14-05-2012, 21:20
bugmenotagain,
1. lng не появляется или нету? Учись правильно подставлять в предложения слова в соответствии со значением, принятым в данной местности
2. тебе нужен russian.ISL, ну а дальше как написано выше, ищешь свой текст и переопределяешь его в секции [Messages]

Sotonisto,
еще бы кусок кода который рисует эти нули и необходимое место, так непонятно (мне по крайней мере)

bugmenotagain
14-05-2012, 21:22
R.i.m.s.k.y., мне править где? в ing или isl ?

R.i.m.s.k.y.
14-05-2012, 21:23
bugmenotagain, перечитай еще раз что я написал
смотришь в isl и пишешь в Messages
Конкретно твой случай
[Messages]
SelectDirLabel3=...
SelectDirBrowseLabel=...

bugmenotagain
14-05-2012, 21:26
R.i.m.s.k.y., спасибо. там банально просто. тире не заметил сразу.
а что с версиями? выше картинки привел

Код:
[Messages]
SelectDirLabel3=...
SelectDirBrowseLabel=... »
ну вообще то там проще

[Messages]
; *** Application titles
SetupAppTitle=Установка
SetupWindowTitle=Установка %1
UninstallAppTitle=Деинсталляция
UninstallAppFullTitle=Деинсталляция %1

перед %1 тире было. Я удалил и теперь без тире заголовок.

R.i.m.s.k.y.
14-05-2012, 21:34
ну вообще то там проще »
если у тебя несколько инсталлеров ты под каждый проект будешь каждый раз править russian.isl?
Или еще хужей, исправишь файл, забудешь и эти исправления пойдут в следующий проект

bugmenotagain
14-05-2012, 21:45
russian.isl »
он же один




© OSzone.net 2001-2012