Kotyarko_O Posted August 10, 2014 Share Posted August 10, 2014 Чет не получается,наверное опять с процедурами косяк! Разжуй как с ними бороться? Разжёвывал уже и не раз. Скинь всю свою процедуру InitializeWizard. @ Quote Link to comment Short link Share on other sites More sharing options...
MEDNIKs Posted August 10, 2014 Share Posted August 10, 2014 Скинь всю свою процедуру InitializeWizard. не знаю то ли это? 'Это на кнопке' procedure InitializeWizard();varBtnPanel: TPanel;BtnImage: TBitmapImage;//--------// Кнопки [Начало] //--------//beginbeginExtractTemporaryFile('Лого.bmp')BtnPanel:=TPanel.Create(WizardForm)with BtnPanel do beginLeft:=10Top:=85Width:=78Height:=43Cursor:=crHandOnClick:=@logoOnClickParent:=WizardForm.FinishedPage;endBtnImage:=TBitmapImage.Create(WizardForm)with BtnImage do beginAutoSize:=True;Enabled:=False;Bitmap.LoadFromFile(ExpandConstant('{tmp}')+'\Лого.bmp')Parent:=BtnPanelendend; 'и ещё вот' RedesignWizardForm;//--------// Показ картинок и описания [Начало] //--------//beginWizardForm.SelectComponentsLabel.Hide;WizardForm.TypesCombo.Hide;WizardForm.ComponentsList.SetBounds(ScaleX(18), ScaleY(6), ScaleX(455), ScaleY(370));WizardForm.ComponentsList.Font.Name:='Tahoma'; //ШрифтWizardForm.ComponentsList.Font.Color:= clwhite; //Цвет шрифтаWizardForm.ComponentsList.Font.Size:= 9 //Размер шрифтаWizardForm.ComponentsList.Font.Style := [fsBold]; //Стиль шрифтаWizardForm.ComponentsList.Color:= $ffffffff; //Цвет заливки окно компонентовWizardForm.ComponentsList.OnItemMouseMove:= @ShowCompDescription;WizardForm.ComponentsList.OnMouseLeave := @CompListMouseLeave;// Окно на странице "Итоги"WizardForm.ReadyMemo.Font.Name:='Tahoma'; //ШрифтWizardForm.ReadyMemo.Font.Color:= clwhite; //Цвет шрифтаWizardForm.ReadyMemo.Font.Size:= 10 //Размер шрифтаWizardForm.ReadyMemo.Font.Style := [fsBold]; //Стиль шрифтаWizardForm.ReadyMemo.Color:= $ffffffff; //Цвет заливки окно компонентовCompDescImgPanel := TPanel.Create(WizardForm); //Окно показа изображенийwith CompDescImgPanel dobeginParent := WizardForm.SelectComponentsPage;SetBounds(ScaleX(480), ScaleY(6), ScaleX(400), ScaleY(263));Color:= $ffffffff; //Цвет заливки окно компонентовBevelInner := bvLowered;end;BitmapImage := TBitmapImage.Create(WizardForm);with BitmapImage dobeginParent := CompDescImgPanel;SetBounds(ScaleX(1), ScaleY(1), CompDescImgPanel.Width - ScaleX(3), CompDescImgPanel.Height - ScaleY(3));ExtractTemporaryFile('CompDescImgMods1.bmp');Bitmap.LoadFromFile(ExpandConstant('{tmp}\CompDescImgMods1.bmp'));end;CompDescImg := TBitmapImage.Create(WizardForm);with CompDescImg dobeginParent := CompDescImgPanel;SetBounds(ScaleX(1), ScaleY(1), CompDescImgPanel.Width - ScaleX(3), CompDescImgPanel.Height - ScaleY(3));Stretch := True;Hide;end;CompDescPanel := TPanel.Create(WizardForm); //Окно показа описанияwith CompDescPanel dobeginParent := WizardForm.SelectComponentsPage;SetBounds(ScaleX(480), ScaleY(276), ScaleX(400), ScaleY(100));Font.Name:='Tahoma'; //ШрифтFont.Color:= clwhite; //Цвет шрифтаFont.Size:= 8 //Размер шрифтаFont.Style := [fsBold]; //Стиль шрифтаColor:= $ffffffff; //Цвет заливки окно компонентовBevelInner := bvLowered;end;CompDescText := TLabel.Create(WizardForm);with CompDescText dobeginParent := CompDescPanel;SetBounds(ScaleX(1), ScaleY(1), CompDescPanel.Width - ScaleX(3), CompDescPanel.Height - ScaleY(3));AutoSize := False;WordWrap := True;Enabled := False;Caption := CustomMessage('ComponentsInfo');end;AddCompDescription(0, CustomMessage('CompDescMods'), 'CompDescImgmods1.bmp');AddCompDescription(1, CustomMessage('CompDescMods'), 'CompDescImgmods.bmp');AddCompDescription(2, CustomMessage('CompDescMods1'), 'CompDescImgmods2.bmp');AddCompDescription(4, CustomMessage('CompDescA1'), 'CompDescImgA1.bmp');AddCompDescription(5, CustomMessage('CompDescA2'), 'CompDescImgA2.bmp');AddCompDescription(6, CustomMessage('CompDescA3'), 'CompDescImgA3.bmp');AddCompDescription(7, CustomMessage('CompDescA4'), 'CompDescImgA4.bmp');AddCompDescription(8, CustomMessage('CompDescA5'), 'CompDescImgA5.bmp');AddCompDescription(9, CustomMessage('CompDescA6'), 'CompDescImgA6.bmp');AddCompDescription(10, CustomMessage('CompDescA7'),'CompDescImgA7.bmp');AddCompDescription(11, CustomMessage('CompDescA8'),'CompDescImgA8.bmp');AddCompDescription(12, CustomMessage('CompDescAr1'),'CompDescImgAr1.bmp');AddCompDescription(13, CustomMessage('CompDescAr2'),'CompDescImgAr2.bmp');AddCompDescription(14, CustomMessage('CompDescAr3'),'CompDescImgAr3.bmp');AddCompDescription(26, CustomMessage('CompDescI1'), 'CompDescImgI1.bmp');AddCompDescription(27, CustomMessage('CompDescI2'), 'CompDescImgI2.bmp');AddCompDescription(28, CustomMessage('CompDescI3'), 'CompDescImgI3.bmp');AddCompDescription(30, CustomMessage('CompDescDI1'), 'CompDescImgDI1.bmp');AddCompDescription(31, CustomMessage('CompDescDI2'), 'CompDescImgDI2.bmp');AddCompDescription(32, CustomMessage('CompDescDI3'), 'CompDescImgDI3.bmp');AddCompDescription(34, CustomMessage('CompDescP1'), 'CompDescImgP1.bmp');AddCompDescription(35, CustomMessage('CompDescP2'), 'CompDescImgP2.bmp');AddCompDescription(36, CustomMessage('CompDescP3'), 'CompDescImgP3.bmp');AddCompDescription(38, CustomMessage('CompDescPR1'), 'CompDescImgPR1.bmp');AddCompDescription(39, CustomMessage('CompDescPR2'), 'CompDescImgPR2.bmp');AddCompDescription(40, CustomMessage('CompDescPR3'), 'CompDescImgPR3.bmp');AddCompDescription(41, CustomMessage('CompDescPmod'), 'CompDescImgPmod.bmp');AddCompDescription(42, CustomMessage('CompDescPmod1'), 'CompDescImgPmod1.bmp');AddCompDescription(43, CustomMessage('CompDescPmod2'), 'CompDescImgPmod2.bmp');AddCompDescription(44, CustomMessage('CompDescPmod3'), 'CompDescImgPmod3.bmp');AddCompDescription(45, CustomMessage('CompDescPmod4'), 'CompDescImgPmod4.bmp');AddCompDescription(46, CustomMessage('CompDescPmod5'), 'CompDescImgPmod5.bmp');AddCompDescription(47, CustomMessage('CompDescPmod6'), 'CompDescImgPmod6.bmp');AddCompDescription(48, CustomMessage('CompDescPmod6'), 'CompDescImgPmod6.bmp');AddCompDescription(49, CustomMessage('CompDescPmod7'), 'CompDescImgPmod7.bmp');AddCompDescription(50, CustomMessage('CompDescPmod8'), 'CompDescImgPmod8.bmp');AddCompDescription(51, CustomMessage('CompDescmod1'), 'CompDescImgmod1.bmp');AddCompDescription(52, CustomMessage('CompDescmod2'), 'CompDescImgmod2.bmp');AddCompDescription(53, CustomMessage('CompDescclok'), 'CompDescImgclok.bmp');AddCompDescription(54, CustomMessage('CompDescclok1'), 'CompDescImgclok1.bmp');AddCompDescription(55, CustomMessage('CompDescclok2'), 'CompDescImgclok2.bmp');end;InitializeWizard1();end; @ Quote Link to comment Short link Share on other sites More sharing options...
Kotyarko_O Posted August 10, 2014 Share Posted August 10, 2014 (edited) не знаю то ли это? Вот так: 'код' [Code] var FilesMemo: TNewMemo; procedure AddToMemo(); var AFile: String; begin AFile := ExpandConstant(CurrentFilename); if ExtractFileExt(AFile) = '' then FilesMemo.Lines.Add('CreateFolder: ' + RemoveBackslash(AFile)) else FilesMemo.Lines.Add('Extract: ' + AFile); end; procedure InitializeWizard(); var BtnPanel: TPanel; BtnImage: TBitmapImage; begin begin ExtractTemporaryFile('Лого.bmp') BtnPanel:=TPanel.Create(WizardForm) with BtnPanel do begin Left:=10 Top:=85 Width:=78 Height:=43 Cursor:=crHand OnClick:=@logoOnClick Parent:=WizardForm.FinishedPage; end BtnImage:=TBitmapImage.Create(WizardForm) with BtnImage do begin AutoSize:=True; Enabled:=False; Bitmap.LoadFromFile(ExpandConstant('{tmp}')+'\Лого.bmp') Parent:=BtnPanel end FilesMemo := TNewMemo.Create(WizardForm); FilesMemo.SetBounds(ScaleX(0), ScaleY(80), ScaleX(418), ScaleY(120)); FilesMemo.WordWrap := False; FilesMemo.Parent := WizardForm.InstallingPage; FilesMemo.ScrollBars := ssVertical; FilesMemo.ReadOnly := True; FilesMemo.Clear; end; Edited August 10, 2014 by Kotyarko_O @ Quote Link to comment Short link Share on other sites More sharing options...
MEDNIKs Posted August 10, 2014 Share Posted August 10, 2014 Вот так: 'код' [code] var FilesMemo: TNewMemo; procedure AddToMemo(); var AFile: String; begin AFile := ExpandConstant(CurrentFilename); if ExtractFileExt(AFile) = '' then FilesMemo.Lines.Add('CreateFolder: ' + RemoveBackslash(AFile)) else FilesMemo.Lines.Add('Extract: ' + AFile); end; procedure InitializeWizard(); var BtnPanel: TPanel; BtnImage: TBitmapImage; begin begin ExtractTemporaryFile('Лого.bmp') BtnPanel:=TPanel.Create(WizardForm) with BtnPanel do begin Left:=10 Top:=85 Width:=78 Height:=43 Cursor:=crHand OnClick:=@logoOnClick Parent:=WizardForm.FinishedPage; end BtnImage:=TBitmapImage.Create(WizardForm) with BtnImage do begin AutoSize:=True; Enabled:=False; Bitmap.LoadFromFile(ExpandConstant('{tmp}')+'\Лого.bmp') Parent:=BtnPanel end FilesMemo := TNewMemo.Create(WizardForm); FilesMemo.SetBounds(ScaleX(0), ScaleY(80), ScaleX(418), ScaleY(120)); FilesMemo.WordWrap := False; FilesMemo.Parent := WizardForm.InstallingPage; FilesMemo.ScrollBars := ssVertical; FilesMemo.ReadOnly := True; FilesMemo.Clear; end; вот что получилось @ Quote Link to comment Short link Share on other sites More sharing options...
Kotyarko_O Posted August 10, 2014 Share Posted August 10, 2014 @MEDNIKs, аа, не въехал изначально. Короче, оно тебе не нужно. @ Quote Link to comment Short link Share on other sites More sharing options...
Ekspoint Posted August 10, 2014 Share Posted August 10, 2014 А вот и нашёлся тот, у кого инстальник не собирается худеть :) в каком смысле @ Quote Link to comment Short link Share on other sites More sharing options...
Ekspoint Posted August 11, 2014 Share Posted August 11, 2014 (edited) а как сделать чтобы инстал можно было ставить на win8 а то почему мой не поддерживает Edited August 11, 2014 by Ekspoint @ Quote Link to comment Short link Share on other sites More sharing options...
Kotyarko_O Posted August 11, 2014 Share Posted August 11, 2014 а как сделать чтобы инстал можно было ставить на win8 а то почему мой не поддерживает Когда вы уже сами введёте себе в привычку прикреплять скрины, без просьб других. @ Quote Link to comment Short link Share on other sites More sharing options...
Andrew_Dark Posted August 11, 2014 Share Posted August 11, 2014 вот что получилось Скажу так, то, что тебе нужно, можно сделать в юникод версии инно, но она более требовательная к синтаксису кода, и рукам, поэтому или или переходи, или думай, так как у большинства тут анси версия, на которой я подобного не видел чтобы легко делали, есть фича, но там ухитриться надо, а этим делиться врядли просто так захотят. @ Quote Link to comment Short link Share on other sites More sharing options...
AtotIK Posted August 11, 2014 Share Posted August 11, 2014 Угу, Юникод в этом плане даёт преимущества. Я перешёл, перепилил скрипты и отлично себя чувствую. @ Quote Link to comment Short link Share on other sites More sharing options...
MEDNIKs Posted August 12, 2014 Share Posted August 12, 2014 Скажу так, то, что тебе нужно, можно сделать в юникод версии инно, но она более требовательная к синтаксису кода, и рукам, поэтому или или переходи, или думай, так как у большинства тут анси версия, на которой я подобного не видел чтобы легко делали, есть фича, но там ухитриться надо, а этим делиться врядли просто так захотят. на сколько сложней юникод?Что значит требовательная к синтаксису кода?И если можно выложите кусок кода написаный в разных версиях инно? @ Quote Link to comment Short link Share on other sites More sharing options...
Ekspoint Posted August 12, 2014 Share Posted August 12, 2014 (edited) я не догоняю разница какая между анси и юникодом Edited August 12, 2014 by Ekspoint @ Quote Link to comment Short link Share on other sites More sharing options...
Andrew_Dark Posted August 12, 2014 Share Posted August 12, 2014 на сколько сложней юникод?Что значит требовательная к синтаксису кода?И если можно выложите кусок кода написаный в разных версиях инно? Код на вид не отличается, но в анси версии допустив мелкую ошибку вы не всегда об этом узнаете, так как инсталл возможно даже так заработает, а вот юникод вам этого не простит. @ Quote Link to comment Short link Share on other sites More sharing options...
MEDNIKs Posted August 12, 2014 Share Posted August 12, 2014 (edited) Ну вот к примеру попробывал свой код в юникоде компильнуть выдал ошибку сразу,что здесь не так? Edited August 12, 2014 by MEDNIKs 1 @ Quote Link to comment Short link Share on other sites More sharing options...
Andrew_Dark Posted August 12, 2014 Share Posted August 12, 2014 (edited) Вам инно сама ответила: У неё нет такого, попробуйте поискать в справке какая бредятина отвечает за то, что и та на ошибке:) И просто замените на новый вариант. Edited August 12, 2014 by Darksoul @ Quote Link to comment Short link Share on other sites More sharing options...
Kotyarko_O Posted August 12, 2014 Share Posted August 12, 2014 (edited) Ну вот к примеру попробывал свой код в юникоде компильнуть выдал ошибку сразу,что здесь не так? Во-первых, нужна расширенная версия компилятора. Edited August 12, 2014 by Kotyarko_O @ Quote Link to comment Short link Share on other sites More sharing options...
StranikS_Scan Posted August 12, 2014 Share Posted August 12, 2014 (edited) ANSI vs UNICODE ------------------------------------------------------------------------------------- Кодировка символов Текст - это набор смысловых символов, которые при записи заменяются значками или изображениями. Например изображение 1 - это арабская цифра, означающая единицу, а вот такое изображение X - имеет несколько значений, это и римская цифра десять и заглавная буква экс из алфавита англ. языка и т.д. Все печатные изображения символов хранятся в соот. таблицах. Например, есть таблица из 128 печатных символов, которая содержит арабские цифры, буквы англ. алфавита и еще десяток символов, которые мы с вами знаем как синтаксические, управляющие и служебные символы - эта таблица называется, таблица кодировки символов UN-ASCII или упрощенная ASCII. Так как в каждой стране юзают свой язык, то эту таблицу решили расширить и добавили еще 128 ячеек, куда можно вписать еще 128 символов национального языка. Получилась таблица ASCII или расширенная ASCII. Однако, языков то много разных и чтобы каждый разработчик ПО не создавал себе таблицу какая ему вздумается, был придуман стандарт ANSI, который устанавливал правила составления ASCII таблиц для разных языков. В результате на свет появились тысячи таблиц, составленных по единым правилам. Вот например, для русского языка такая таблица называется Windows-1251 (есть и другие таблицы для русского языка, например KOI8-R там те же символы, но записаны они по другим правилам). Ну а потом, когда стали переводить в таблицы языки с большим число символов, поняли что 256 ячеек не всякому языку хватит. И решили, что идея с таблицами - была не удачной и надо делать единый реестр графических изображений - это и есть Юникодовая таблица, она безразмерная и все печатные символы, которые в мире юзаются в ней есть. А если нужно ввести в оборот новый символов, то её просто расширяют дальше и дальше. Поддержка кодировок в программах Как кодировки сказываются на пользователе. На компе любой текст храниться только в виде кодов символов из кодировочной таблицы. Если при записи текста на диск использовалась Windows-1251 таблица, то все символы будут иметь коды от 0 до 255 из этой таблицы. Программа, которая ни чего не знает об юникоде, кодирует по умолчанию текст всегда через текущую локальную таблицу символов. Если у вас стоит русская винда, т.е. с русской локализацией, то значит локальной таблицей символов будет Windows-1251. Берем русский текст сохраняем в файл в такой программе и переносим файл на комп, где локализация например немецкая, как вы думаете что мы увидим открыв этот файл? А вот чего, так как локализация немецкая, то значит по умолчанию в винде юзается локальная таблица символов Windows-1252 (или -1250 я не помню), в которой в последних 128 ячейках вместо русских символов нарисованы символы из немецкого алфавита. Вот их вы и увидите в своем тексте. Отсюда получается, что если я сохранил текст через кодировку А и этот текст содержит только символы из UN-ASCII, то открыв его через любую другую ANSI таблицу я увижу его таким же как и у себя. А вот если я беру текст с национальными символами и сохраняю чего через кодировку А, то и открывать его можно будет только через неё. Если открою через кодировку B, то увижу совсем другие символы. А теперь, пусть у меня есть инсталлятор, который я сделал в ANSI-версии Inno. Это значит что все названия, слова, надписи, тексты были записаны в файл в локальной кодировке моей системы. Если у вас весь интерфейс в инсталляторе - на английском, то и фиг с этими кодировками... на любом другом компе все ваши надписи при запуске программы будут отлично читаться. А вот если у вас нтерфейс сделан на русском - то пиши пропало. Скачает немец, француз, китаец или любой другой юзвер, у которого в винде не стоит русской локализации ваш инсталлятор, и он вместо русских символов при запуске программы увидит абракадабру. Мало того если у него в системе не будет шрифта для этой абрыкадабры и даже её не увидит, а будут у него просто вопросики рисоваться ??????? или квадратики. Именно это в большинстве случаев и происходит. Ну, а если взять Юникод-версию Inno. Думаю уже легко догадаться, что в этом случае в вашем инсталляторе все символы в интерфейсе будут закодированы через универсальную юникод-таблицу. И в любой винде, где такая таблица поддерживается и соот. есть универсальные шрифты для неё - это XP, Vista, 7, 8, при запуске вашего инсталлятора текст в нем будет отображаться так же как и на вашем компутере, не зависимо от того какая там локализация винды и какая там локальная таблица кодировки стоит по умолчанию у юзвера. Ну вот к примеру попробывал свой код в юникоде компильнуть выдал ошибку сразу,что здесь не так? В новой версии инно класса TItemArea похоже нет. Вот и пишет, что не понимает что это за тип такой. Похоже его заменили на какой-то другой. Юникод и кодировки тут не причем. Edited August 12, 2014 by StranikS_Scan 1 @ Quote Link to comment Short link Share on other sites More sharing options...
-zav- Posted August 12, 2014 Share Posted August 12, 2014 ANSI vs UNICODE ------------------------------------------------------------------------------------- Познавательная статейка 1 @ Quote Link to comment Short link Share on other sites More sharing options...
Ekspoint Posted August 12, 2014 Share Posted August 12, 2014 как заставить работать в анси @ Quote Link to comment Short link Share on other sites More sharing options...
Kotyarko_O Posted August 12, 2014 Share Posted August 12, 2014 (edited) @Ekspoint, когда-то игрался сней) Но в свет инстальник так и не вышел, решил, что это бесполезность. Вообще, в шапке темы, под последним спойлером, есть куча примеров от меня. Скачай и найди там папку TrayIconCtrl. Дальше уже разберёшься, надеюсь. Edited August 12, 2014 by Kotyarko_O @ Quote Link to comment Short link Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.