Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.01.2010, 20:45   #1
Betty
Пользователь
 
Регистрация: 19.04.2009
Сообщений: 76
Вопрос Как узнать имя юзера

Здравствуйте. Помогите мне пожалуйста.
c:\Users\Имя пользователя\AppData\
Как узнать «Имя пользователя» чтобы перейти по ссылке.
Проблема в том что на всех компьютерах имена разные
Betty вне форума Ответить с цитированием
Старый 06.01.2010, 20:53   #2
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,742
По умолчанию

в delphi есть возможность получить пути к спецпапкам (поиск по форуму)...
Код:
const CSIDL_APPDATA = $001a;

function GetSpecialPath(CSIDL: word): string;
var s:  string;
begin
  SetLength(s, MAX_PATH);
  if not SHGetSpecialFolderPath(0, PChar(s), CSIDL, true)
  then s := GetSpecialPath(CSIDL_APPDATA);
  result := PChar(s);
end;
собственно, загляните в модуль- ShlObj.
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 06.01.2010, 20:54   #3
Kotofff
Участник клуба
 
Аватар для Kotofff
 
Регистрация: 11.01.2009
Сообщений: 1,917
По умолчанию

К примеру, есть такая функция получения пути к системным папкам :
Код:
function GetSpecialPath(CSIDL: word): string;
var s:  string;
begin
  SetLength(s, MAX_PATH);
  if not SHGetSpecialFolderPath(0, PChar(s), CSIDL, true)
  then s := '';
  result := PChar(s);
end;
Ее аргумент - в прилагаемом файле или тут : http://www.delphilab.ru/content/view/160/85/
Тебя интересует аргумент : CSIDL_APPDATA эквивалент которому число $001a.

raxp, я не специально. Прости !
Вложения
Тип файла: txt CSIDL.txt (6.8 Кб, 148 просмотров)
"Заряженному танку в дуло не смотрят" @Dekmer in WoT

Последний раз редактировалось Kotofff; 06.01.2010 в 20:56.
Kotofff вне форума Ответить с цитированием
Старый 06.01.2010, 21:18   #4
Betty
Пользователь
 
Регистрация: 19.04.2009
Сообщений: 76
По умолчанию

извиняюсь за тупость.
а как её вызвать, а то s=''
Betty вне форума Ответить с цитированием
Старый 07.01.2010, 10:50   #5
Kotofff
Участник клуба
 
Аватар для Kotofff
 
Регистрация: 11.01.2009
Сообщений: 1,917
По умолчанию

Пропиши ее в секции implementation главного модуля своей программы и просто используй ...
Код:
uses ShlObj; // Должно присутствовать обязательно!!!
......

......

var
  Form1: TForm1;

implementation
{$R *.dfm}

function GetSpecialPath(CSIDL: word): string;
var s:  string;
begin
  SetLength(s, MAX_PATH);
  if not SHGetSpecialFolderPath(0, PChar(s), CSIDL, true)
  then s := '';
  result := PChar(s);
end;

.....

.....
И где-нибудь далее в модуле :
Код:
s := GetSpecialPath(26);
// 26 = $001a и равно CSIDL_APPDATA - той самой константе которая описана в ShlObj.pas (как сказал raxp )
"Заряженному танку в дуло не смотрят" @Dekmer in WoT
Kotofff вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как узнать имя button BuT@JL Общие вопросы Delphi 7 19.08.2009 10:42
Как узнать имя залогинившегося пользователя? Stilet JavaScript, Ajax 5 13.08.2009 23:02
Узнать имя запущенного браузера Killer_djon Общие вопросы Delphi 13 28.04.2009 16:01
Как узнать имя кнопки? LeGAl Microsoft Office Excel 1 10.03.2009 00:04
Как узнать имя файла??? Shurik Hacker Работа с сетью в Delphi 3 20.11.2007 17:06