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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 05.04.2009, 22:21   #1
StartMis
Форумчанин
 
Регистрация: 21.04.2008
Сообщений: 175
По умолчанию FileSetAttr

Подскажите почему после пременения функции FileSetAttr('С:\1.txt',FaHidden); не возможно в него записывать данные. записывыю так
Memo1.Lines.SaveToFile('С:\1.txt')
StartMis вне форума Ответить с цитированием
Старый 05.04.2009, 22:32   #2
Ntlegend
Форумчанин
 
Аватар для Ntlegend
 
Регистрация: 12.05.2007
Сообщений: 373
По умолчанию

а Вам случайно не сообщение с текстом 'Cannot create file "С:\1.txt". Системе не удается найти указанный путь.' выбивает??

если да - то попробуйте переключить для начала расскладку клавиатуры на англ..

а именно Memo1.Lines.SaveToFile('C:\1.txt')
Перемен! - требуют наши сердца. Перемен! - требуют наши глаза.
В нашем смехе и в наших слезах, И в пульсации вен:
"Перемен!Мы ждем перемен!"

Последний раз редактировалось Ntlegend; 05.04.2009 в 22:37.
Ntlegend вне форума Ответить с цитированием
Старый 05.04.2009, 23:07   #3
StartMis
Форумчанин
 
Регистрация: 21.04.2008
Сообщений: 175
По умолчанию

Ntlegend случайно нет. возможно функция FileSetAttr задает атрибуты файлу только для чтения. тогда как от этого избавится. вообщем помогите кто может. ошибка:.....Отказано в доступе....

Последний раз редактировалось StartMis; 05.04.2009 в 23:16.
StartMis вне форума Ответить с цитированием
Старый 05.04.2009, 23:17   #4
Ntlegend
Форумчанин
 
Аватар для Ntlegend
 
Регистрация: 12.05.2007
Сообщений: 373
По умолчанию

почетайте про особенности этой функцыи под разными ОС.. у меня ВихХР СП2.. все работает нормально..

еще есть такой вариант что у вас в коде идут 2 строчки подряд
Код:
FileSetAttr('С:\1.txt',FaHidden);
Memo1.Lines.SaveToFile('С:\1.txt')
тогда очевидно что файл занят.. у него изменяются атребуты а Вы в это время пытаетесь чтото в него записать.. подождите немного (Sleep(100))
Перемен! - требуют наши сердца. Перемен! - требуют наши глаза.
В нашем смехе и в наших слезах, И в пульсации вен:
"Перемен!Мы ждем перемен!"
Ntlegend вне форума Ответить с цитированием
Старый 05.04.2009, 23:22   #5
StartMis
Форумчанин
 
Регистрация: 21.04.2008
Сообщений: 175
По умолчанию

не знаю может я много чего непонемаю но да же после перезагрузки проги в файл запись ну никак непрет. изменяеш атрибуты не на скрытый запись происходит. ну явно же он не занят.
StartMis вне форума Ответить с цитированием
Старый 05.04.2009, 23:46   #6
DomiNick
Студент, не
Старожил
 
Аватар для DomiNick
 
Регистрация: 29.01.2009
Сообщений: 2,067
По умолчанию

Цитата:
Сообщение от StartMis Посмотреть сообщение
Подскажите почему после пременения функции FileSetAttr('С:\1.txt',FaHidden); не возможно в него записывать данные. записывыю так
Memo1.Lines.SaveToFile('С:\1.txt')
Ну во-первых, Ntlegend абсолютно прав - в приведённой строчке "Memo1.Lines.SaveToFile('С:\1.txt') " символ "C" был русский...
Однако ж у меня тоже не сохраняется в "скрытый" файл - даже если вообще не писать "FileSetAttr", а вручную в проводнике сделать "C:\1.txt" скрытым - ошибка...

Почему так - не знаю... Даже как-то не замечал этого раньше - просто не было необходимости записывать именно в "скрытый" файл...
В принципе можно сделать так:
Код:
Procedure TForm1.Button1Click(Sender: TObject);
Begin
FileSetAttr('C:\1.txt', 128);
Memo1.Lines.SaveToFile('C:\1.txt');
FileSetAttr('C:\1.txt', 2);
End;
I am the First of Cyber Evolution...
I am the First to Program your Future...
DomiNick вне форума Ответить с цитированием
Старый 05.04.2009, 23:56   #7
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

разве это не логично, что нельзя просто так записать в скрытый файл ?
Для записи вам необходимо получить соответствующие привелегии, кстати, в справке об этом как раз и напиано.
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Ответ


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