Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2009.03.29;
Скачать: [xml.tar.bz2];

Вниз

Узнать могу ли я создать файл в папке   Найти похожие ветки 

 
Oleg_teacher   (2009-01-28 13:29) [0]

Програма используєт временний файл ... возникают проблеми с возможностю создавать их (допустим  в папке с програмою не всегда подходит, увидел что в некоторых даже папка Temp заблокирована). Буду пробовать создавать в других системных папках ... Но вопрос в следующем ка проверить могу ли я в етой папке создавать... я делаю пока так :
win_temp:="путь к папке в которою пробую записать";
try
AssignFile(f,win_temp+"1.txt");
rewrite(f);
writeln(f,"good");
CloseFile(f);
DeleteFile(win_temp+"1.txt");
except
если ошибка создания то здесь код на другую папку ...
end;
правильно ли ето, есть ли проще способ?


 
Правильный$Вася   (2009-01-28 13:36) [1]

{I-}
rewrite
{I+}
if( IOResult ...


 
Правильный$Вася   (2009-01-28 13:38) [2]


> Буду пробовать создавать в других системных папках

вот этого не надо
лучше "%userprofile%\Local Settings\Application Data\" или "%userprofile%\Local Settings\temp"


 
Anatoly Podgoretsky ©   (2009-01-28 13:39) [3]

Если папка Temp заблокирована, то это конец Виндоус.

Код неправильный, нет обработки try finally


 
Oleg_teacher   (2009-01-28 16:25) [4]


> Если папка Temp заблокирована, то это конец Виндоус.

ищу папочку темп так:
win_temp:="";
try
p := GetEnvironmentStrings;
 while p^ <> #0 do
 begin
   if pos("temp=",LowerCase(StrPas(p)))=1 then win_temp:=StrPas(p);
   inc(p, lStrLen(p) + 1);
 end;
delete(win_temp,1,5);
except
end;

У одного чела ето оказалося: c:\windows\temp а под "гость" у хр туда нет доступа ...


 
Oleg_teacher   (2009-01-28 16:27) [5]


> вот этого не надо

так и думал в aplication data или общие документи, или мои документи


 
{RASkov} ©   (2009-01-28 16:36) [6]

> [4] Oleg_teacher   (28.01.09 16:25)
> У одного чела ето оказалося: c:\windows\temp а под "гость"
> у хр туда нет доступа ...

Папок "ТЕМП" может быть более одной....


> ищу папочку темп так:

Может лучше так:
GetEnvironmentVariable("TEMP")
GetEnvironmentVariable("TMP")
GetTempPath


 
{RASkov} ©   (2009-01-28 16:37) [7]

> Может лучше так:
> GetEnvironmentVariable("TEMP")
> GetEnvironmentVariable("TMP")
> GetTempPath

это три варианта :) Наверняка есть еще)


 
Anatoly Podgoretsky ©   (2009-01-28 16:40) [8]

> {RASkov}  (28.01.2009 16:36:06)  [6]

Только это GetTempPath


 
Oleg_teacher   (2009-01-28 16:41) [9]

попробую еще и с помощью SHGetSpecialFolderPath


 
Oleg_teacher   (2009-01-28 16:55) [10]


> Код неправильный, нет обработки try finally

а зачем finally, че то я не разобрался?


 
Anatoly Podgoretsky ©   (2009-01-28 17:02) [11]

> Oleg_teacher  (28.01.2009 16:41:09)  [9]

Если нужен TEMP текущего пользователя, то приведеных методов достаточно, но по сути SHGetSpecialFolderPath конечно так более квалифицировано.


 
Anatoly Podgoretsky ©   (2009-01-28 17:03) [12]

> Oleg_teacher  (28.01.2009 16:55:10)  [10]

Если будет ошибка, то кто файл будет закрывать?


 
Oleg_teacher   (2009-01-28 17:10) [13]


> Если будет ошибка, то кто файл будет закрывать?

согласен ...

> но по сути SHGetSpecialFolderPath конечно так более квалифицировано

то есть таким способом оптимальнее да?


 
Anatoly Podgoretsky ©   (2009-01-28 19:25) [14]

> Oleg_teacher  (28.01.2009 17:10:13)  [13]

Скажи, что такое оптимальнее? Я же говорил, что более квалифицировано, меньше сюрпризов в будущем.



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

Форум: "Начинающим";
Текущий архив: 2009.03.29;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.051 c
3-1217426639
kirillrepin
2008-07-30 18:03
2009.03.29
как в ДБГриде наименование в две строки?


2-1233182555
programmer90
2009-01-29 01:42
2009.03.29
Копирование TreeView-шных Item-ом


15-1232336105
Slider007
2009-01-19 06:35
2009.03.29
С днем рождения ! 17 января 2009 суббота


15-1232691373
Труп Васи Доброго
2009-01-23 09:16
2009.03.29
Поиск по "иерархической" БД


15-1232335816
Slider007
2009-01-19 06:30
2009.03.29
С днем рождения ! 19 января 2009 понедельник





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский