профиль пользователя

Вопросы программирования и использования среды Lazarus.

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

Ответить
Аватара пользователя
grigoreo
постоялец
Сообщения: 195
Зарегистрирован: 10.03.2009 14:43:43
Откуда: С нашей Раши

профиль пользователя

Сообщение grigoreo »

Уважаемые форумчане подскажите кто как кросплатформенно опеределяет профиль пользователя(в смысле путь до его домашней папки)?
Аватара пользователя
coyot.rush
постоялец
Сообщения: 309
Зарегистрирован: 14.08.2009 08:59:48

Сообщение coyot.rush »

Я делаю так

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

function get_home_path():string;
var
home:string;
begin
{$IFDEF LINUX}
Home:=GetEnvironmentVariable('HOME');
if home<>'' then
result:=home;
else
Result:= '';
{$ENDIF}
{$ifdef windows}
SetLength(home,MAX_PATH);
if shfolder.SHGetFolderPath(0,CSIDL_LOCAL_APPDATA,0,0,PChar(home))=0 then
 begin
 Result=Pchar(home)
 end
 else
 Result := ''; 
{$endif}
end;
Padre_Mortius
энтузиаст
Сообщения: 1265
Зарегистрирован: 29.05.2007 17:38:07
Откуда: Спб

Сообщение Padre_Mortius »

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

{$IFDEF LINUX}
Home:=GetEnvironmentVariable('HOME');
{$endif}
{$ifdef windows}
Home:=GetEnvironmentVariable('USERPROFILE')
{$endif}
Аватара пользователя
grigoreo
постоялец
Сообщения: 195
Зарегистрирован: 10.03.2009 14:43:43
Откуда: С нашей Раши

Сообщение grigoreo »

Padre_Mortius писал(а):

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

{$IFDEF LINUX}
Home:=GetEnvironmentVariable('HOME');
{$endif}
{$ifdef windows}
Home:=GetEnvironmentVariable('USERPROFILE')
{$endif}


этот пример лаконично короткий)), возьмем его за основу , спасибо всем за советы
Аватара пользователя
alexs
долгожитель
Сообщения: 4066
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь
Контактная информация:

Сообщение alexs »

Для винды не забудь использовать функцию SysToUTF8 - чтобы потом небыло глупых вопрос про профиль с русскими буквами.
Ответить