source: trunk/Include/Classes/System/OperatingSystem.ab@ 497

Last change on this file since 497 was 497, checked in by イグトランス (egtra), 16 years ago

インクルードガードとその他不要な前処理定義などの削除

File size: 2.0 KB
RevLine 
[208]1' Classes/System/OperatingSystem.ab
[142]2
3#require <Classes/System/Version.ab>
4
[258]5Namespace System
6
[142]7Class OperatingSystem
8 ' Inherits ICloneable', ISerializable
9Public
10 ' Constractor
[258]11 Sub OperatingSystem(platform As PlatformID, version As Version)
[142]12 pf = platform
13 ver = version
14 sp = ""
15 End Sub
16
[173]17 Sub OperatingSystem(vi As OSVERSIONINFOA)
[237]18 pf = vi.dwPlatformId As PlatformID
[258]19 ver = New Version(vi.dwMajorVersion, vi.dwMinorVersion, vi.dwBuildNumber)
[237]20 sp = New String(vi.szCSDVersion As PCSTR)
[142]21 End Sub
22
[173]23 Sub OperatingSystem(vi As OSVERSIONINFOW)
[237]24 pf = vi.dwPlatformId As PlatformID
[258]25 ver = New Version(vi.dwMajorVersion, vi.dwMinorVersion, vi.dwBuildNumber)
[237]26 sp = New String(vi.szCSDVersion As PCSTR)
[142]27 End Sub
28
29 ' Properties
30 Const Function Platform() As PlatformID
31 Return pf
32 End Function
33
[258]34 Const Function Version() As Version
[142]35 Return ver
36 End Function
37
38 Const Function ServicePack() As String
39 Return sp
40 End Function
41
42 Const Function VersionString() As String
43 Select Case pf
44 Case PlatformID.Win32S
45 VersionString = "Microsoft Win32S "
46 Case PlatformID.Win32Windows
47 VersionString = "Microsoft Windows "
48 Case PlatformID.Win32NT
49 VersionString = "Microsoft Windows NT "
50 Case PlatformID.WinCE
51 VersionString = "Microsoft Windows CE "
52 Case PlatformID.Unix
53 VersionString = "<unknown> "
54 End Select
55 VersionString = VersionString + ver.ToString
56 If String.IsNullOrEmpty(sp) <> False Then
57 VersionString = VersionString + " " + sp
58 End If
59 End Function
60
61 ' Methods
62 Override Function ToString() As String
63 Return VersionString
64 End Function
65
66 Override Function GetHashCode() As Long
67 Return pf.GetHashCode Xor ver.GetHashCode Xor sp.GetHashCode
68 End Function
69
70Private
71 pf As PlatformID
[258]72 ver As Version
[142]73 sp As String
74End Class
75
76Enum PlatformID
77 Win32S = VER_PLATFORM_WIN32s '0
78 Win32Windows = VER_PLATFORM_WIN32_WINDOWS '1
79 Win32NT = VER_PLATFORM_WIN32_NT '2
80 WinCE = VER_PLATFORM_WIN32_CE '3
81 Unix = 4
82End Enum
[175]83
[258]84End Namespace
Note: See TracBrowser for help on using the repository browser.