Benutzername unter Mac OS X?

Benutzername unter Mac OS X?

Beitragvon jwdietrich » 16. Jan 2010, 14:38 Benutzername unter Mac OS X?

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?
jwdietrich
 
Beiträge: 137
Registriert: 20. Okt 2008, 19:50
Wohnort: Hattingen, NRW
OS, Lazarus, FPC: Mac OS X 10.4-10.14, Windows 2000-8, SUSE, Ubuntu, Raspbian (L 2.0.6, FPC 3.0.4) | 
CPU-Target: PowerPC, Intel, ARM
Nach oben

Beitragvon theo » 16. Jan 2010, 14:52 Re: Benutzername unter Mac OS X?

theo
 
Beiträge: 8241
Registriert: 11. Sep 2006, 18:01

Beitragvon jwdietrich » 16. Jan 2010, 14:57 Re: Benutzername unter Mac OS X?

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.
jwdietrich
 
Beiträge: 137
Registriert: 20. Okt 2008, 19:50
Wohnort: Hattingen, NRW
OS, Lazarus, FPC: Mac OS X 10.4-10.14, Windows 2000-8, SUSE, Ubuntu, Raspbian (L 2.0.6, FPC 3.0.4) | 
CPU-Target: PowerPC, Intel, ARM
Nach oben

Beitragvon jwdietrich » 16. Jan 2010, 15:01 Re: Benutzername unter Mac OS X?



Das ist eine andere Möglichkeit, ich weiß nicht, welche die bessere ist.
jwdietrich
 
Beiträge: 137
Registriert: 20. Okt 2008, 19:50
Wohnort: Hattingen, NRW
OS, Lazarus, FPC: Mac OS X 10.4-10.14, Windows 2000-8, SUSE, Ubuntu, Raspbian (L 2.0.6, FPC 3.0.4) | 
CPU-Target: PowerPC, Intel, ARM
Nach oben

Beitragvon theo » 16. Jan 2010, 15:18 Re: Benutzername unter Mac OS X?

Eigentlich ist

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

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

http://www.freepascal.org/docs-html/prog/progap7.html

Wahrsch. wäre ifdef UNIX else der beste Weg.
theo
 
Beiträge: 8241
Registriert: 11. Sep 2006, 18:01

Beitragvon jwdietrich » 16. Jan 2010, 15:45 Re: Benutzername unter Mac OS X?

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

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


Stimmt, das habe ich nicht bedacht!
jwdietrich
 
Beiträge: 137
Registriert: 20. Okt 2008, 19:50
Wohnort: Hattingen, NRW
OS, Lazarus, FPC: Mac OS X 10.4-10.14, Windows 2000-8, SUSE, Ubuntu, Raspbian (L 2.0.6, FPC 3.0.4) | 
CPU-Target: PowerPC, Intel, ARM
Nach oben

• Themenende •

Zurück zu MacOS



Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast

porpoises-institution
accuracy-worried