Go Back   FileForums > Game Backup > PC Games > PC Games - CD/DVD Conversions > Conversion Tutorials
Register FAQ Community Calendar Today's Posts Search

Closed Thread
 
Thread Tools Search this Thread Display Modes
  #1  
Old 16-10-2012, 10:22
BAMsE's Avatar
BAMsE BAMsE is offline
The World Is Yener's
 
Join Date: Mar 2011
Location: in front of the monitor
Posts: 344
Thanks: 49
Thanked 271 Times in 91 Posts
BAMsE is on a distinguished road
Well... idea is mine, realization is yours

The most comfortable solution is detecting button text dimensions and automatically creating active zone, but it's quite complicated. The easiest solution is adding new variables describing vertical and horizontal amplification from the center of button text (what is already implemented)
Sponsored Links
  #2  
Old 16-10-2012, 19:13
yener90 yener90 is offline
Registered User
 
Join Date: Nov 2008
Location: Away
Posts: 810
Thanks: 93
Thanked 1,093 Times in 217 Posts
yener90 is on a distinguished road
Quote:
Originally Posted by BAMsE View Post
Well... idea is mine, realization is yours

The most comfortable solution is detecting button text dimensions and automatically creating active zone, but it's quite complicated. The easiest solution is adding new variables describing vertical and horizontal amplification from the center of button text (what is already implemented)
comfortable yes...but im using limited inno code
  #3  
Old 17-10-2012, 00:49
johnnyusa johnnyusa is offline
Registered User
 
Join Date: Oct 2011
Location: Romania
Posts: 20
Thanks: 4
Thanked 1 Time in 1 Post
johnnyusa is on a distinguished road
yener, i have a few questions if i may.

Let's say i want all Components unchecked by default when starting the Installer.

I've modified the code to look like this:

Code:
    ComponentsPage.ID:
    begin
      SelectComponentsLabel.Show
      ComponentsDiskSpaceLabel.Show;
      Components1.Checked := False;
      Components2.Checked := False;
      Components3.Checked := False;
      Components4.Checked := False;
      if not FileExists(ExpandConstant('{tmp}\Checkbox.png')) then begin
      Components1.Visible := Components1V;
      Components2.Visible := Components2V;
      Components3.Visible := Components3V;
      Components4.Visible := Components4V;
      Components5.Visible := Components5V;
      Components6.Visible := Components6V;
      Components7.Visible := Components7V;
      Components8.Visible := Components8V;
      end;
      BtnSetVisibility(Components1Check,Components1V);
      BtnSetVisibility(Components2Check,Components2V);
      BtnSetVisibility(Components3Check,Components3V);
      BtnSetVisibility(Components4Check,Components4V);
      BtnSetVisibility(Components5Check,Components5V);
      BtnSetVisibility(Components6Check,Components6V);
      BtnSetVisibility(Components7Check,Components7V);
      BtnSetVisibility(Components8Check,Components8V);
      Components1Label.Visible := Components1V;
      Components2Label.Visible := Components2V;
      Components3Label.Visible := Components3V;
      Components4Label.Visible := Components4V;
      Components5Label.Visible := Components5V;
      Components6Label.Visible := Components6V;
      Components7Label.Visible := Components7V;
      Components8Label.Visible := Components8V;
    end;
Maybe you have another solution?

Also, i want to add some conditional checks. For example. If i check Component2, Component3 should uncheck automatically and if i check Component3, Component2 should uncheck automatically.

I've modified the following code:

Code:
procedure UpdateComponentsPage;
var TempInt: Integer; TempStr:String;
begin
TempInt := 0;
if Components1.Checked then
TempInt := TempInt + GetIniInt('ComponentsSettings', 'Component1Size', 0,0,0, ExpandConstant('{tmp}\Setup.ini'));
//if Components2.Checked then
//TempInt := TempInt + GetIniInt('ComponentsSettings', 'Component2Size', 0,0,0, ExpandConstant('{tmp}\Setup.ini'));
//if Components3.Checked then
//TempInt := TempInt + GetIniInt('ComponentsSettings', 'Component3Size', 0,0,0, ExpandConstant('{tmp}\Setup.ini'));

//*************** Teste **************///

if Components2.Checked then
                       begin
                        Components3.Checked:=False;
                        BtnSetChecked(Components3Check,False);
                        TempInt := TempInt + GetIniInt('ComponentsSettings', 'Component2Size', 0,0,0, ExpandConstant('{tmp}\Setup.ini'));
                       end;                    
if Components3.Checked then
                       begin
                        Components2.Checked:=False;
                        BtnSetChecked(Components2Check,False);
                        TempInt := TempInt + GetIniInt('ComponentsSettings', 'Component3Size', 0,0,0, ExpandConstant('{tmp}\Setup.ini'));
                       end;

//*************** Teste **************///
............... ................
But doesnt work like i want it to work.

Any hints? Thanks in advance.

Last edited by johnnyusa; 17-10-2012 at 00:51.
  #4  
Old 17-10-2012, 01:05
yener90 yener90 is offline
Registered User
 
Join Date: Nov 2008
Location: Away
Posts: 810
Thanks: 93
Thanked 1,093 Times in 217 Posts
yener90 is on a distinguished road
default state false:
Code:
Components1:= TCheckBox.Create(WizardForm);
with Components1 do
begin
Parent:= WizardForm;
Left:= NewLeftPositionCP; 
Top:= TextPositionTop + 130 + MoveDirectoryInfo;
Width:= 13;
Height:= 13;
TabOrder:= 0;
Checked:= Components1V; -> change to false
Visible:= Components1V;
OnClick:= @ComponentsClick;
...
BtnSetChecked(Components1Check,True); -> Change To false
end;
inverting buttons(make sure you defined correctly in previous step):
Code:
procedure Components2CheckClick(hBtn:HWND);
begin
if Components2.Checked = False then
Components2.Checked:= True else
Components2.Checked:= False;
BtnSetChecked(Components2Check,Components2.Checked)
Components3.Checked:= not Components2.Checked; 
BtnSetChecked(Components3Check,not Components2.Checked)
end;

procedure Components3CheckClick(hBtn:HWND);
begin
if Components3.Checked = False then
Components3.Checked:= True else
Components3.Checked:= False;
BtnSetChecked(Components3Check,Components3.Checked)
Components2.Checked:= not Components3.Checked; 
BtnSetChecked(Components2Check,not Components3.Checked)
end;

same changes for Components2LabelOnClick and Components3LabelOnClick
  #5  
Old 17-10-2012, 01:06
johnnyusa johnnyusa is offline
Registered User
 
Join Date: Oct 2011
Location: Romania
Posts: 20
Thanks: 4
Thanked 1 Time in 1 Post
johnnyusa is on a distinguished road
Thanks alot man. I'll try right away <3

EDIT: Works very well. Thanks again!

Last edited by johnnyusa; 17-10-2012 at 01:47.
  #6  
Old 17-10-2012, 02:53
yener90 yener90 is offline
Registered User
 
Join Date: Nov 2008
Location: Away
Posts: 810
Thanks: 93
Thanked 1,093 Times in 217 Posts
yener90 is on a distinguished road
UPDATE 8.5.7.4
- advanced buttons -> now you can define touch position
-> NOT NECESSARY
for better description look here:
http://imageshack.us/a/img202/9290/setposition.jpg
  #7  
Old 17-10-2012, 03:45
Th3Raven's Avatar
Th3Raven Th3Raven is offline
Registered User
 
Join Date: Mar 2012
Location: Romania
Posts: 90
Thanks: 57
Thanked 54 Times in 33 Posts
Th3Raven is on a distinguished road
Send a message via Yahoo to Th3Raven
THX Yener90 SIR .
I will try this new update as soon as i finish my Doom 3 BFG Edition C.I.
  #8  
Old 17-10-2012, 05:49
Fabioddq's Avatar
Fabioddq Fabioddq is offline
Die Hard Member
 
Join Date: Oct 2011
Location: Earth
Posts: 1,221
Thanks: 336
Thanked 2,147 Times in 427 Posts
Fabioddq is on a distinguished road
Quote:
Originally Posted by yener90 View Post
UPDATE 8.5.7.4
- advanced buttons -> now you can define touch position
-> NOT NECESSARY
for better description look here:
http://imageshack.us/a/img202/9290/setposition.jpg
Thanks for the update yener. I will test these new features soon. Will drop like a bomb in my conversion of Doom 3 BFG.
  #9  
Old 18-10-2012, 11:34
johnnyusa johnnyusa is offline
Registered User
 
