Ταυτοποίηση λειτουργικού συστήματος

Η ταυτοποίηση του λειτουργικού συστήματος μπορεί να επιβεβαιωθεί με γλώσσα Python ή Basic.

note

Η ιδιότητα ComputerName είναι διαθέσιμη μόνο για Windows. Οι κλήσεις Basic στη βοήθεια μακροεντολών Python ξεπερνούν τους περιορισμούς Basic του Collabora Office.


Χρήση κλάσης Python:

""" the_module """
import os, platform
class Platform():
    @property
    def ComputerName(self): return platform.node()
    @property
    def DirSeparator(self): return os.sep
    @property
    def isLinux(self): return (self.OSName=='Linux')
    @property
    def isMacOSX(self): return (self.OSName=='Darwin')
    @property
    def isWindows(self): return (self.OSName=='Windows')
    @property
    def OSName(self): return platform.system()
    @property
    def PathDelimiter(self): return os.pathsep

Χρήση αρθρώματος κλάσης Basic:

tip

Λείπει η εγγενής αναγνώριση MacOS X στη Basic του Collabora Office. Η ταυτοποίηση του λειτουργικού συστήματος είναι δυνατή χρησιμοποιώντας τη διασύνδεση προγραμματισμού εφαρμογών (API) του Collabora Office.


Option Compatible
Option ClassModule
Option Explicit

Public Property Get ComputerName As String
    If isWindows Then ComputerName = Environ("ComputerName")
End Property ' Platform.ComputerName

Public Property Get DirSeparator As String
    DirSeparator = GetPathSeparator()
End Property ' Platform.DirSeparator

Public Property Get IsLinux As Boolean
    isLinux = ( GetGUIType()=4 ) ' Applies to macOS as well
End Property ' Platform.isLinux

Public Property Get IsMacOSX As Boolean
    isMacOSX = ( OSName="MAC" )
End Property ' Platform.isMacOSX

Public Property Get IsWindows As Boolean
    isWindows = ( GetGUIType()=1 )
End Property ' Platform.isWindows

Public Property Get OSName As String
    ' Επιστροφή ονόματος λειτουργικού συστήματος ως "MAC", "UNIX", "WIN"
    ' Συμπεραίνεται από τη συνάρτηση "Tools.UCB.ShowHelperDialog"
    With GlobalScope.Basiclibraries
        If Not .IsLibraryLoaded("Tools") Then .LoadLibrary("Tools")
    End With
    Dim keyNode As Object ' com.sun.star.configuration.ConfigurationAccess
    keyNode = Tools.Misc.GetRegistryKeyContent("org.openoffice.Office.Common/Help")
    OSName = keyNode.GetByName("System")
End Property ' Platform.OSName

Public Property Get PathDelimiter As String
    Select Case OSName
        Case "MAC", "UNIX" : PathDelimiter = ":"
        Case "WIN" : PathDelimiter = ";"
     End Select
End Property ' Platform.PathDelimiter

Παραδείγματα:

Με Python

>>> from < the_module > import Platform

>>> print(Platform().isMacOSX) # object property

True

>>> input(Platform().OSName) # object property

Darwin

Από μενού Εργαλεία – Μακροεντολές - Εκτέλεση μακροεντολής....

from < the_module > import Platform
import screen_io as ui
p = Platform()
ui.MsgBox(''.join(['isMacOS: ',str(p.isMacOSX)]),0,p.OSName)

Με Basic του Collabora Office

Sub Platform_example()
    Dim p As New Platform ' στιγμιότυπο κλάσης λειτουργικού συστήματος
    MsgBox p.isLinux ' ιδιότητα αντικειμένου
    Print p.isWindows, p.OSName ' ιδιότητες αντικειμένου
End Sub ' Platform_example

Παρακαλούμε, υποστηρίξτε μας!