|
#376
|
||||
|
||||
|
Quote:
Code:
[Component0] Name=Core files Size=30000 [Component1] Name=Need For Speed Underground Size=30000 [Component2] Name=Need For Speed Underground 2 Size=30000 [Component3] Name=Need For Speed Most Wanted 05' Size=30000 [Component4] Name=Need For Speed Carbon Size=30000 [Component5] Name=Need For Speed Pro Street Size=30000 [Component6] Name=Need For Speed Undercover Size=30000 [Component7] Name=Need For Speed Shift Size=30000 [Component8] Name=Need For Speed Hot Pursuit Size=30000 [Component9] Name=Need For Speed The Run Size=30000 [Component10] Name=Need For Speed Shift 2 Unleashed Size=30000 [Component10] Name=Need For Speed Most Wanted 12' Size=30000 [Component11] Name=Need For Speed Rivals Size=30000 [Component12] Name=Need For Speed 15' Size=30000 Code:
function GetIniBool(const Section, Key: String; const Default: Boolean; const Filename: String): Boolean; function GetIniInt(const Section, Key: String; const Default, Min, Max: Longint; const Filename: String): Longint; function GetIniString(const Section, Key, Default, Filename: String): String; |
| Sponsored Links |
|
#377
|
||||
|
||||
|
Developer suggestions:
Hi @BLACKFIRE69, can you add this class to FMXInno. thank you. Feature of the FMXInno plugin:
Last edited by hitman797; 26-09-2023 at 08:39. |
| The Following User Says Thank You to hitman797 For This Useful Post: | ||
audiofeel (26-09-2023) | ||
|
#378
|
||||
|
||||
|
Quote:
Code:
{ Ini }
function ReadIniStr(const Section, Key, Default, FileName: WideString): WideString;
external 'ReadIniStr@files:FMXInno.dll stdcall delayload';
function WriteIniStr(const Section, Key, Value, FileName: WideString): Boolean;
external 'WriteIniStr@files:FMXInno.dll stdcall delayload';
{ ReadReg }
function pReadRegStr(const RootKey: Integer; const Key, Name: WideString; CreateNew: Boolean): WideString;
external 'pReadRegStr@files:FMXInno.dll stdcall delayload';
function pReadRegInt(const RootKey: Integer; const Key, Name: WideString; CreateNew: Boolean): Integer;
external 'pReadRegInt@files:FMXInno.dll stdcall delayload';
function pReadRegBool(const RootKey: Integer; const Key, Name: WideString; CreateNew: Boolean): Boolean;
external 'pReadRegBool@files:FMXInno.dll stdcall delayload';
function pReadRegDouble(const RootKey: Integer; const Key, Name: WideString; CreateNew: Boolean): Double;
external 'pReadRegDouble@files:FMXInno.dll stdcall delayload';
|
|
#379
|
||||
|
||||
|
Quote:
|
| The Following User Says Thank You to hitman797 For This Useful Post: | ||
audiofeel (26-09-2023) | ||
|
#380
|
||||
|
||||
|
done with Timer.
press Ctrl + D to show color combo box. Code:
FMXBass: array [1..2] of IXBass; FMXCPU: array [1..2] of FCpuUsage; FMXRAM: array [1..2] of FRamUsage; FMXDISK: array [1..2] of FDiskUsage; FMXGPU: array [1..2] of FGPUInfo; FMXINFO: array [1..2] of FOSInfo; Last edited by hitman797; 26-09-2023 at 21:52. |
| The Following 3 Users Say Thank You to hitman797 For This Useful Post: | ||
|
#381
|
||||
|
||||
|
Quote:
Code:
var
MyArr: array of Integer;
procedure FMXInnoInit;
var
I: Integer;
begin
SetArrayLength(MyArr, 38);
for I := 0 to 37 do
begin
case I of
0..11 : MyArr[i] := 7 + I; // 7..18
12..16 : MyArr[i] := 20 + (I - 12); // 20..24
17..21 : MyArr[i] := 35 + (I - 17); // 35..39
22..26 : MyArr[i] := 50 + (I - 22); // 50..54
27..31 : MyArr[i] := 62 + (I - 27); // 62..66
32 : MyArr[32] := 75; // 75
33..35 : MyArr[i] := 84 + (I - 33); // 84..86
36 : MyArr[36] := 93; // 93
37 : MyArr[37] := 97; // 97
end;
end;
end;
procedure OnChange(Sender: TObject);
var
I: Integer;
begin
case Sender of
TObject(FMXComboColorBox[1].GetObject):
begin
FMXArc[1].FillColor(FMXComboColorBox[1].GetColor);
for I := Low(MyArr) to High(MyArr) do
FMXRectangle[MyArr[I]].FillColor(FMXComboColorBox[1].GetColor);
end;
end;
end;
Last edited by BLACKFIRE69; 28-09-2023 at 16:50. |
|
#382
|
||||
|
||||
|
Quote:
Code:
var
MyArr: array of Integer;
procedure FMXInnoInit;
var
I: Integer;
begin
SetArrayLength(MyArr, 38);
for I := 0 to 37 do
begin
case I of
I=(0..11) : MyArr[i] := 7 + I; // 7..18 // 7 + 11 = 18;
I=(12..16) : MyArr[i] := 20 + (I - 12); // 20..24 // 20 + (16 - 12)= 24;
I=(17..21) : MyArr[i] := 35 + (I - 17); // 35..39 // 35 + (21 - 17)= 39;
I=(22..26) : MyArr[i] := 50 + (I - 22); // 50..54 // 50 + (26 - 22)= 54;
I=(27..31) : MyArr[i] := 62 + (I - 27); // 62..66 // 62 + (31 - 27)= 66;
I=(32) : MyArr[32] := 75; // 75 // 75;
I=(33..35) : MyArr[i] := 84 + (I - 33); // 84..86 // 84 + (35 - 33)= 86;
I=(36) : MyArr[36] := 93; // 93 // 93;
I=(37) : MyArr[37] := 97; // 97 // 97;
end;
end;
end;
procedure OnChange(Sender: TObject);
var
I: Integer;
begin
case Sender of
TObject(FMXComboColorBox[1].GetObject):
begin
FMXArc[1].FillColor(FMXComboColorBox[1].GetColor);
for I := Low(MyArr) to High(MyArr) do
FMXRectangle[MyArr[I]].FillColor(FMXComboColorBox[1].GetColor);
end;
end;
end;
|
| The Following User Says Thank You to hitman797 For This Useful Post: | ||
audiofeel (29-09-2023) | ||
|
#383
|
||||
|
||||
|
Developer suggestions:
Hi @BLACKFIRE69, can you add GetText of FLabel class to FMXInno. thank you. FLabel: Code:
function GetText: WideString; |
| The Following User Says Thank You to hitman797 For This Useful Post: | ||
audiofeel (02-10-2023) | ||
|
#384
|
||||
|
||||
|
Quote:
it's not a big deal. Code:
var
...
mListBox : FListBox;
mListBoxItem: array of FListBoxItem;
...
procedure FMXInnoInit;
begin
...
mListBox := InitListBoxHandle;
...
end;
procedure InitializeWizard();
begin
...
FMXDesigning;
FMXForm.Show;
mListBox.SetItemIndex(2); // i-1
...
end;
procedure ListBoxOnChange(Sender: TObject);
begin
if mListBox.GetItemIndex > -1 then
WinTB1.Text('Selected Drive: [' + mListBox.GetItemText(mListBox.GetItemIndex) + ']');
end;
Code:
procedure FMXDesigning;
var
i, CDrvIdx: Integer;
ADrvLst: TArrWStr;
begin
...
if not wGetLogicalDriveList(ADrvLst, CDrvIdx) then
begin
Log('"wGetLogicalDriveList" failed!');
MsgBox('"wGetLogicalDriveList" failed!', mbError, MB_OK);
// try another way.
end;
{ ListBox }
mListBox.FCreate(FMXForm.Handle);
mListBox.SetBounds(NSX(32), NSY(53), NSX(297), NSY(249));
mListBox.OnChange(@ListBoxOnChange);
{ Items }
SetArrayLength(mListBoxItem, GetArrayLength(ADrvLst));
mListBox.BeginUpdate;
for i := 0 to GetArrayLength(ADrvLst) - 1 do
begin
mListBoxItem[i] := InitListBoxItemHandle;
mListBoxItem[i].FCreate(mListBox.Handle);
mListBoxItem[i].Text(ADrvLst[i]);
mListBox.AddItem(mListBoxItem[i].Handle);
end;
mListBox.EndUpdate;
...
end;
. Last edited by BLACKFIRE69; 14-07-2024 at 02:09. |
|
#385
|
|||
|
|||
|
Hello, thank you for your hard work
If it is possible, can you put the metro script, I have downloaded a few, when it starts, the first page is white, then the page comes, please put this, thank you |
| The Following User Says Thank You to Jahan1373 For This Useful Post: | ||
audiofeel (03-10-2023) | ||
|
#386
|
||||
|
||||
|
Code:
var Form4: TForm4; Directory: TDirectoryListBox; Drive: TDriveComboBox; FileList: TFileListBox; Code:
procedure TForm4.FormCreate(Sender: TObject); begin // Directory Directory:= TDirectoryListBox.Create(nil); Directory.ParentWindow:=FmxHandleToHWND(Form4.Handle); Directory.Visible:=False; Directory.FileList:=FileList; // Drive Drive:= TDriveComboBox.Create(nil); Drive.ParentWindow:=FmxHandleToHWND(Form4.Handle); Drive.Visible:=False; Drive.TextCase:=tcUpperCase; Drive.DirList:=Directory; // FileList FileList:= TFileListBox.Create(nil); FileList.ParentWindow:=FmxHandleToHWND(Form4.Handle); FileList.Visible:=False; // ListBox1.Items:= Directory.Items; ListBox2.Items:= FileList.Items; ComboBox1.Items:= Drive.Items; end; Code:
procedure TForm4.ComboBox1Change(Sender: TObject); begin Drive.ItemIndex:= ComboBox1.ItemIndex; end; procedure TForm4.ListBox1ItemClick(const Sender: TCustomListBox; const Item: TListBoxItem); begin ListBox1.BeginUpdate; ListBox1.Items:= Directory.Items; ListBox1.EndUpdate; end; procedure TForm4.ListBox2ItemClick(const Sender: TCustomListBox; const Item: TListBoxItem); begin ListBox2.BeginUpdate; ListBox2.Items:= FileList.Items; ListBox2.EndUpdate; end; Last edited by hitman797; 07-10-2023 at 05:49. |
| The Following 2 Users Say Thank You to hitman797 For This Useful Post: | ||
audiofeel (04-10-2023), Lord.Freddy (04-10-2023) | ||
|
#387
|
||||
|
||||
|
Code:
hDrive: TDriveComboBox; hFilter: TFilterComboBox; hDirectory: TDirectoryListBox; hFileList: TFileListBox; Last edited by hitman797; 14-10-2023 at 08:16. |
| The Following User Says Thank You to hitman797 For This Useful Post: | ||
audiofeel (05-10-2023) | ||
|
#388
|
|||
|
|||
|
Please may I have some guidance transitioning my Installer from IsArcEx to using the module included in FMXInno? IsArcEx.dll is getting a lot of hits on VT and people downloading my releases are accusing me of putting trojans in the release.
|
| The Following User Says Thank You to Masquerade For This Useful Post: | ||
hitman797 (06-10-2023) | ||
|
#389
|
||||
|
||||
|
Quote:
Code:
[Files] Source: "Files\FMXInno.dll"; Flags: dontcopy; Code:
type TCallback = function(OverallPct, CurrentPct, DiskTotalMB, DiskExtractedMB: Integer; DiskName, CurrentFile, RemainsTime, ElapsedTime, CurSpeed, AvgSpeed: WideString): LongWord; TCallbackEx = function(OverallPct, CurrentPct, DiskTotalMB, DiskExtractedMB, TotalFiles, CurFiles: Integer; DiskName, CurrentFile, RemainsTime, ElapsedTime, CurSpeed, AvgSpeed: WideString): LongWord; Code:
var ISArcExDiskCount : Integer; ISArcExCancel : Integer; ISArcExError : Boolean; ISArcDiskAddingSuccess: Boolean; Code:
function ISArcExInit(WinHandle: Longint; TimeFormat: Integer; Callback: TCallback): Boolean; external 'ISArcExInit@files:FMXInno.dll stdcall delayload'; function ISArcExInitEx(WinHandle: Longint; TimeFormat: Integer; Callback: TCallbackEx): Boolean; external 'ISArcExInitEx@files:FMXInno.dll stdcall delayload'; function ISArcExAddDisks(Inputfile, Password, OutputPath: Widestring): Boolean; external 'ISArcExAddDisks@files:FMXInno.dll stdcall delayload'; function ISArcExExtract(DiskNumber: Integer; CfgFile, WorkPath: Widestring): Boolean; external 'ISArcExExtract@files:FMXInno.dll stdcall delayload'; procedure ISArcExCallbackInterval(MSec: Cardinal); external 'ISArcExCallbackInterval@files:FMXInno.dll stdcall delayload'; function ISArcExGetCallbackInterval: Cardinal; external 'ISArcExGetCallbackInterval@files:FMXInno.dll stdcall delayload'; procedure ISArcExReduceCalcAccuracy(Factor: Byte); // Factor: 1-5 external 'ISArcExReduceCalcAccuracy@files:FMXInno.dll stdcall delayload'; function SuspendProc: Boolean; external 'SuspendProc@files:FMXInno.dll stdcall delayload'; function ResumeProc: Boolean; external 'ResumeProc@files:FMXInno.dll stdcall delayload'; procedure ISArcExStop; external 'ISArcExStop@files:FMXInno.dll stdcall delayload'; procedure ISArcExCleanUp; external 'ISArcExCleanUp@files:FMXInno.dll stdcall delayload'; function ChangeLanguage(Language: Widestring): boolean; external 'ChangeLanguage@files:FMXInno.dll stdcall delayload'; function Exec2(filename, Param: WideString; Show: Boolean): Boolean; external 'Exec2@files:FMXInno.dll stdcall delayload'; Last edited by hitman797; 06-10-2023 at 02:26. |
| The Following User Says Thank You to hitman797 For This Useful Post: | ||
Masquerade (06-10-2023) | ||
|
#390
|
|||
|
|||
|
And am I alright, with this code, to just drag and drop the FMX files into the project? I haven't upgraded the DLL in while.
|
![]() |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Windows Fluent Effects Standalone API - InnoSetup / VCL / FXM | BLACKFIRE69 | Conversion Tutorials | 0 | 15-11-2023 17:35 |
| Windows Phone Installer similar to razor12911's original design? | Kitsune1982 | Conversion Tutorials | 0 | 02-07-2020 13:04 |
| INDEX - Conversion Tutorial Index | Razor12911 | Conversion Tutorials | 5 | 11-06-2020 02:05 |
| Frequently Asked Questions | Joe Forster/STA | PC Games - Frequently Asked Questions | 0 | 29-11-2005 09:48 |