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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 04.04.2010, 23:29   #1
GvR
Пользователь
 
Аватар для GvR
 
Регистрация: 03.11.2009
Сообщений: 29
Вопрос Имя системного диска

Всем привет!
Есть строка
Код:
Disc + '\ Documents and Settings \' + GetUserFromWindows + '\ Application Data \'
Нужна функция для Disc, то есть функция что бы узнать имя системного диска.
GvR вне форума Ответить с цитированием
Старый 04.04.2010, 23:34   #2
Slovinsky
Пользователь
 
Регистрация: 26.10.2007
Сообщений: 79
По умолчанию

А кто вам сказал, что директория будет называться '\ Documents and Settings \'? У меня на ноуте просто Documents ;-)
Весь путь, что вам нужен, можно получить с помощью функции SHGetSpecialFolderPath (параметр CSIDL_APPDATA)
http://www.delphilab.ru/content/view/160/85/
Slovinsky вне форума Ответить с цитированием
Старый 05.04.2010, 07:34   #3
MaxNik2009
Форумчанин
 
Аватар для MaxNik2009
 
Регистрация: 17.09.2009
Сообщений: 294
По умолчанию

Попробуй функцию
Код:
function GetEnvironmentVariable(const Name: string): string;
принимаю благодарности в письменном виде( весы слева)...
MaxNik2009 вне форума Ответить с цитированием
Старый 05.04.2010, 11:58   #4
Grag
А может и не...
Участник клуба
 
Аватар для Grag
 
Регистрация: 27.03.2010
Сообщений: 1,269
По умолчанию

В одной из своих программ я определяю системные папки Windows. Для этого мне было нужно определить где именно установлена Винда. Я использовал вот такую функцию
Код:
function GetWindowsFolder:string;
var
  WinDirP:PChar;
  Res:Cardinal;

begin
  WinDirP:=StrAlloc(MAX_PATH);
  Res:=GetWindowsDirectory(WinDirP, MAX_PATH);
  if Res>0 then
    Result:=StrPas(WinDirP)
end;
А уж системным будет тот диск, с которого запущена ОСь...
Перемешивай дело с бездельем и не сойдешь с ума...
Grag вне форума Ответить с цитированием
Старый 05.04.2010, 13:55   #5
bitSoft
Programming...
Форумчанин
 
Аватар для bitSoft
 
Регистрация: 13.03.2010
Сообщений: 198
По умолчанию

Цитата:
Сообщение от Grag Посмотреть сообщение
В одной из своих программ я определяю системные папки Windows. Для этого мне было нужно определить где именно установлена Винда. Я использовал вот такую функцию
Код:
function GetWindowsFolder:string;
var
  WinDirP:PChar;
  Res:Cardinal;

begin
  WinDirP:=StrAlloc(MAX_PATH);
  Res:=GetWindowsDirectory(WinDirP, MAX_PATH);
  if Res>0 then
    Result:=StrPas(WinDirP)
end;
А уж системным будет тот диск, с которого запущена ОСь...

+1, ExtractFileDrive

Код:
function GetSystemDrive:string;
var
  WinDirP:PChar;
  Res:Cardinal;
begin
  WinDirP:=StrAlloc(MAX_PATH);
  Res:=GetWindowsDirectory(WinDirP, MAX_PATH);
  if Res>0 then
    Result:=ExtractFileDrive(StrPas(WinDirP));
end;
Код:
With TProgrammersForum.Create do  AddNewTopic('Title','Content...');
bitSoft вне форума Ответить с цитированием
Старый 05.04.2010, 13:57   #6
Grag
А может и не...
Участник клуба
 
Аватар для Grag
 
Регистрация: 27.03.2010
Сообщений: 1,269
По умолчанию

Главное - натолкнуть на мысль... Иногда движение вперед - это результат пинка в зад...
Перемешивай дело с бездельем и не сойдешь с ума...
Grag вне форума Ответить с цитированием
Старый 12.04.2011, 22:05   #7
MotoArhangel
Пользователь
 
Регистрация: 25.02.2011
Сообщений: 51
По умолчанию

Вот может кому понравиться мой вариант))) Спасибо преподавателю, научил массивам)
Код:
var 
  WinDir:  array[0..MAX_PATH] of char;
  WinDrive:string;
begin
  GetWindowsDirectory(WinDir, sizeof(WinDir));
  WinDrive:=ExtractFileDrive(StrPas(WinDir));
end;

Последний раз редактировалось MotoArhangel; 12.04.2011 в 22:13.
MotoArhangel вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Узнать имя текущего пользователя и букву диска с запущенной Windows Vistar Общие вопросы .NET 1 02.12.2009 18:16
при запуске фотошопа он съедает 1Гб памяти с системного диска (:С), у меня там осталось всего 195Мб Deema Софт 2 15.06.2009 21:57
Динамик системного блока Михаил Юрьевич Общие вопросы Delphi 4 28.01.2008 18:31