Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 07.10.2010, 21:29
Ticksy Ticksy вне форума
Прохожий
 
Регистрация: 01.08.2010
Сообщения: 20
Репутация: 10
По умолчанию Как узнать путь к Application Data?

Как можно узнать пусть к папке Application Data текущего пользователя (для хранения там конфигурации программы)?

Использовал следующий код:
Код:
uses ShlObj;
 
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;

Но он выдает такую фигню:


Из-за чего так может быть? Какие еще могут быть способы (не требующие прав администратора) на том же WinApi? ОСь Windows 7, Delphi 2010.
Ответить с цитированием
  #2  
Старый 07.10.2010, 21:36
Аватар для Uniq!
Uniq! Uniq! вне форума
Местный
 
Регистрация: 29.09.2010
Сообщения: 539
Версия Delphi: Delphi XE3
Репутация: 374
По умолчанию

Советую посетить ресурс google с вопросом: Delphi Unicode
Или узнать константу AppData на языке WinApi у того же google

А это в наши ворота даже вписывается:

Поиск по форуму: дал ответ

Последний раз редактировалось Uniq!, 07.10.2010 в 21:39.
Ответить с цитированием
  #3  
Старый 07.10.2010, 21:54
Ticksy Ticksy вне форума
Прохожий
 
Регистрация: 01.08.2010
Сообщения: 20
Репутация: 10
По умолчанию

Цитата:
Сообщение от Uniq!
Советую посетить ресурс google с вопросом: Delphi Unicode
Или узнать константу AppData на языке WinApi у того же google

А это в наши ворота даже вписывается:

Поиск по форуму: дал ответ
Спасибо, буду смотреть ту тему. Просто нагуглился так, что отчаялся и решил задать вопрос.
Ответить с цитированием
  #4  
Старый 07.10.2010, 22:33
Grimm Grimm вне форума
Прохожий
 
Регистрация: 07.10.2010
Сообщения: 36
Репутация: 10
По умолчанию

%appdata% так в самой винде
Ответить с цитированием
  #5  
Старый 07.10.2010, 22:36
Аватар для Uniq!
Uniq! Uniq! вне форума
Местный
 
Регистрация: 29.09.2010
Сообщения: 539
Версия Delphi: Delphi XE3
Репутация: 374
По умолчанию

это CMD шная константа)
здесь речь идёт о программном коде её. я думаю в той теме автор найдёт ответы на все свои вопросы, там очень много полезного
Ответить с цитированием
  #6  
Старый 07.10.2010, 22:36
Аватар для Sky.NET
Sky.NET Sky.NET вне форума
Прохожий
 
Регистрация: 22.09.2010
Сообщения: 49
Версия Delphi: XE
Репутация: 12
По умолчанию

%AppData% - Указывает путь до папки Application Data текущего пользователя, в которой хранятся настройки некоторых программ.

Код:
function GetWin(Comand: string): string;
var
  buff: array [0 .. $FF] of char;
begin
  ExpandEnvironmentStrings(PChar(Comand), buff, SizeOf(buff));
  Result := buff;
end;

Edit1.Text := GetWin('%AppData%');
__________________
IDE := Embarcadero.RADStudio.XE.Architect
// Успешность метода научного тыка обратно пропорциональна извилистости головного мозга на кривизну рук ©
Ответить с цитированием
  #7  
Старый 07.10.2010, 23:36
Аватар для KOOL
KOOL KOOL вне форума
Активный
 
Регистрация: 06.01.2008
Адрес: Рязань
Сообщения: 306
Версия Delphi: 2009
Репутация: 6150
По умолчанию

Про Null-terminated string никогда не слышали?
Код:
SetLength(s, MAX_PATH);
ShlObj.SHGetSpecialFolderPath(0, @s[1], CSIDL, false);
SetLength(s, Pos(#0, s)-1);
__________________
РГРТУ - ФВТ - Системы Автоматизированного ПРоектирования. ت
Ответить с цитированием
Ответ


Delphi Sources

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

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 07:59.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter