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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.09.2011, 14:31   #1
Raikerian
Пользователь
 
Регистрация: 04.06.2011
Сообщений: 10
По умолчанию Путь в APPDATA

Как в паскале указать путь к Appdataбез пользователя. К примеру нужно взять картинку %APPDATA%/Microsoft/image1.png
Однако %APPDATA% паскаль не понимает в итоге нечего не находит. Нужно чтоб путь был без пользователя если скажем к примеру прийдется запустить прогу на другом компьютере.
Raikerian вне форума Ответить с цитированием
Старый 17.09.2011, 14:59   #2
JuniorProger
Форумчанин
 
Регистрация: 16.09.2011
Сообщений: 114
По умолчанию

Может поможет http://solidbase.karelia.ru/edu/zonna/5_pascal_9.htm
А APPDATA это Application Data? Если так, то я думаю что путь нужно писать полностью, ведь на компьютере может быть несколько пользователей и у каждого своя папка Application Data. Поэтому у какого пользователя он будет искать %APPDATA%/Microsoft/image1.png ?
JuniorProger вне форума Ответить с цитированием
Старый 17.09.2011, 15:10   #3
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Гугл, говорит, что так (для Delphi):
Код:
function AppDataDir: string;
begin
  SetLength(Result, MAX_PATH);
  SHGetSpecialFolderPath(0, PChar(Result), CSIDL_APPDATA, True);
  SetLength(Result, StrLen(PChar(Result)));
end;
http://msdn.microsoft.com/en-us/libr...(v=vs.85).aspx

Цитата:
Поэтому у какого пользователя он будет искать
У текущего пользователя.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.

Последний раз редактировалось Alex11223; 17.09.2011 в 15:16.
Alex11223 вне форума Ответить с цитированием
Старый 17.09.2011, 15:55   #4
Raikerian
Пользователь
 
Регистрация: 04.06.2011
Сообщений: 10
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
Гугл, говорит, что так (для Delphi):
Код:
function AppDataDir: string;
begin
  SetLength(Result, MAX_PATH);
  SHGetSpecialFolderPath(0, PChar(Result), CSIDL_APPDATA, True);
  SetLength(Result, StrLen(PChar(Result)));
end;
http://msdn.microsoft.com/en-us/libr...(v=vs.85).aspx


У текущего пользователя.
а для паскаля? и как тогда путь написать? C:\Users\ПЕРЕМЕННАЯ ПОЛЬЗОВАТЕЛЯ\Appdata что туда писать
Raikerian вне форума Ответить с цитированием
Старый 17.09.2011, 16:00   #5
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Какого Паскаля? Дельфи — Object Pascal. А вообще это функция ВинАпи.
Цитата:
C:\Users\ПЕРЕМЕННАЯ ПОЛЬЗОВАТЕЛЯ\Appdata что туда писать
Ну посмотри, что вернет. Это же строка.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.

Последний раз редактировалось Alex11223; 17.09.2011 в 16:02.
Alex11223 вне форума Ответить с цитированием
Старый 17.09.2011, 16:06   #6
Raikerian
Пользователь
 
Регистрация: 04.06.2011
Сообщений: 10
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
Какого Паскаля? Дельфи — Object Pascal. А вообще это функция ВинАпи.
Ну посмотри, что вернет. Это же строка.
паскаль не находит даже если имя писать. Поэтому основываясь на ту функцию как правильно путь задать?
Raikerian вне форума Ответить с цитированием
Старый 17.09.2011, 16:13   #7
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Что не находит? Путь? Функцию SHGetSpecialFolderPath? Какой Паскаль?(турбо/АБС/FPC)
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 17.09.2011, 16:18   #8
Raikerian
Пользователь
 
Регистрация: 04.06.2011
Сообщений: 10
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
Что не находит? Путь? Функцию SHGetSpecialFolderPath? Какой Паскаль?(турбо/АБС/FPC)
паскаль турбо. Не находит путь если имя пользователя вписать. Но мне собственно надо чтоб без имени к аппдате путь был.
Raikerian вне форума Ответить с цитированием
Старый 17.09.2011, 16:24   #9
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

А вообще работает (компилируется)? Куда и как имя вписывал? Что функция возвращает? Покажи код.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 17.09.2011, 16:31   #10
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
паскаль турбо.
В ТР используются ДЛС имена 8.3. в нем не получится так просто написать длинное имя. А вот если сократить его до такого типа: C:\Users\ПЕРЕМЕ~1\Appdata то может быть и получится если эта папка в списке первая с таким началом имени
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Путь до папки AppData в зависимости от Юзера Polotenchik Microsoft Office Word 5 13.06.2011 02:40
Путь к файлу. Sniperok Общие вопросы по Java, Java SE, Kotlin 2 12.08.2010 04:46
Путь к БД stscolt БД в Delphi 4 11.02.2010 17:15
Путь к AppData -=L.Morgan=- Общие вопросы Delphi 2 04.05.2009 21:12
Путь StartMis Общие вопросы Delphi 3 03.10.2008 14:45