Join Date: Oct 2011
Location: Romania
Posts: 20
Thanks: 4
Thanked 1 Time in 1 Post
johnnyusa is on a distinguished road
Hello again yener, i hope you can help me again with one problem

i've used your latest CI v8.5.7.4 to build an installation using:
Code:
#define ProgramFiles
#define Internal
The files have around 6gb, the problem is, after successful compiling. When i run setup.exe, it takes a few minutes for the setup window to open. If i look in TaskManager, setup.exe is shown as "Not responding", but if after a few minutes, the setup window appears and i can install the files.

I've tried another method using:
Code:
#define ProgramFiles
;#define Internal
And this time, when i run setup.exe, the installer window is shown like it should. Almost instantly.

In my 3rd try to find the problem, i've tried the 1st method:
Code:
#define ProgramFiles
#define Internal
,but with some minimal files to install. around 20mb.

This time when i ran setup.exe, all is fine, the installer window is shown very fast .. etc.

To sum this up, when i've used #define Internal, for large amount of files, around 6gb, the setup had problems with very slow loads. But when i've used #define Internal with small amount of files, around 20mb, the setup had no problems. Also, if i dont use #define Internal, i have no problems even with 6gb+ files.

What is the problem? I really want to make the setup work with #define Internal for larger files.

Thanks in advance, as always
  #10  
Old 20-10-2012, 07:20
kassane's Avatar
kassane kassane is offline
Registered User
 
Join Date: Nov 2011
Location: Somewhere in the World
Posts: 174
Thanks: 578
Thanked 117 Times in 47 Posts
kassane is on a distinguished road
Incredible yener90, just got a little time off, and you made ​​good progress ... CI 8.5.7.4 tested and approved!!!

thx
  #11  
Old 20-10-2012, 11:38
johnnyusa johnnyusa is offline
Registered User
 
Join Date: Oct 2011
Location: Romania
Posts: 20
Thanks: 4
Thanked 1 Time in 1 Post
johnnyusa is on a distinguished road
Back again with some questions yener, i suppose you didnt reply to my previous problem because you don't know the answer or my description was too vague.

Anyway, what im trying to do now, is to implement one password page in your awesome script. But it seems my scripting skills are sucky at the moment, but i have an excuse, im beginner.

Anyway, let's proceed with my problems:

The below code is in [SETUP]
Quote:
; Password setup
Encryption=false
Password=123456

#define EncryptPass
#define i Len(SetupSetting("Password"))
#for {i; i > 0; i--} EncryptPass = EncryptPass + Copy(SetupSetting("Password"), i, 1)
The below code is in [CODE]

Quote:
Function DecryptPass(Password: String): String;
var n: Integer;
Begin
for n:= Length(Password) Downto 1 do Result:= Result + Copy(Password, n, 1)
End;

Function CheckPassword(Password: String): Boolean;
Begin
Result:= (GetMD5OfString(Password) = DecryptPass('{#EncryptPass}'))
if not Result then exit;
PasswordText.Caption:= WizardForm.PasswordEdit.Text
WizardForm.PasswordEdit.Text:= DecryptPass('{#EncryptPass}')
PasswordText.Show
End;

Procedure PasswordEditOnKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);
Begin
WizardForm.Nextbutton.Enabled:= CheckPassword(WizardForm.PasswordEdit.Text)
End;
This is the password page:

Quote:
////////////////////// PasswordPage //////////////////////

PasswordEditLabel := TLabel.Create(WizardForm);
with PasswordEditLabel do begin
AutoSize:=False;
Top:= TextPositionTop + 97 + MoveDirectoryInfo;
if Wizardform.RightToLeft then
Left := InstallerWidth - TextPositionWidth - TextPositionLeft + TextSpaceFromBorder + 7
else
Left:= TextPositionLeft + TextSpaceFromBorder + 7 ;
Width:= TextPositionWidth - 2* TextSpaceFromBorder - 14;
//SetBounds(ScaleX(127), ScaleY(308), ScaleX(446),16);
WordWrap:= True;
ShowAccelChar := False;
Transparent:=True;
Font.Name:= SetupFont;
Font.Size:= 10 + SetupFontSize;
Font.Color:=SetupFontColor;
//Font.Style:=[fsBold];
//Caption := MinimizePathName(WizardForm.PasswordEditLabel.Text , PasswordEditLabel.Font, PasswordEditLabel.Width);
//Caption:= WizardForm.PasswordEdit.Text;
Parent := WizardForm;
OnMouseMove:=@MainAreaMouseMove;
OnMouseDown:=@MainAreaMouseDown;
end;

