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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 18.11.2012, 19:45   #1
GrabbeR
Пользователь
 
Регистрация: 17.03.2010
Сообщений: 43
По умолчанию RichEdit - дозапись в файл

В файл перезаписывает данные, как сделать, чтобы дозаписывал?

Код:
var
F: TextFile;
begin
  try
    RichEdit1.Lines.SaveToFile('Log.txt');
    AssignFile(F,'Log.txt');
    Append(f);
    CloseFile(f);
    except
   //Button1Click(Sender);
  end;
end;
GrabbeR вне форума Ответить с цитированием
Старый 18.11.2012, 20:28   #2
phomm
personality
Старожил
 
Аватар для phomm
 
Регистрация: 28.04.2009
Сообщений: 2,885
По умолчанию

Потоки (TStream) изучите.
Примерно так:
Код:
var
Fs: TFileStream;
begin
  fs := TfileStream.Create('Log.txt'); // создаём поток и грузим файл
  try
    Fs.Seek(0, soFromEnd);  // промотаем в конец файла  
    RichEdit1.Lines.SaveToStream(fs); // записываем из ричэдита в поток
  finally
    fs.Free; // прибиваем поток, при этом файл сохранится на диск
end;
phomm вне форума Ответить с цитированием
Старый 19.11.2012, 00:01   #3
GrabbeR
Пользователь
 
Регистрация: 17.03.2010
Сообщений: 43
По умолчанию

спасибо, нашел другой метод!
GrabbeR вне форума Ответить с цитированием
Старый 19.11.2012, 00:33   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
спасибо, нашел другой метод!
Мучает любопытство. Другой какой? То что phomm предложил наиболее прозрачно и эффективно. Да и код короче уже не сделаешь. ИМХО
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 19.11.2012, 02:33   #5
GrabbeR
Пользователь
 
Регистрация: 17.03.2010
Сообщений: 43
По умолчанию

Код:
var
  f: TextFile;
  i: Integer;
begin
  AssignFile(f, 'Log');
  if FileExists('Log') then
    Append(f)
  else
    Rewrite(f);
  try
    for i := 0 to RichEdit1.Lines.Count - 1 do
      Writeln(f, RichEdit1.Lines[i]);
  finally
    CloseFile(f);
  end;
  end;
GrabbeR вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Дозапись в бинарный файл Стремящийся Общие вопросы C/C++ 4 31.07.2012 12:16
Дозапись в файл cezer Общие вопросы Delphi 8 14.06.2012 22:45
Дозапись в текстовый файл Lui C++ Builder 0 29.05.2012 16:46
Дозапись данных в файл DarkDeidara Помощь студентам 6 18.05.2011 10:23
дозапись в файл Djaconda Общие вопросы C/C++ 1 04.06.2008 23:52