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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.03.2012, 09:32   #1
mxroman
Пользователь
 
Регистрация: 30.05.2009
Сообщений: 24
По умолчанию из Edit в блокнот

Привет, такая задача чтобы из Edit записывалась информация в блокнот, но только с добавлением к уже имеющейся информацией, мне надо чтобы логи записывались...

Код:
  direct:='C:\SUMP1\bin\log.txt';
      AssignFile(connect.connect_file, direct);
      Rewrite(connect.connect_file);
      Reset(connect.connect_file);
      Append(connect.connect_file);
      Writeln(connect.connect_file, edt1.Text);
      Flush(connect.connect_file);
      CloseFile(connect.connect_file);
Вот кусок, но это с заменой, а как сделать чтобы записывалось постоянно с новой строчки
mxroman вне форума Ответить с цитированием
Старый 02.03.2012, 10:12   #2
mxroman
Пользователь
 
Регистрация: 30.05.2009
Сообщений: 24
По умолчанию

Код:
  direct:='C:\SUMP1\bin\log.txt';
      AssignFile(connect.connect_file, direct);
      //Rewrite(connect.connect_file);
      Reset(connect.connect_file);
      Append(connect.connect_file);
      Writeln(connect.connect_file, edt1.Text);
      Flush(connect.connect_file);
      CloseFile(connect.connect_file);
надо было просто 3 строчку убрать т.к. указатель уст вначало)))
mxroman вне форума Ответить с цитированием
Старый 02.03.2012, 10:38   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

и reset тоже выкиньте напрочь!

а ещё лучше (надёжней) написать так:
Код:
  direct:='C:\SUMP1\bin\log.txt';
  AssignFile(connect.connect_file, direct);
  try
    try
      if FileExists(Имя) 
         then Append(connect.connect_file)
         else Rewrite(connect.connect_file);
      Writeln(connect.connect_file, edt1.Text);
      Flush(connect.connect_file);
    except
      ShowMessage('Ошибка при записи в файл '+direct);
    end;
  finally
    CloseFile(connect.connect_file);
  end;
если файл есть - то он откроется на добавление, если нет - будет создан!


p.s. имхо, Flush() - это наследие мрачных времён, когда программа реально могла сама держать данные в буфере в оперативной памяти. сейчас этим всем занимается ядро ввода/вывода Windows, поэтому эту строчку можно выкинуть.. она никакой полезной нагрузки не несёт. имхо, конечно.

Последний раз редактировалось Serge_Bliznykov; 02.03.2012 в 10:45.
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Блокнот ZvEr_HaCkEr Общие вопросы Delphi 4 16.07.2010 16:23
блокнот Алёна Помощь студентам 1 22.06.2010 12:51
блокнот Neymexa Общие вопросы по Java, Java SE, Kotlin 10 10.04.2009 09:00
Блокнот Neymexa Общие вопросы по Java, Java SE, Kotlin 1 28.02.2009 18:04
Блокнот by GN GN_ Софт 11 09.06.2007 19:43