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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 27.01.2012, 16:21   #1
NEoMASTERR
Форумчанин
 
Аватар для NEoMASTERR
 
Регистрация: 22.12.2010
Сообщений: 175
По умолчанию Перезаписать открытый файл

Добрый день. Как можно перезаписать файл который открыт чужим приложением?
Мне надо вынуть из файла текст, сохранить как пустой и всё. Помогите=) гугл не помог

Код:
var
  Str,str_: TStringList;
  FS: TFileStream;
...
  try
    FS := TFileStream.Create(edt1.text, fmOpenReadWrite or fmShareDenyNone);
    try
      str.LoadFromStream(FS);
    finally
      fs.WriteBuffer('',0);               // не работает((
      FS.Free;
    end;
  except
  end;
любая попытка перезаписать его через Rewrite или пустой TStringlist.savetofile приводят к ошибке открытия, т.к. файл занят чужим приложением, но через AkelPad я спокойно его могу сохранить пустым во время работы того приложения

сейчас изучаю исходник AkelPad'а но надеюсь тут мне помогут быстрее, к тому же исходник на C++ (
Здравствуйте

Последний раз редактировалось Stilet; 28.01.2012 в 08:43.
NEoMASTERR вне форума Ответить с цитированием
Старый 27.01.2012, 16:37   #2
NEoMASTERR
Форумчанин
 
Аватар для NEoMASTERR
 
Регистрация: 22.12.2010
Сообщений: 175
По умолчанию

Нашел решение
Код:
try
  FS := TFileStream.Create(edt1.text, fmOpenReadWrite or fmShareDenyNone);
  try
    str.LoadFromStream(FS);
    fs.Size:=0;
  finally
    FS.Free;
  end;
except
end;
Здравствуйте

Последний раз редактировалось Stilet; 28.01.2012 в 08:45.
NEoMASTERR вне форума Ответить с цитированием
Старый 28.01.2012, 08:30   #3
3D Hunter
Сумрачная тень
Форумчанин
 
Аватар для 3D Hunter
 
Регистрация: 05.03.2009
Сообщений: 689
По умолчанию

и в чем решение то?
"ковыряю изнутри" (с)
3D Hunter вне форума Ответить с цитированием
Старый 28.01.2012, 08:46   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
и в чем решение то?
В усечении: fs.Size:=0;
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как перезаписать VStream в IdHTTPProxyServer jskorvin Работа с сетью в Delphi 0 25.02.2011 00:09
Куда ворд сохраняет по умолчанию файл открытый из архива Nick K Софт 7 21.07.2010 08:55
Перезаписать файл werser Общие вопросы C/C++ 4 14.05.2010 01:27
Повредится ли файл открытый для мэпинга при внештатном выключении компьютера Altera Операционные системы общие вопросы 4 17.02.2010 15:59
как перезаписать звуковой файл? Lkhasa Win Api 1 17.07.2008 13:57