Buchempfehlung
Windows-Programmierung. Das Entwicklerhandbuch zur WIN32-API
Windows-Programmierung. Das Entwicklerhandbuch zur WIN32-API
"Der" Petzold, das über 1000 Seiten starke Standardwerk zum Win32-API - besonders nützlich u. a. bei der GUI-Programmierung in FreeBASIC! [Mehr Infos...]
FreeBASIC-Chat
Es sind Benutzer im FreeBASIC-Chat online.
(Stand:  )
FreeBASIC bei Twitter
Twitter FreeBASIC-Nachrichten jetzt auch über Twitter erhalten. Follow us!

Code-Beispiel

Code-Beispiele » System

Welche Systemsprache ist eingestellt (Windows / Linux)

Lizenz:Erster Autor:Letzte Bearbeitung:
k. A.RedakteurJojo 16.12.2008

Unter Windows kann man mit dem WinAPI-Befehl Externer Link!GetLocaleInfo diverse Informationen über die gewählte Systemsprache erhalten, unter Linux mithilfe des Shell-Befehls Externer Link!locale. Man kann mit beiden Befehlen den Namen der Sprache, das Land, in dem der Rechner steht und vieles mehr erfahren, dieses Beispiel beschränkt sich aber auf das Herausfinden des Kürzels der Systemsprache, da dieses auf beiden Systemen übereinstimmen sollte (z.B. "de" für Deutsch). Somit ist am meisten Plattformunabhängigkeit gewährleistet.

Dim langcode As String

#If Defined(__FB_WIN32__)

Declare Function GetLocaleInfo Lib "kernel32" Alias "GetLocaleInfoA" (ByVal As Integer, ByVal As Integer, ByVal As String, ByVal As Integer) As Integer

Scope

Dim sBuffer As String * 32, nResult As Integer

nResult = GetLocaleInfo(&h800, &h59, sBuffer, 32)

If nResult > 0 Then
    langcode =  Left(sBuffer, nResult - 1)
End If

End Scope

#ElseIf Defined(__FB_LINUX__)

Scope

Dim ff As Integer = FreeFile
Open Pipe "locale" For Input As ff

Dim sRetVal As String

Do Until EOF(ff)
    Line Input #ff, sRetVal
    If LCase(Left(sRetVal, 5)) = "lang=" Then
        langcode = LCase(Mid(sRetVal, 6))
        If InStr(langcode, "_") Then ' Schema: de_DE
            langcode = Left(langcode, InStr(langcode, "_") - 1)
        EndIf
        Exit Do
    EndIf
Loop

Close #ff

End Scope

#EndIf

Print "Das Kürzel der Systemsprache ist: " & langcode

Zusätzliche Informationen und Funktionen
  • Das Code-Beispiel wurde am 16.12.2008 von RedakteurJojo angelegt.
  • Die aktuellste Version wurde am 16.12.2008 von RedakteurJojo gespeichert.
  Bearbeiten Bearbeiten  

  Versionen Versionen