Сохранение историй из TMemo

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Аватара пользователя
VirtUX
энтузиаст
Сообщения: 880
Зарегистрирован: 05.02.2008 09:52:19
Откуда: Крым, Алушта

Сообщение VirtUX »

Я делал "логи" таким способом:
Имеем: TEdit и TListBox (для однострочных команд, для многострочных - вместо TEdit берем TMemo)
Действие: пишем в TEdit (TMemo) команду и по (OnKeyPress |if ord(Key)=13 then|) добавлял дату со временем (S := DateTimeToStr(Now) + TEdit.Text;) в TListBox для текущего отображения истории или сразу катаем в текстовый файл. Можно катать и в типизированный в виде record типа:

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

type 
  TLogFile = record
                     RDateTime: TDateTime;
                     RCom: string;
                  end;

var
  f: file of TLogFile;
Можно и одновременно в список и в файл. Причем тип файла и метод записи - не важен. Главное, чтоб была инфа о времени действия и "тело" самого действия...
Аватара пользователя
GAMER
энтузиаст
Сообщения: 627
Зарегистрирован: 06.08.2008 13:41:07
Откуда: Ужгород-Днепр, Украина
Контактная информация:

Сообщение GAMER »

VirtUX писал(а):Я делал "логи" таким способом:
TLogFile = record
RDateTime: TDateTime;
RCom: string;
end;

var
f: file of TLogFile;

Для Edit годится, а в Мемо не всегда string есть. Там может быть несколько строчек.
Mr.Smart
долгожитель
Сообщения: 1796
Зарегистрирован: 29.03.2008 00:01:11
Откуда: из леса!

Сообщение Mr.Smart »

GAMER писал(а):
VirtUX писал(а):Я делал "логи" таким способом:
TLogFile = record
RDateTime: TDateTime;
RCom: string;
end;

var
f: file of TLogFile;

Для Edit годится, а в Мемо не всегда string есть. Там может быть несколько строчек.

Добавь поле с позицией
Ближние строки склеивай
Аватара пользователя
GAMER
энтузиаст
Сообщения: 627
Зарегистрирован: 06.08.2008 13:41:07
Откуда: Ужгород-Днепр, Украина
Контактная информация:

Сообщение GAMER »

Решил сохранять Мемо в ячейки СтрингГрид, а сам СтрингГрид сохраняю в файл. Перемещение по истории - перемещение по ячейкам. Один минус (или я что-то не понял) - файл не хранит количество ячеек СтрингГрида.
Аватара пользователя
GAMER
энтузиаст
Сообщения: 627
Зарегистрирован: 06.08.2008 13:41:07
Откуда: Ужгород-Днепр, Украина
Контактная информация:

Сообщение GAMER »

Результат трудов можно посмотреть здесь: http://www.freepascal.ru/forum/viewtopic.php?f=10&t=3868
Ответить