Получить имя текущего пользователя в Linux

Вопросы программирования на Free Pascal, использования компилятора и утилит.

Модератор: Модераторы

Получить имя текущего пользователя в Linux

Сообщение vay » 07.07.2009 15:47:12

Всем доброго дня. Как получить имя текущего пользователя в Linux аналогично Windows.GetUserName

Спасибо
vay
новенький
 
Сообщения: 22
Зарегистрирован: 06.07.2009 17:56:46

Re: Получить имя текущего пользователя в Linux

Сообщение serg_iv » 07.07.2009 16:20:41

консольная команда - whoami
можно через TProcess.
например:

Код: Выделить всё
user:string;

   S:=TProcess.Create(Nil);
  S.Commandline:='whoami';
  S.Options:=[poUsePipes,poNoConsole];
  S.execute;
  Repeat
    Count:=s.output.read(buf,BufSize);
    // reverse print for fun.
    For I:=1 to count do
      user:=user + buf[i];
  until Count=0;
serg_iv
постоялец
 
Сообщения: 276
Зарегистрирован: 15.10.2005 18:45:46
Откуда: Миасс

Re: Получить имя текущего пользователя в Linux

Сообщение vay » 07.07.2009 16:33:27

консоль это одно решение. Запомню. А через вызов метода невозможно? а то консоль, распарсивание результата, много вариантов...
vay
новенький
 
Сообщения: 22
Зарегистрирован: 06.07.2009 17:56:46

Re: Получить имя текущего пользователя в Linux

Сообщение svk12 » 07.07.2009 16:55:55

Код: Выделить всё
function GetEnvironmentVariable(

  const EnvVar: String

):String;


Под виндой EnvVar:='USERNAME',
по Линухом EnvVar:='LOGNAME'
svk12
постоялец
 
Сообщения: 408
Зарегистрирован: 09.06.2008 18:42:47

Re: Получить имя текущего пользователя в Linux

Сообщение vay » 07.07.2009 17:10:10

спасибо
vay
новенький
 
Сообщения: 22
Зарегистрирован: 06.07.2009 17:56:46


Вернуться в Free Pascal Compiler

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4

Рейтинг@Mail.ru