Skip to content

Commit

Permalink
Merge branch 'release/5.30.0'
Browse files Browse the repository at this point in the history
Release v5.30.0
  • Loading branch information
delphidabbler committed Oct 6, 2024
2 parents fd9302b + 19473f8 commit c1fd055
Show file tree
Hide file tree
Showing 7 changed files with 2,017 additions and 402 deletions.
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
*.a
*.o
*.ocx
#*.res
*.res
*.tlb
*.obj

Expand Down
16 changes: 16 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,21 @@
# Change Log for System Information Unit

## v5.30.0 of 06 October 2024

+ Updated PRODUCT_xxx constant definitions to include all those defined in the Windows 11 24H2 SDK.
+ Made the code in TPJOSInfo that gets the operating system edition name more robust. If the name can't be found in lookup tables then the registry is now checked too.
+ Added new TPJOSInfo.BuildBranch method that returns the name of the repository branch from which the OS was released.
+ Added new TPJOSInfo.DigitalProductID method that retrieves the OS's digital product ID.
+ Added new methods to TPJOSInfo that get additional information about the Windows 10 & 11 "version" numbers (e.g. 1507 or 23H2). The methods are IsWindows10VersionOrLater, IsWindows11VersionOrLater, Windows10PlusVersion and Windows10PlusVersionName.
+ Some TPJOSInfo and TPJComputerInfo methods were inlined.
+ Refactored out a "with" statement.
+ Removed commented out code from the PJSysInfo unit.
+ Updated the demo projects:
+ The FMX demo project was modified for compilation with Delphi 12 by updating the demo project options. main form properties and required units. (All changes were automatically created by the Delphi 12 IDE.)
+ Both the VCL and FMX projects were updated to demonstrate all the new TPJSysInfo methods added in this release.
+ Fixed a bug in the FMX demo program where string grids were not resizing with the main window.
+ Updated `.gitignore` to ignore the `.res` files generated by Delphi 12.

## v5.29.0 of 01 October 2024

+ Updated TPJOSInfo to detect various Windows 10 and 11 builds and revisions released in July to September 2024:
Expand Down
1,050 changes: 1,042 additions & 8 deletions Demos/FMX/FMXDemo.dproj

Large diffs are not rendered by default.

