Запись данных в MEMO-поле

Программирование на Атлантисе (VIP, FCOM, ARD), FastReport

Модераторы: m0p3e, edward_K, Модераторы

Ответить
Espada
Местный житель
Сообщения: 336
Зарегистрирован: 07 май 2013, 17:32
Откуда: РБ, Минск

Запись данных в MEMO-поле

Сообщение Espada »

Доброго дня. обращаюсь к DocInfo.TExData, как к файлу. есть функция WriteLn(данные), но она перезаписывает данные. может есть альтернатива, или применение этой функции по другому, что бы данные ДОПИСЫВАЛИСЬ в конец, а не перезаписывались?
под каждым красивым павлиньим хвостом, скрывается самая обычная куриная жопа!!! так что меньше пафоса господа!!!
m0p3e
Местный житель
Сообщения: 1386
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Москва

Re: Запись данных в MEMO-поле

Сообщение m0p3e »

Предварительно курсор ставим в конец.

Код: Выделить всё

    MemoFile.Seek(MemoFile.GetSize);
    MemoFile.WriteLn(s);
Espada
Местный житель
Сообщения: 336
Зарегистрирован: 07 май 2013, 17:32
Откуда: РБ, Минск

Re: Запись данных в MEMO-поле

Сообщение Espada »

m0p3e писал(а):Предварительно курсор ставим в конец.

Код: Выделить всё

    MemoFile.Seek(MemoFile.GetSize);
    MemoFile.WriteLn(s);
а можно, что бы курсор позиционировался в конце строки после записи? сами мы окно ввода не открываем, запись происходит при нажатии на кнопку.
под каждым красивым павлиньим хвостом, скрывается самая обычная куриная жопа!!! так что меньше пафоса господа!!!
m0p3e
Местный житель
Сообщения: 1386
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Москва

Re: Запись данных в MEMO-поле

Сообщение m0p3e »

После записи он и так будет в последней позиции. Или не понял вопроса...
Функция дозаписывает данные в memo:

Код: Выделить всё

Function AddToMemo(c : comp; s : string) : boolean;
{
 cTabel := c;
 Result := false;
 _try
 {
  If GetFirst FastFirstRow Notes <> tsOk
   {
    ClearBuffer ( #Notes );
     Notes.Choice := 2007;
     Notes.Owner  := c;
    If Insert Current Notes <> tsOk 
       { exit };
   };
  var FileName : string;
  FileName := CreateTmpFileName;
  ExportMemoToFile(Notes.Note, FileName, false);
  MemoFile.OpenFile(FileName, stOpen);
  MemoFile.Seek(MemoFile.GetSize);
  MemoFile.WriteLn(s);
  MemoFile.Close;
  ImportFileToMemo(Notes.Note, FileName, false);
  If Update Current Notes = tsOk
    Result := true;
 };
 _finally
 {
  If MemoFile.Handle > 0
    MemoFile.Close;
 };
}; //Function AddToMemo
Ответить