source: trunk/ab5.0/ablib/src/Classes/System/OperatingSystem.ab@ 531

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

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

File size: 2.0 KB
Line 
1' Classes/System/OperatingSystem.ab
2
3#require <Classes/System/Version.ab>
4
5Namespace System
6
7Class OperatingSystem
8 ' Inherits ICloneable', ISerializable
9Public
10 ' Constractor
11 Sub OperatingSystem(platform As PlatformID, version As Version)
12 pf = platform
13 ver = version
14 sp = ""
15 End Sub
16
17 Sub OperatingSystem(vi As OSVERSIONINFOA)
18 pf = vi.dwPlatformId As PlatformID
19 ver = New Version(vi.dwMajorVersion, vi.dwMinorVersion, vi.dwBuildNumber)
20 sp = New String(vi.szCSDVersion As PCSTR)
21 End Sub
22
23 Sub OperatingSystem(vi As OSVERSIONINFOW)
24 pf = vi.dwPlatformId As PlatformID
25 ver = New Version(vi.dwMajorVersion, vi.dwMinorVersion, vi.dwBuildNumber)
26 sp = New String(vi.szCSDVersion As PCSTR)
27 End Sub
28
29 ' Properties
30 Const Function Platform() As PlatformID
31 Return pf
32 End Function
33
34 Const Function Version() As Version
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
72 ver As Version
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
83
84End Namespace
Note: See TracBrowser for help on using the repository browser.