Прошу совета.
Есть Мемо на форме. Нужно в файле хранить историю того, что там набиралось. Подскажите как лучше.
Текстовый не совсем подходит, ибо само Мемо может состоять из отдельных строк.
			
		Модератор: Модераторы

GAMER писал(а):Текстовый не совсем подходит

Vadim писал(а):GAMER писал(а):Текстовый не совсем подходит
А какой подходит, графический?

TMemo.Lines.SaveToFile();type
 TRecord = record
   byte: array[0..255] of Char;
 end;
var 
 j: Integer;
 D: TRecord;
 s: TFileStream;
begin
  s:=TFileStream.Create('Имя файла',fmCreate);
  for j:=0 to Memo.Lines.Count-1 do
   begin
    FillByte(D,SizeOf(D),0);
    D.byte:=Copy(Memo.Lines[j],1,255);
    s.Write(D,SizeOf(D));
   end;
  s.Free;
end;


Brainenjii писал(а):не, как я понял - нужно сохранять не всё мемо, а только то что изменилось ^_^ В смысле, чтобы можно было определить - какие куски memo когда изменялись ^_^
 Дело то не в конкретном сохранении тогда....
 Дело то не в конкретном сохранении тогда....
Vadim писал(а):Тогда пусть вопросивший расскажет свою конкретную проблему, потому что тип файла - это уже армянское радио.

GAMER писал(а):Хочу продемонстрировать клиент для работы с MySQL
 Нет ничего проще.
 Нет ничего проще.Vadim писал(а):GAMER писал(а):Хочу продемонстрировать клиент для работы с MySQL
Ну так бы сразу и сказали.Нет ничего проще.
Создайте дополнительную таблицу с двумя полями - datetime и varchar (или blob). Datetime сделаете со значением по умолчанию как текущие дата-время. При каждом выполнении блока команд добавляете их в поле таблицы varchar.

[ЗДЕСЬ_ДАТА_И_ВРЕМЯ]
cmd1="строка1"
cmd2="строка2"
cmd3="строка3"
[ЗДЕСЬ_ДАТА_И_ВРЕМЯ_2]
cmd1="строка4"
cmd2="строка5"
cmd3="строка6"

var
  ini:TiniFile;
...
// пишем в файл
// 'General', 'Studs' это блоки/секции (то что в [])
// Fdatabase, Ffacf строковые переменные
// 'Database', 'FacultyFilter' ключи
  Ini := TIniFile.Create(ChangeFileExt(Application.ExeName,'.ini'));
  try
    ini.WriteString('General','Database',Fdatabase);
    ini.WriteString('Studs','FacultyFilter',Ffacf);
    ini.WriteString('Studs','SpecFilter',Fspecf);
  finally
    Ini.Free;
  end;
// читаем
  Ini := TIniFile.Create(ChangeFileExt(Application.ExeName,'.ini'));
  try
    Fdatabase:=ini.ReadString('General','Database','');
    Ffacf:=ini.ReadString('Studs','FacultyFilter','');
    Fspecf:=ini.ReadString('Studs','SpecFilter','');
  finally
    Ini.Free;
  end;
GAMER писал(а):И не все сервера дают разрешение на создание таблиц.

GAMER писал(а):Примерчик для Tinifile не завалялся случайно?
Сейчас этот форум просматривают: Google [Bot] и гости: 1