213 changes: 161 additions & 52 deletions Demos/FMX/FmFMXDemo.fmx
Original file line number Diff line number Diff line change
@@ -1,26 +1,22 @@
object Form1: TForm1
Left = 0
Top = 0
BorderStyle = bsSingle
Caption = 'Form1'
ClientHeight = 480
ClientWidth = 640
ClientHeight = 508
ClientWidth = 688
FormFactor.Width = 1920
FormFactor.Height = 1080
FormFactor.Devices = [dkDesktop]
FormFactor.Devices = [Desktop, iPhone, iPad]
OnCreate = FormCreate
DesignerMobile = False
DesignerWidth = 0
DesignerHeight = 0
DesignerDeviceName = ''
DesignerOrientation = 0
DesignerMasterStyle = 0
object Layout1: TLayout
Align = alClient
Height = 480.000000000000000000
Width = 640.000000000000000000
Align = Client
Size.Width = 688.000000000000000000
Size.Height = 508.000000000000000000
Size.PlatformDefault = False
TabOrder = 0
object TabControl1: TTabControl
Align = alClient
Height = 472.000000000000000000
Align = Client
Padding.Left = 4.000000000000000000
Padding.Top = 4.000000000000000000
Padding.Right = 4.000000000000000000
Expand All @@ -29,72 +25,185 @@ object Form1: TForm1
Margins.Top = 4.000000000000000000
Margins.Right = 4.000000000000000000
Margins.Bottom = 4.000000000000000000
Size.Width = 680.000000000000000000
Size.Height = 500.000000000000000000
Size.PlatformDefault = False
TabIndex = 0
TabOrder = 0
Width = 632.000000000000000000
TabPosition = Top
OnChange = TabControl1Change
Sizes = (
672s
466s
672s
466s
672s
466s
672s
466s)
object tiComputerInfo: TTabItem
WordWrap = False
Height = 23.000000000000000000
CustomIcon = <
item
end>
TextSettings.Trimming = None
IsSelected = True
Position.X = 1.000000000000000000
Size.Width = 111.000000000000000000
Size.Height = 26.000000000000000000
Size.PlatformDefault = False
StyleLookup = ''
TabOrder = 0
Text = 'TPJComputerInfo'
Width = 103.000000000000000000
object StringGrid1: TStringGrid
Align = alClient
Height = 441.000000000000000000
ExplicitSize.cx = 50.000000000000000000
ExplicitSize.cy = 50.000000000000000000
object sgComputerInfo: TStringGrid
Align = Client
CanFocus = True
ClipChildren = True
Size.Width = 672.000000000000000000
Size.Height = 466.000000000000000000
Size.PlatformDefault = False
TabOrder = 0
Width = 624.000000000000000000
AlternatingRowBackground = True
ReadOnly = True
RowCount = 100
RowHeight = 21.000000000000000000
ShowHorzLines = False
ShowSelectedCell = False
object NameCol: TStringColumn
Options = [ColumnResize, ColumnMove, ColLines, RowLines, Tabs, Header, HeaderClick, AutoDisplacement]
OnResized = sgResized
Viewport.Width = 652.000000000000000000
Viewport.Height = 441.000000000000000000
object StringColumn1: TStringColumn
Header = 'Method'
Height = 415.000000000000000000
HeaderSettings.TextSettings.WordWrap = False
ReadOnly = True
TabOrder = 0
Width = 185.000000000000000000
Size.Width = 240.000000000000000000
end
object ValueCol: TStringColumn
object StringColumn2: TStringColumn
Header = 'Value'
Height = 415.000000000000000000
Position.X = 185.000000000000000000
HeaderSettings.TextSettings.WordWrap = False
ReadOnly = True
TabOrder = 1
Width = 400.000000000000000000
Size.Width = 400.000000000000000000
end
end
end
object tiSpecialFolders: TTabItem
WordWrap = False
Height = 23.000000000000000000
CustomIcon = <
item
end>
TextSettings.Trimming = None
IsSelected = False
Position.X = 104.000000000000000000
TabOrder = 1
Size.Width = 113.000000000000000000
Size.Height = 26.000000000000000000
Size.PlatformDefault = False
StyleLookup = ''
TabOrder = 0
Text = 'TPJSpecialFolders'
Width = 104.000000000000000000
ExplicitSize.cx = 50.000000000000000000
ExplicitSize.cy = 50.000000000000000000
object sgSpecialFolders: TStringGrid
Align = Client
CanFocus = True
ClipChildren = True
Size.Width = 672.000000000000000000
Size.Height = 466.000000000000000000
Size.PlatformDefault = False
TabOrder = 0
RowHeight = 21.000000000000000000
Options = [ColumnResize, ColumnMove, ColLines, RowLines, Tabs, Header, HeaderClick, AutoDisplacement]
OnResized = sgResized
Viewport.Width = 652.000000000000000000
Viewport.Height = 441.000000000000000000
object StringColumn5: TStringColumn
Header = 'Method'
HeaderSettings.TextSettings.WordWrap = False
ReadOnly = True
Size.Width = 240.000000000000000000
end
object StringColumn6: TStringColumn
Header = 'Value'
HeaderSettings.TextSettings.WordWrap = False
ReadOnly = True
Size.Width = 400.000000000000000000
end
end
end
object tiOSInfo: TTabItem
WordWrap = False
Height = 23.000000000000000000
CustomIcon = <
item
end>
TextSettings.Trimming = None
IsSelected = False
Position.X = 208.000000000000000000
TabOrder = 2
Size.Width = 73.000000000000000000
Size.Height = 26.000000000000000000
Size.PlatformDefault = False
StyleLookup = ''
TabOrder = 0
Text = 'TPJOSInfo'
Width = 68.000000000000000000
ExplicitSize.cx = 50.000000000000000000
ExplicitSize.cy = 50.000000000000000000
object sgOSInfo: TStringGrid
Align = Client
CanFocus = True
ClipChildren = True
Size.Width = 672.000000000000000000
Size.Height = 466.000000000000000000
Size.PlatformDefault = False
TabOrder = 0
RowHeight = 21.000000000000000000
Options = [ColumnResize, ColumnMove, ColLines, RowLines, Tabs, Header, HeaderClick, AutoDisplacement]
OnResized = sgResized
Viewport.Width = 652.000000000000000000
Viewport.Height = 441.000000000000000000
object StringColumn3: TStringColumn
Header = 'Method'
HeaderSettings.TextSettings.WordWrap = False
ReadOnly = True
Size.Width = 240.000000000000000000
end
object StringColumn4: TStringColumn
Header = 'Value'
HeaderSettings.TextSettings.WordWrap = False
ReadOnly = True
Size.Width = 400.000000000000000000
end
end
end
object tiWin32Globals: TTabItem
WordWrap = False
Height = 23.000000000000000000
CustomIcon = <
item
end>
TextSettings.Trimming = None
IsSelected = False
Position.X = 276.000000000000000000
TabOrder = 3
Size.Width = 97.000000000000000000
Size.Height = 26.000000000000000000
Size.PlatformDefault = False
StyleLookup = ''
TabOrder = 0
Text = 'Win32 Globals'
Width = 90.000000000000000000
ExplicitSize.cx = 50.000000000000000000
ExplicitSize.cy = 50.000000000000000000
object sgWin32Globals: TStringGrid
Align = Client
CanFocus = True
ClipChildren = True
Size.Width = 672.000000000000000000
Size.Height = 466.000000000000000000
Size.PlatformDefault = False
TabOrder = 0
RowHeight = 21.000000000000000000
Options = [ColumnResize, ColumnMove, ColLines, RowLines, Tabs, Header, HeaderClick, AutoDisplacement]
OnResized = sgResized
Viewport.Width = 652.000000000000000000
Viewport.Height = 441.000000000000000000
object StringColumn7: TStringColumn
Header = 'Method'
HeaderSettings.TextSettings.WordWrap = False
ReadOnly = True
Size.Width = 240.000000000000000000
end
object StringColumn8: TStringColumn
Header = 'Value'
HeaderSettings.TextSettings.WordWrap = False
ReadOnly = True
Size.Width = 400.000000000000000000
end
end
end
end
end
Expand Down
Loading

0 comments on commit c1fd055

Please sign in to comment.