PasswordText:=TPanel.Create(WizardForm)
with PasswordText do begin
WizardForm.PasswordEdit.OnKeyUp:= @PasswordEditOnKeyUp
PasswordText.SetBounds(WizardForm.PasswordEdit.Lef t, WizardForm.PasswordEdit.Top, WizardForm.PasswordEdit.Width, WizardForm.PasswordEdit.Height)
PasswordText.Font.Style:= [fsBold]
PasswordText.Alignment:=taLeftJustify
PasswordText.BevelOuter:= bvNone
PasswordText.BorderStyle:= bsSingle
PasswordText.Parent:= WizardForm.PasswordPage
PasswordText.Hide
end;

with Wizardform.PasswordEdit do begin
if Wizardform.RightToLeft then
Left := InstallerWidth - TextPositionWidth - TextPositionLeft + TextSpaceFromBorder
else
Left:= TextPositionLeft + TextSpaceFromBorder;
Top:= TextPositionTop + 95 + MoveDirectoryInfo;
Width:= TextPositionWidth - 2* TextSpaceFromBorder ;
Parent:=Wizardform
end;

////////////////////// PasswordPage //////////////////////
Quote:
wpPassword:
begin
Wizardform.PasswordEdit.Show
PasswordEditLabel.Show
end;

if CurPageID = wpPassword then if PasswordText.Caption = '' then
begin
WizardForm.Nextbutton.Enabled:= CheckPassword(WizardForm.PasswordEdit.Text);
if FileExists(ExpandConstant('{tmp}\Button.png')) then begin
NextBtnEnable(Wizardform.NextButton.Enabled)
end;
end;
Now, what i want to do is to enable the NEXT button when i enter the correct password. The problem is, even if i input the correct password, the NEXT button is Disabled. Any assistance please? Thanks in advance as always.

Last edited by johnnyusa; 20-10-2012 at 11:40.
  #12  
Old 20-10-2012, 11:45
pakrat2k2's Avatar
pakrat2k2 pakrat2k2 is offline
Moderator
 
Join Date: Apr 2005
Location: Canada
Posts: 7,209
Thanks: 3,040
Thanked 9,043 Times in 3,086 Posts
pakrat2k2 is on a distinguished road
you need to run Setup.cab Cryptor.exe to input the password into setup.cab file then ( I think it gives you the encrypted password that needs to be entered in setup.ini ) Hope its right as dont use that feature YET.
  #13  
Old 20-10-2012, 11:47
johnnyusa johnnyusa is offline
Registered User
 
Join Date: Oct 2011
Location: Romania
Posts: 20
Thanks: 4
Thanked 1 Time in 1 Post
johnnyusa is on a distinguished road
No man, im not talking about password protecting the cab file, im talking about password protection inside the setup.
  #14  
Old 20-10-2012, 12:43
yener90 yener90 is offline
Registered User
 
Join Date: Nov 2008
Location: Away
Posts: 810
Thanks: 93
Thanked 1,093 Times in 217 Posts
yener90 is on a distinguished road
why password protected setup? o.o
  #15  
Old 20-10-2012, 12:45
johnnyusa johnnyusa is offline
Registered User
 
Join Date: Oct 2011
Location: Romania
Posts: 20
Thanks: 4
Thanked 1 Time in 1 Post
johnnyusa is on a distinguished road
Because i want to test things and i want to learn from you and your scripts.
Closed Thread


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
INNO TROUBLESHOOT - Questions Here REV0 Conversion Tutorials 1565 29-11-2024 09:51
Inno Setup: Additional Libraries altef_4 Conversion Tutorials 50 21-10-2020 09:59
INNO TUTORIAL - Using Unicode and ANSI Versions of INNO Setup REV0 Conversion Tutorials 51 26-03-2015 06:57
Help- How to extract a .bin file compressed by a code ? Adonix Conversion Tutorials 22 22-03-2015 15:02
yener90's older Inno Project Source Codes THADEADMAN2011 PC Games - CD/DVD Conversions 0 16-06-2012 03:40



All times are GMT -7. The time now is 03:23.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2026, vBulletin Solutions Inc.
FileForums @ https://fileforums.com