Benutzername unter Mac OS X?

Antworten
Benutzeravatar
jwdietrich
Beiträge: 173
Registriert: Mo 20. Okt 2008, 20:50
OS, Lazarus, FPC: macOS 10.4-14.1, Windows 2000-11, Raspbian (L 3.7.0, FPC 3.2.2)
CPU-Target: PowerPC, Intel, ARM
Wohnort: Hattingen, NRW
Kontaktdaten:

Benutzername unter Mac OS X?

Beitrag von jwdietrich »

Wie kann ich den Namen des angemeldeteten Benutzers abfragen?

Unter Windows geht das ja relativ einfach mit

Code: Alles auswählen

var
  gUserName: String;
  arraySize: DWord;
 
begin
  GetUserName(UserName, arraySize);
  gUserName := String(UserName)
end;
aber am Mac ist das natürlich anders implementiert.

Leider bietet FreePascal offensichtlich keine entsprechende generische Funktion an. Oder habe ich die übersehen?

Benutzeravatar
theo
Beiträge: 10921
Registriert: Mo 11. Sep 2006, 19:01

Re: Benutzername unter Mac OS X?

Beitrag von theo »

GIDF
http://lists.lazarus.freepascal.org/pip ... 40821.html" onclick="window.open(this.href);return false;

Benutzeravatar
jwdietrich
Beiträge: 173
Registriert: Mo 20. Okt 2008, 20:50
OS, Lazarus, FPC: macOS 10.4-14.1, Windows 2000-11, Raspbian (L 3.7.0, FPC 3.2.2)
CPU-Target: PowerPC, Intel, ARM
Wohnort: Hattingen, NRW
Kontaktdaten:

Re: Benutzername unter Mac OS X?

Beitrag von jwdietrich »

Gerade habe ich eine Lösung gefunden, die plattformunabhängig funktioniert:

Code: Alles auswählen

var
  gUserName: String;
  arraySize: DWord;
 
begin
  {$IFDEF win32}
  GetUserName(UserName, arraySize);
  gUserName := String(UserName);
  {$ELSE}
  gUserName := GetEnvironmentVariable('USER');
  {$ENDIF}     
end;
Unter Windows wird also die Windows-Funktion GetUserName eingesetzt, auf allen anderen Plattformen die Umgebugnsvariable "USER". Am Mac funktioniert das wunderbar, es müsste auch unter Linux gehen, aber das habe ich noch nicht getestet.

Benutzeravatar
jwdietrich
Beiträge: 173
Registriert: Mo 20. Okt 2008, 20:50
OS, Lazarus, FPC: macOS 10.4-14.1, Windows 2000-11, Raspbian (L 3.7.0, FPC 3.2.2)
CPU-Target: PowerPC, Intel, ARM
Wohnort: Hattingen, NRW
Kontaktdaten:

Re: Benutzername unter Mac OS X?

Beitrag von jwdietrich »

theo hat geschrieben:GIDF
http://lists.lazarus.freepascal.org/pip ... 40821.html" onclick="window.open(this.href);return false;
Das ist eine andere Möglichkeit, ich weiß nicht, welche die bessere ist.

Benutzeravatar
theo
Beiträge: 10921
Registriert: Mo 11. Sep 2006, 19:01

Re: Benutzername unter Mac OS X?

Beitrag von theo »

Eigentlich ist

{$IFDEF win32}
...
{$ELSE}

nicht gut. Da fällt 64bit und WinCE unter ELSE.

http://www.freepascal.org/docs-html/prog/progap7.html" onclick="window.open(this.href);return false;

Wahrsch. wäre ifdef UNIX else der beste Weg.

Benutzeravatar
jwdietrich
Beiträge: 173
Registriert: Mo 20. Okt 2008, 20:50
OS, Lazarus, FPC: macOS 10.4-14.1, Windows 2000-11, Raspbian (L 3.7.0, FPC 3.2.2)
CPU-Target: PowerPC, Intel, ARM
Wohnort: Hattingen, NRW
Kontaktdaten:

Re: Benutzername unter Mac OS X?

Beitrag von jwdietrich »

theo hat geschrieben:Eigentlich ist

{$IFDEF win32}
...
{$ELSE}

nicht gut. Da fällt 64bit und WinCE unter ELSE.

http://www.freepascal.org/docs-html/prog/progap7.html" onclick="window.open(this.href);return false;

Wahrsch. wäre ifdef UNIX else der beste Weg.
Stimmt, das habe ich nicht bedacht!

Antworten