Форум: "Основная";
Текущий архив: 2004.06.06;
Скачать: [xml.tar.bz2];
ВнизНайти temp Найти похожие ветки
← →
*Pavel © (2004-05-21 11:35) [0]Для этих целей использую функцию:
GetEnvironmentVariable("temp")
Но у меня для Clipper совместимости в W2k "Переменные среды пользователя для Администратор" указано
переменная значение
TEMP C:\TEMP
Я так думаю, что это будет это работать и на W95-98, если в autoexec"e прописано SET TEMP = C:\TEMP.
Вопрос: что будет, если эта переменная явно не указана, будет ли в таком случае использоваться папка временных файлов самой Windows (C:\Windows\temp)?
← →
Sandman25+1 (2004-05-21 11:39) [1]Я думаю будет правильно анализировать результат GetEnvironmentVariable("temp") и если переменная не установлена, то использовать временный каталог Windows, который тоже можно найти программно. Только не помню, какой функцией :)
← →
ламер © (2004-05-21 11:58) [2]GetTempPath()
← →
Anatoly Podgoretsky © (2004-05-21 12:19) [3]Можно и не найти, я пару раз давал ссылку на проблемы с данной папкой, переменными среды и функцией. Вот еще раз
http://podgoretsky.com/ftp/Language/nps/ru.delphi.html#N130
← →
Rem (2004-05-21 13:15) [4]%TEMP%
← →
Anatoly Podgoretsky © (2004-05-21 13:40) [5]Rem (21.05.04 13:15) [4]
Может отсутствовать, может иметь не достоверное значение.
← →
VLAD-MAL (2004-05-21 13:54) [6]Ну, типа:
---------
function TForm1.NewTmpFile: String;
var tmpFileName : PAnsiChar ;
buffer : array [0..255] of Char;
begin
tmpFileName := buffer;
GetTempPath(255, tmpFileName);
GetTempFileName(buffer, "$$$", 0, buffer);
Result := tmpFileName;
end;
← →
Sandman25+1 (2004-05-21 14:03) [7][6] VLAD-MAL (21.05.04 13:54)
Ни в коем случае. Result указывает на локальную переменную в стеке.
← →
ламер © (2004-05-21 17:14) [8]> Sandman25+1 (21.05.04 14:03) [7]
вы ошибаетесь. Result НЕ указывает на локальную переменную в стеке.
← →
ламер © (2004-05-21 17:18) [9]> VLAD-MAL (21.05.04 13:54) [6]
переменная tmpFileName не нужна. можно писать просто:
GetTempPath(255, buffer);
← →
VLAD-MAL (2004-05-21 17:21) [10]Ну, какие все внимательные... А мне вот на выходе нужен был именно tmp - файл в tmp - каталоге!
← →
WebErr © (2004-05-21 17:25) [11]Какие грамотные нынче пошли ламера! ... 8\
← →
Sandman25+1 (2004-05-21 17:26) [12][8] ламер © (21.05.04 17:14)
Возможно, я и ошибаюсь. Тогда было бы очень полезно узнать, в чем именно.
1) tmpFileName := buffer;
tmpFileName указывает на стек
2)
GetTempPath(255, tmpFileName);
функция пишет по адресу tmpFileName. Значение переменной tmpFileName не меняется. Могут измениться buffer[0] и т.д.
3)
GetTempFileName(buffer, "$$$", 0, buffer);
функция пишет по адресу buffer (4 параметр). Значение переменной buffer не меняется. Могут измениться buffer[0] и т.д.
4)
Result := tmpFileName;
Result присваивается указатель на стек.
PS. Вы не могли бы сменить ник? Не очень приятно окажется, если мне ламер докажет, что он прав, а я нет :)
← →
Anatoly Podgoretsky © (2004-05-21 17:30) [13]Sandman25+1 (21.05.04 17:26) [12]
Ошибаешься S := P приводит к копированию данных.
Придется тебе смириться, это он прикалывается над ветками об ламерах :-)
← →
Sandman25+1 (2004-05-21 17:33) [14][13] Anatoly Podgoretsky © (21.05.04 17:30)
Можно разжевать для непонятливых насчет S и P?
У меня с чувством юмора не очень сегодня.
← →
Anatoly Podgoretsky © (2004-05-21 17:33) [15]Но у него не пройдет, ламер это не имя а вил жизни
← →
Anatoly Podgoretsky © (2004-05-21 17:34) [16]Sandman25+1 (21.05.04 17:33) [14]
Присвоение PChar (tmpFileName) переменнной типа string (Result)
← →
Sandman25+1 (2004-05-21 17:39) [17][16] Anatoly Podgoretsky © (21.05.04 17:34)
М-да. Чего-то я прочитал, что функция возвращает PChar :(
Вы и ламер(с) правы
← →
Anatoly Podgoretsky © (2004-05-21 17:40) [18]Это ничего, что я три н подряд написал?
← →
VLAD-MAL (2004-05-21 17:42) [19]Интересно, а как нужно, если как у меня - не работает (оказывается! - хотя не жаловался раньше...)?
← →
Sandman25+1 (2004-05-21 17:45) [20][18] Anatoly Podgoretsky © (21.05.04 17:40)
А я и не заметил. Все, надо отдохнуть, завтра на работу из принципа не пойду :)
Ладно, прекращаю флудить.
← →
VLAD-MAL (2004-05-21 17:49) [21]Завтра - суббота. Спать до обеда. А послезавтра - на рыбалку. Если погода.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.06.06;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.032 c