Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.03.13;
Скачать: CL | DM;

Вниз

Путь к временному каталогу Windows   Найти похожие ветки 

 
Антоныч   (2005-01-14 11:59) [0]

Привет всем!
Возник такой вопрос. Пытаюсь следующим образом путь к временному каталогу Windows:

var tmpPath: array[0..255] of char;
   WorkTempFolder: string;
begin
 GetTempPath(255,tmpPath);
 WorkTempFolder:=StrPas(tmpPath);
end;

так вот, затем в WorkTempFolder он хранится в виде "C:\DOCUME~1\ZHURAV~.SK\LOCALS~1\Temp".. Короче, в каком-то dos-виде. Далее программа отказывается работать с таким путем - когда необходимо копировать файлы, то пишет об ошибке. Может, существует другая API-функция, позволяющая получать системные каталоги? (смотрел инфу про SHGetSpecialFolderLocation - позволяет получать многие пути, но только не временной папки). Помогите плз найти выход!


 
Kerk ©   (2005-01-14 12:04) [1]

программе пофиг с каким путем работать.. в дос виде или нет. ошибка в другом


 
kaZaNoVa ©   (2005-01-14 12:04) [2]

function SysDir:String;
var
Buf:array[0..MAX_PATH] of Char;
begin
GetSystemDirectory(@buf, MAX_PATH+1);
Result := buf;
end;

function TempDir:String;
var
Buf:array[0..MAX_PATH] of Char;
begin
GetTempPath(MAX_PATH+1, @buf);
Result := buf;
end;


 
Антоныч   (2005-01-14 12:13) [3]

Спасибо, заработало. :). А может поясните вкратце, если не сложно, в чем ошибка-то?


 
Sumor   (2005-01-14 18:39) [4]

Я попробовал и так, и так - результат одинаковый.
Проблема возможно дальше, некоторые функции хотят строку с завершающим нулём, некоторые типа String, и главное не перепутать


 
Вариант ©   (2005-01-14 18:55) [5]

Пожалуйста:
function c_GetTempPath: string;
var
 Buffer: array[0..1023] of Char;
begin
 SetString(Result, Buffer, GetTempPath(Sizeof(Buffer) - 1, Buffer));
end;

И всё работает.


 
Sumor   (2005-01-14 20:22) [6]

В [4]: Результат одинаковый - читать как "оба варианта функции работали правильно" :)


 
Zuborob   (2005-01-29 13:04) [7]

А не проще ли через переменную-окружение?

ExpandEnvironmentStrings("%TEMP%", Stroka, 255);



Страницы: 1 вся ветка

Текущий архив: 2005.03.13;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.042 c
4-1106920907
grigory
2005-01-28 17:01
2005.03.13
Как пользоваться FindWindowEx?


4-1107258139
AlexG
2005-02-01 14:42
2005.03.13
Нужно перезаписать EXE-файл запущенной программы


1-1109521083
randomize
2005-02-27 19:18
2005.03.13
RSA - В Delphi


9-1102936665
FUNKy
2004-12-13 14:17
2005.03.13
Как узнать координаты под курсором GLScene


4-1107195222
Ландграф Павел
2005-01-31 21:13
2005.03.13
Ввести в поле чужой программы свой текст