Добрый день!
Как можно узнать язык интерфейса(русский/английский) в котором работает CATIA? Какая-то функция, прием... Это необходимо при вызове команд Catia.StartCommand("..."), для того чтобы CATIA не ругалась, что не знает такой команды.
Public Function GetLanguage() As String
Dim CatApp As INFITF.Application
Dim GenString As String
Dim XmlFile As Integer
On Error Resume Next
Set CatApp = GetObject(, "CATIA.Application")
GenString = """" & CatApp.Path & "\CATBatGenXMLSet.exe""" & " """ & App.Path & """" & " FrameGeneral"
CatApp.SystemService.ExecuteProcessus GenString
On Error Resume Next
Err.Clear
XmlFile = FreeFile
Open App.Path & "\FrameGeneral.xml" For Input As #XmlFile
If (Err.Number <> 0) Then
GetLanguage = "Error"
GoTo EndOpen
End If
' иначе - считывание языка из файла FrameGeneral.xml
Dim XmlString As String
Do While Not EOF(XmlFile)
Line Input #XmlFile, XmlString
If InStr(1, XmlString, "UserInterfaceLanguage", VbCompareMethod.vbTextCompare) > 0 Then
Line Input #XmlFile, XmlString
Exit Do
End If
Loop
Dim s1 As Integer
Dim s2 As Integer
Dim codeStr As String
s1 = InStr(1, XmlString, "<Value>", VbCompareMethod.vbTextCompare)
If s1 > 0 Then
s1 = s1 + Len("<Value>")
s2 = InStr(s1, XmlString, "</Value>", VbCompareMethod.vbTextCompare)
If s2 > 0 Then
codeStr = Mid(XmlString, s1, s2 - s1)
Select Case codeStr
Case 0
GetLanguage = "EnvironmentLanguage"
Case 714
GetLanguage = "English"
Case 598
GetLanguage = "French"
Case 602
GetLanguage = "German"
Case 706
GetLanguage = "Italian"
Case 807
GetLanguage = "Japanese"
Case 608
GetLanguage = "Korean"
Case 741
GetLanguage = "Russian"
Case 1828
GetLanguage = "SimplifiedChinese"
Case Else
GetLanguage = "UnknownLanguage"
End Select
End If
End If
EndOpen:
Close #XmlFile
Err.Clear
If CatApp.FileSystem.FileExists(App.Path & "\FrameGeneral.xml") Then CatApp.FileSystem.DeleteFile (App.Path & "\FrameGeneral.xml")
End Function
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1